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>
项目文件结构