本篇文章讲述响应的处理,关于请求的处理能够看我第一篇文章
连接地址:https://segmentfault.com/a/11...html
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>mvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:ApplicationContext.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>mvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
<?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:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 开启spring注解驱动--> <context:component-scan base-package="com.cjh"/> <!-- 开启mvc注解驱动--> <mvc:annotation-driven></mvc:annotation-driven> </beans>
原生的Servlet处理有直接采用response获取输出流直接响应会给浏览器,经过request转发或者重定向三种方式,如今使用spring-mvc进行响应的处理java
@Controller public class UserController { //方法中传入实体对象:对象里面有list集合 @RequestMapping("test.do") public String testFive(User user){ System.out.println(user); return "redirect:welcome.jsp"; } }
Model、ModelMap和ModelAndView的区别web
ModelAndView中有两个重要的属性:spring
代码以下:segmentfault
<%@ page contentType="text/html; charset=UTF-8" language="java" %> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>cai jin hong</title> </head> <body> <form action="test.do" method="post"> account:<input type="text" name="account" value=""><br> password:<input type="text" name="password" value=""><br> balance:<input type="text" name="balance" value=""><br> address1:<input type="text" name="addressList[0].address" value=""><br> address2:<input type="text" name="addressList[1].address" value=""><br> <input type="submit" value="submit"> </form></body> </html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> param:welcome,${param.account}<br> requestScope:welcome,${requestScope.account}<br> </body> </html>
@Controller public class UserController { //方法中传入实体对象:对象里面有list集合 @RequestMapping("test.do") public ModelAndView testFive(User user){ //建立ModelAndView对象 ModelAndView mv = new ModelAndView(); //设置返回的参数 mv.addObject("account", user.getAccount()); mv.addObject("password", user.getBalance()); //设置返回路径 mv.setViewName("welcome.jsp"); return mv; } }
@Controller @SessionAttributes("account") public class UserController { //方法中传入实体对象:对象里面有list集合 @RequestMapping("test.do") public ModelAndView testFive(User user){ //建立ModelAndView对象 ModelAndView mv = new ModelAndView(); //设置返回的参数 mv.addObject("account", user.getAccount()); mv.addObject("password", user.getBalance()); //设置返回路径 mv.setViewName("welcome.jsp"); return mv; } }