modelandview

SpringMVC的流程

放肆的年华 提交于 2020-03-17 06:56:46
起点:tomcat调用FrameworkServlet的service(ServletRequest req, ServletResponse res)方法: 1)FrameworkServlet的service(ServletRequest req, ServletResponse res) 方法转到2) 2)HttpServlet的service(ServletRequest req, ServletResponse res) 方法转到3) 3)FrameworkServlet的doGet(HttpServletRequest request, HttpServletResponse response) 方法转到4) 4)FrameworkServlet的processRequest(HttpServletRequest request, HttpServletResponse response) 方法转到5) 5)DispatcherServlet的doService(HttpServletRequest request, HttpServletResponse response) 方法转到6) 6) DispatcherServlet的doDispatch(HttpServletRequest request, HttpServletResponse response) /

SpringMVC学习(三)

泄露秘密 提交于 2020-03-16 17:53:37
转发 无视图解析器 @RequestMapping("/t2") public String test2(){ return "/WEB-INF/views/test.jsp"; } @RequestMapping("/t2") public String test2(){ return "forward:/WEB-INF/views/test.jsp"; } 有视图解析器 return:默认转发 @RequestMapping("/t2") public String test2(){ return "test"; } 重定向 重定向不需要视图解析器,本质就是重新请求一个新东方,所以只需要注意路径问题! 可以重定向到另外一个请求实现; @RequestMapping("/t4") public String test4(){ return "redirect:/index.jsp"; } 数据处理 处理提交数据 1、提交的域名称和处理方法的参数名一致 提交数据: http://localhost:8080/hello?name=zhangsan 处理方法: @RequestMapping("/param") public String test(String name){ System.out.println(name); return "hello"; } 2

【java框架】SpringMVC(3)--SpringMVC控制器常用业务操作

≯℡__Kan透↙ 提交于 2020-03-15 23:23:48
1. SpringMVC控制器业务操作 在SpringMVC第二节中我们了解到mvc控制器处理页面url请求返回响应视图,除了这些操作外,控制器还需要处理更重要的业务,如:接收前台页面传递的参数、绑定数据到页面、返回json数据、文件上传、文件下载等业务操作。 1.1.参数接收 1.1.1. 配置请求编码过滤器 SpringMVC框架本身没有处理请求编码,在前台参数接收Post请求的时候,可能会出现编码乱码的问题,而Spring框架为我们提供了一个请求编码过滤器,我们只需要在web.xml中配置一个请求编码过滤器即可: web.xml中配置UTF-8编码如下: <?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"> <!--配置post请求编码乱码处理过滤器--> <filter> <filter-name

SpringMVC工作原理

二次信任 提交于 2020-03-15 20:35:31
转自: 平凡希 老师 https://www.cnblogs.com/xiaoxi/ SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、 DispatcherServlet调用HandlerAdapter处理器适配器。 5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。 6、 Controller执行完成返回ModelAndView。 7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。 8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。 9、 ViewReslover解析后返回具体View。 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。 11、 DispatcherServlet响应用户。 组件说明:

SpringMVC执行原理

六眼飞鱼酱① 提交于 2020-03-15 18:05:44
执行原理 1、使用配置的方式编写程序 之前我们使用注解的方式,现在使用配置的方式! 1、创建maven项目 2、导入依赖 3、编写web.xml 注册DispatcherServlet(和之前一样) 4、编写配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd> 5、添加处理映射器 <bean id="beanNameUrlHandlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> 6、添加处理适配器 <bean id="simpleControllerHandlerAdapter" class="org.springframework.web

【java框架】SpringMVC(2)--SpringMVC实现Controller方式

