springmvc 1

springmvc的model是实体类,可以理解为把数据库里的一张表变成了一个对象

/*** */
package com.test.model;/*** @ClassName:     User.java* @Description:   TODO(用一句话描述该文件做什么) * * @author         JerryZhou* @Date           2014-7-15 上午10:24:04 */
public class User {public int id;public String name;public String sex;/*** @return the id*/public int getId() {return id;}/*** @param id the id to set*/public void setId(int id) {this.id = id;}/*** @return the name*/public String getName() {return name;}/*** @param name the name to set*/public void setName(String name) {this.name = name;}/*** @return the sex*/public String getSex() {return sex;}/*** @param sex the sex to set*/public void setSex(String sex) {this.sex = sex;}}

controller控制器,把model里的对象拿来,进行一些动作

/*** */
package com.test.controller;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;import com.test.model.User;/*** @ClassName:     HelloWorldController.java* @Description:   TODO(用一句话描述该文件做什么) * * @author         JerryZhou* @Date           2014-7-14 下午5:54:46 */
public class HelloWorldController extends MultiActionController{// http://localhost:8080/SpringMVCTest/hellowlrldpublic ModelAndView handleRequest(HttpServletRequest arg0,HttpServletResponse arg1) throws Exception {     User user = new User();user.setId(1);user.setName("Test");user.setSex("男");List<User> usrst = new ArrayList<User>();User user1 = new User();user1.setId(2);user1.setName("张三");user1.setSex("男");usrst.add(user1);User user2 = new User();user2.setId(3);user2.setName("李四");user2.setSex("女");usrst.add(user2);User user3 = new User();user3.setId(4);user3.setName("王五");user3.setSex("男");usrst.add(user3);Map<String, Object> model =new HashMap<String, Object>();model.put("usrst", usrst);ModelAndView mv = new ModelAndView();mv.addObject(user);mv.addAllObjects(model);mv.setViewName("welcome");return mv;}}

然后就是视图层

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body>Welcome ${user.name} <br><br>Welcome ${user.sex} <br><br>User List<br/><br><table border=""><tr><td>序号</td><td>编号</td><td>名称</td><td>性别</td></tr><c:forEach items="${usrst }" var="usr" varStatus="status"><tr><td>${status.index + 1 }</td><td>${usr.id }</td><td>${usr.name }</td><td>${usr.sex }</td></tr></c:forEach></table></body>
</html>

从请求地址(控制器->model;控制器->view)到输出,这个规则是路由定制的,配置文件是这样的

<?xml version="1.0" encoding="UTF-8"?>  <beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:p="http://www.springframework.org/schema/p"  xmlns:mvc="http://www.springframework.org/schema/mvc"  xmlns:context="http://www.springframework.org/schema/context"  xmlns:util="http://www.springframework.org/schema/util"  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd  http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">  <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean>

