1、web.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
 3   <display-name>springmvc1</display-name>
 4   
 5   <filter>
 6     <filter-name>characterEncoding</filter-name>
 7     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 8     <init-param>
 9       <param-name>encoding</param-name>
10       <param-value>UTF-8</param-value>
11     </init-param>
12   </filter>
13   <filter-mapping>
14     <filter-name>characterEncoding</filter-name>
15     <url-pattern>/*</url-pattern>
16   </filter-mapping>
17   
18   <servlet>
19     <servlet-name>springmvc</servlet-name>
20     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
21     <init-param>
22       <param-name>contextConfigLocation</param-name>
23       <param-value>classpath:springmvc.xml</param-value>
24     </init-param>
25   </servlet>
26   <servlet-mapping>
27     <servlet-name>springmvc</servlet-name>
28     <url-pattern>*.do</url-pattern>
29   </servlet-mapping>
30   
31   <welcome-file-list>
32     <welcome-file>index.html</welcome-file>
33     <welcome-file>index.htm</welcome-file>
34     <welcome-file>index.jsp</welcome-file>
35     <welcome-file>default.html</welcome-file>
36     <welcome-file>default.htm</welcome-file>
37     <welcome-file>default.jsp</welcome-file>
38   </welcome-file-list>
39   
40 </web-app>

2、springmvc.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:mvc="http://www.springframework.org/schema/mvc"
 4     xmlns:aop="http://www.springframework.org/schema/aop" 
 5     xmlns:tx="http://www.springframework.org/schema/tx"
 6     xmlns:context="http://www.springframework.org/schema/context"
 7     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 8     xsi:schemaLocation="http://www.springframework.org/schema/beans 
 9                         http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
10                         http://www.springframework.org/schema/mvc 
11                         http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
12                         http://www.springframework.org/schema/context 
13                         http://www.springframework.org/schema/context/spring-context-3.2.xsd 
14                         http://www.springframework.org/schema/aop 
15                         http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
16                         http://www.springframework.org/schema/tx 
17                         http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
18                         
19         <!-- 把Controller交给spring管理 -->
20         <context:component-scan base-package="com.xiaostudy"/>
21         
22         <!-- 配置注解处理器映射器 功能:寻找执行类Controller -->
23         <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
24         
25         <!-- 配置注解处理器适配器 功能:调用controller方法,执行controller -->
26         <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
27         
28         <!-- 配置sprigmvc视图解析器:解析逻辑试图 
29              后台返回逻辑试图:index
30             视图解析器解析出真正物理视图:前缀+逻辑试图+后缀====/WEB-INF/index.jsp -->
31         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
32             <property name="prefix" value="/WEB-INF/"/>
33             <property name="suffix" value=".jsp"/>        
34         </bean>
35 </beans>

3、domain类

 1 package com.xiaostudy.domain;
 2 
 3 public class User {
 4 
 5     private int id;
 6     private String username;
 7     private String password;
 8     private int age;
 9 
10     public int getId() {
11         return id;
12     }
13 
14     public void setId(int id) {
15         this.id = id;
16     }
17 
18     public String getUsername() {
19         return username;
20     }
21 
22     public void setUsername(String username) {
23         this.username = username;
24     }
25 
26     public String getPassword() {
27         return password;
28     }
29 
30     public void setPassword(String password) {
31         this.password = password;
32     }
33 
34     public int getAge() {
35         return age;
36     }
37 
38     public void setAge(int age) {
39         this.age = age;
40     }
41 
42     @Override
43     public String toString() {
44         return "User [id=" + id + ", username=" + username + ", password=" + password + ", age=" + age + "]";
45     }
46 
47 }

4、封装domain类

 1 package com.xiaostudy.controller;
 2 
 3 import com.xiaostudy.domain.User;
 4 
 5 public class CustomUser {
 6 
 7     private User user;
 8 
 9     public User getUser() {
10         return user;
11     }
12 
13     public void setUser(User user) {
14         this.user = user;
15     }
16 
17     @Override
18     public String toString() {
19         return "CustomUser [user=" + user + "]";
20     }
21 
22 }

5、注解类

 1 package com.xiaostudy.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.RequestMethod;
 6 
 7 import com.xiaostudy.domain.User;
 8 
 9 @Controller//<bean class="com.xiaostudy.controller.MyController"/>
10 @RequestMapping(value="/myController")//访问该类的方法时,前面多这样一个路径
11 public class MyController {
12     
13 //    @RequestMapping("hello")//http://localhost:8080/demo2/hello.do
14 //    @RequestMapping("/hello")//http://localhost:8080/demo2/hello.do
15 //    @RequestMapping(value="/hello.do")//http://localhost:8080/demo2/hello.do
16 //    @RequestMapping(value="/hello.do",method=RequestMethod.GET)//http://localhost:8080/demo2/hello.do
17 //    @RequestMapping(value="/hello.do",method= {RequestMethod.GET,RequestMethod.POST})//http://localhost:8080/demo2/hello.do
18     public String print() {
19         return "index";
20     }
21     
22     @RequestMapping("hi")//http://localhost:8080/demo2/myController/hi.do
23     public String hello() {
24         return "index";
25     }
26     
27     @RequestMapping("requestint")//http://localhost:8080/demo2/myController/requestint.do
28     public String requestint(int id) {
29         System.out.println(id);
30         return "index";
31     }
32     
33     @RequestMapping("requestint2")//http://localhost:8080/demo2/myController/requestint2.do
34     public String requestint2(int id, int i) {
35         System.out.println(id + "   " + i);
36         return "index";
37     }
38     
39     @RequestMapping("requestint3")//http://localhost:8080/demo2/myController/requestint3.do
40     public String requestint3(User user) {
41         System.out.println(user);
42         return "index";
43     }
44     
45     @RequestMapping("requestint4")//http://localhost:8080/demo2/myController/requestint4.do
46     public String requestint4(CustomUser customUser) {
47         System.out.println(customUser);
48         return "index";
49     }
50     
51     @RequestMapping("xiaostudy")//http://localhost:8080/demo2/myController/hi.do
52     public String add() {
53         return "xiaostudy";
54     }
55 
56 }

6、填写表单数据的xiaostudy.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
 3             "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7     <title>springMVC_demo</title>
 8 </head>
 9 <body>
10     <form action="${pageContext.request.contextPath }/myController/requestint.do">
11         <fieldset>
12             <legend>单独一个参数</legend>
13             <input type="text" name="id" id="id"/>
14             <input type="submit" value="提交">
15         </fieldset>
16     </form>
17     
18     <form action="${pageContext.request.contextPath }/myController/requestint2.do">
19         <fieldset>
20             <legend>两个参数</legend>
21             <input type="text" name="i" id="i"/>
22             <input type="text" name="id" id="id"/>
23             <input type="submit" value="提交">
24         </fieldset>
25     </form>
26     
27     <form action="${pageContext.request.contextPath }/myController/requestint3.do">
28         <fieldset>
29             <legend>参数为一个对象</legend>
30             <input type="text" name="id" id="id"/>
31             <input type="text" name="username" id="username"/>
32             <input type="password" name="password" id="password"/>
33             <input type="text" name="age" id="age"/>
34             <input type="submit" value="提交">
35         </fieldset>
36     </form>
37     
38     <form action="${pageContext.request.contextPath }/myController/requestint4.do">
39         <fieldset>
40             <legend>参数为一个封装对象</legend>
41             <input type="text" name="user.id" id="id"/>
42             <input type="text" name="user.username" id="username"/>
43             <input type="password" name="user.password" id="password"/>
44             <input type="text" name="user.age" id="age"/>
45             <input type="submit" value="提交">
46         </fieldset>
47     </form>
48 </body>
49 </html>

7、跳转的index.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
 3             "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7     <title>springMVC_demo</title>
 8 </head>
 9 <body>
10     xiaostudy
11 </body>
12 </html>

项目文件结构