。_饼干妹妹 提交于 2020-03-15 02:14:37
1. SpringMVC的Controller实现方式 SpringMVC实现Controller的方式主要有 控制器实现方式 与 全注解实现方式 ,其中 全注解实现方式 是当前项目中比较常用的一种方式。 1.1.控制器实现方式 1.1.1. 实现Controller接口 创建一个类实现Controller接口: /** * 实现Controller方式一: * 实现一个Controller接口,实现handleRequest方法 * 并且在Springmvc的配置文件中配置这个bean,指定Demo1Controller的访问路径 */ public class Demo1Controller implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception { System.out.println("进入demo1Controller视图Model实现方式..."); //创建ModelAndView对象 ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("/WEB

springmvc(一) springmvc框架原理分析和简单入门程序

China☆狼群 提交于 2020-03-11 10:16:35
      springmvc这个框架真的非常简单,感觉比struts2还更简单,好好沉淀下来学习~                       --WH 一、什么是springmvc?       我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交道,而前面刚写的mybatis跟hibernate一样,与数据库打交道在dao层的另一个框架,而今天所要讲解的springmvc是在web层的另一个框架。       springmvc全名是spring web mvc,springmvc是spring的一个模块,并且看名字即可知道,springmvc是一个基于mvc设计模式的前端web框架。       mvc:m(model模型)、v(view视图)、c(control控制)       mvc的运用概念图            二、springmvc的入门程序       通过这个来快速了解springmvc大概的开发流程,其实通过上面的mvc分析图,差不多就知道了如何开发了。重点就是三步。         1、在web.xml中配置一个serlvet,用来控制,         2、编写一个handler(controller)类,用来做业务处理。       

SpringMVC的执行流程

最后都变了- 提交于 2020-03-09 20:01:37
SpringMVC的执行流程 如上图,Spring MVC 程序的完整执行流程如下: 用户通过浏览器发送请求,请求会被 Spring MVC 的前端控制器 DispatcherServler 接受。 DispatcherServlet 拦截到请求后,会调用 HandlerMapping 处理器映射器。 处理器映射器根据请求 URL 找到具体的处理器,生成处理器对象(如果有,还会生成拦截器对象)并返回给 DispatcherServlet。 DispatcherServlet 根据返回信息(Handler)选择合适的处理器适配器(HandlerAdapter)。 HandlerAdapter 会调用并指定 Handler(处理器)。此处和上述所说的处理器 Handler,就是我们所编写的 Controller 类。 Controller 执行完成后,会返回一个 ModelAndView 对象,该对象中会包含视图名和模型对象。 HandlerAdapter 将 ModelAndView 返回给 DispatcherServlet。 DispatcherServlet 会根据返回信息(ModelAndView)选择一个合适的视图解析器:ViewResolver。 视图解析器 ViewResolver 解析视图后,会向 DispatcherServlet 返回具体的 View 对象。

关于SpringMVC中的modelAndView的流程

夙愿已清 提交于 2020-03-09 08:11:57
SpringMVC中的modelAndView的运行流程 1.补充一下,@SessionAttribute 注意这里是:注解放在的地方是类的上面 /** * @SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外(实际上使用的是 value 属性值), * 还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中(实际上使用的是 types 属性值) * * 注意: 该注解只能放在类的上面. 而不能修饰放方法. */ @RequestMapping("/testSessionAttributes") public String testSessionAttributes(Map<String,Object> map,String name) { System.out.println("testSessionAttributes"); User user=new User(1, "liusir"); map.put("user", user); map.put("name", "LIUSIR"); return SUCCESS; } @ModekAttribute的使用方法 注意这样的需求,如果你在修改一条用户信息的时候,不修改用户的名字,只是修改其他信息的话,那么在表单中不需要去填写,用户名字。只需要填写修改的部分。 下面是运行流程的分析。 /** *

SpringMVC——HelloSpringMVC

…衆ロ難τιáo~ 提交于 2020-03-08 20:29:11
SpringMVC 轻量级,高效,基于请求响应的MVC框架 特点:约定大于配置,简洁灵活 功能强大:RESTful、数据验证、格式化、本地化、主题等 helloSpringMVC 首先把DispatcherServlet配置到web.xml中: <?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"> <!--配置DispatcherServlet:这个是SpringMVC的核心--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--DispatcherServlet要绑定Spring的配置文件--