     <bean name="/hellowlrld" class="com.test.controller.HelloWorldController"></bean> (重要)



</beans>

xml里控制了访问(当访问url/hellowlrld时,请求com.test.controller.HelloWorldController这个控制器)

 

一个user的表,里面有id,name,sex。。。映射成面向对象(表即对象,字段即属性)

 

控制器使用这个对象(即操作这个表)

 

new一个user对象

为id赋值为1

为name赋值为test

为sex赋值为男

 

new一个list对象,并把user放list里,变成一个数组(?。。。。)

new一个user对象

为id赋值为2

为name赋值为张三

。。。

 

。。。。

。。。。

 

mv.setViewName("welcome");

最后去welcome.jsp这个页面

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android java adb命令大全,Android adb命令备份恢复手机信息

假设你已经在Windows下安装了Android SDK&#xff0c;并且更新到最新版步骤&#xff1a;1.通过USB连接你的设备&#xff0c;打开命令行2.一般地&#xff0c;输入”adb devices“检测设备是否连接正常有个命令“ adb backup”(简化写法)可以使你备份整个系统。这个命令的参数如下…

【HDOJ】【3037】Saving Beans

排列组合 啊……这题是要求c(n-1,0)c(n,1)c(n1,2)......c(nm-1,m) 这个玩意……其实就等于c(nm,m) 好吧然后就是模P……Lucas大法好 我SB地去预处理<P的所有fac和inv了……果断TLE 事实上Lucas时对于<P的部分直接暴力算就好了 1 //HDOJ 30372 #include<cstdio>3 #…

php远程下载文件

<?php /* 本源码来源于网络 http://user.qzone.qq.com/292672703 */ header("content-Type: text/html; charsetutf-8"); //定义编码 set_time_limit (0);//不限时 24 * 60 * 60 //语言包数组 $lang_cn array (0 > 文件地址,1 > 输入密码,2 > 下载耗…

linux 下安装部署mq,RocketMQ在linux下安装部署

本博客以当前RocketMQ最新版介绍&#xff1a;v4.4.0环境要求64位JDK 1.8;Maven 3.2.x; // 源码编译时需要用到二进制文件安装> unzip rocketmq-all-4.4.0-bin-release.zip && mv rocketmq-all-4.4.0-bin-release rocketmq启动server> cd /root/rocketmq> nohu…

一个典型的参数型跨站脚本漏洞

拿百度主页曾经的一个XSS做个演示&#xff0c;这个漏洞是由于百度主页tn和bar参数过滤不严导致的参数型XSS&#xff1a;http://www.baidu.com/index.php?tn"/**/stylexss:expression(alert(‘xss‘)); http://www.baidu.com/index.php?bar"/**/stylexss:expressio…

java 常用工具类的使用一

1. Java工具概述 很多人初学程序时&#xff0c;总是在想&#xff0c;那么多的算法该怎么写呀&#xff1f;那么多的数据结构都不熟悉&#xff0c;该怎么实现呀&#xff1f;总是担心英语不好程序学不精通&#xff0c;数学不好写程序无法达到巅峰。学的程序越多&#xff0c;不懂的…

android http最新框架,Android框架学习笔记02AndroidAsycHttp框架

上一篇中我们介绍了OkHttp3.0框架的基本使用方法&#xff0c;这一篇我们学习一下Android的另外一个网络请求框架——AsyncHttpClient框架。Asynchttpclient框架是一个开源的异步网络请求框架&#xff0c;所有的网络都在Android的非UI线程中&#xff0c;通过回调方法处理请求结果…

C# 读取app.config配置文件 节点键值,提示 配置系统未能初始化 错误的解决方案...

新建C#项目&#xff0c;在app.config中添加了appSettings项&#xff0c;运行时出现"配置系统未能初始化"的错误&#xff0c;MSDN里写到&#xff0c;如果配置文件中包含 configSections 元素&#xff0c;则 configSections 元素必须是 configuration 元素的第一个子元…

miui12 android系统耗电,miui12耗电严重怎么办,miui12续航优化方法

很多小米用户反馈升级到miui12稳定版后耗电大大增加&#xff01;再大的电池也经不住miui12的耗电&#xff01;那么miui12耗电严重怎么办&#xff1f;miui12续航优化的方法呢&#xff1f;一起和XDA小编看看吧&#xff01;近日&#xff0c;有网友对此提供了优化miui12耗电的方法&…

Linux下 执行程序

看到有人问Linux下的./表示什么意思&#xff0c;我就趁机在这里写一下个人愚见&#xff1a; ./的意思是执行当前目录下的某可执行文件. . /相当于 source 根目录下的一个脚本. 转载于:https://www.cnblogs.com/zuiyirenjian/p/4299322.html

r6400 usb android,网件R6400路由器USB接口速率测试与总结

网件R6400路由器USB接口速率测试测试中使用的是浦科特M6V 256GB固态硬盘搭配USB3.0硬盘盒进行测试&#xff0c;此外由于无线网络速率有一定的波动&#xff0c;对最终测试成绩测试成绩有较大的影响&#xff0c;因此我们使用网速相对稳定的千兆有线网络连接路由器进行测试。首先我…

只用2000行代码实现google protocol buffer c++版的功能

2019独角兽企业重金招聘Python工程师标准>>> google protocol buffer (下面简称gpb)功能强大&#xff0c;应用广泛&#xff0c;但在实际应用中&#xff0c;gpb需要写.proto脚本文件&#xff0c;需要依赖.lib库&#xff0c;还需要为每个消息体生成一大堆难以阅读的C代…

thinkphp 获取客户端ip地址方法

/*** 获取客户端IP地址* param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字* param boolean $adv 是否进行高级模式获取&#xff08;有可能被伪装&#xff09; * return mixed*/ function get_client_ip($type 0,$advfalse) {$type $type ? 1 : 0;stati…

android:layout 冒号,android-json解析及简单例子(补汉6个汉字字).pdf

android json 解析及简单例子JSON 的定义&#xff1a;一 种轻量级的数据交换格式&#xff0c;具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 &#xff0c;获得了当今大部分语言的 支持)&#xff0c;从而可以在不同平台间进行…

流控思路——多消费者定量生产(第100篇)

为什么80%的码农都做不了架构师&#xff1f;>>> 多线程消费队列到指定个数时触发一个生产线程往队列中补充元素&#xff0c;保证队列中有足够的数据供消费&#xff0c;不至于使消费线程等待&#xff0c;也不至于在队列中堆得过多。假设10人消费&#xff0c;先放2个…

Unicode(UTF-8, UTF-16)令人混淆的概念

Unicode(UTF-8, UTF-16)令人混淆的概念 为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东…

android优化最强软件,七款安卓手机优化软件推荐 为手机提速

启动项管理器设置七款安卓手机优化软件推荐 超频工具OverClock Widget希望提高手机运行速度&#xff0c;只是更改开机启动项是不够的&#xff0c;其实我们还可以通过超频让手机的运行速度飞起来。超频降频工具OverClock Widget是一款能对CPU进行超频或降频的桌面小部件&#xf…

UVA 10570 Meeting with Aliens

题意&#xff1a; N个外星人围成一桌坐下&#xff0c;有序的排列指N在N-1与N1中间&#xff0c;现在给出一个序列&#xff0c;问至少交换几次可以得到有序的序列。 分析&#xff1a; 复制一遍输入序列&#xff0c;放在原序列之后。相当于环。通过枚举&#xff0c;可以把最小交换…

【转】Android 4.3源码的下载和编译环境的安装及编译

原文网址&#xff1a;http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html 告诉windows用户一个不好的消息&#xff0c;windows环境下没法编译android源码。用cygwin&#xff1f;不行&#xff0c;因为cygwin模拟的环境太简单&#xff0c;编译android源码需要好多工…

android关机分区卸载,Android关机重启流程(二)

一、回顾先回顾下上部分得分析&#xff0c;从最开始的PM.reboot()&#xff0c;经过层层调用&#xff0c;最终调用SystemProperties.set(“sys.powerctl”, “reboot,” reason);二、重启流程aosp/system/core/init/property_service.cppaosp/system/core/init/reboot.cppaosp/…