乐趣区

关于java: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 响应用户。

Spring MVC 的五大组件?

  1. DispatcherServlet:前端控制器,用于接管所有申请,会将申请分发给不同的的 Controller 组件进行解决;
  2. HandlerMapping:记录了申请门路与解决申请的 Controller 对应关系;
  3. Controller:理论解决申请的控制器,在一个我的项目中,会存在若干个 Controller 组件;
  4. ModelAndView:控制器解决申请后失去的后果,其中包含 Model(数据)和 View(视图名称);
  5. ViewResolver:视图解析器,能够依据视图名称确定具体应用的视图组件。
SpringMVC 怎么样设定重定向和转发的?
  • 在返回值后面加 ”forward:” 就能够让后果 转发,eg: “forward:user.do?name=method4”
  • 在返回值后面加 ”redirect:” 就能够让返回值 重定向,eg: “redirect:http://www.baidu.com”

SpringMVC 框架的总结

· 了解 SpringMVC 框架的作用:在编码方面次要解决了接管申请、给予响应的问题,在运行方面,解决了 Servlet 对象太多的问题;

· 了解 SpringMVC 外围执行流程(参考流程图);

· 理解在 web.xml 中对于 DispatcherServlet 的配置,次要意识可能调整的地位:Spring 配置文件的地位,映射的申请门路;

· 把握创立控制器:控制器类必须在组件扫描的包或其子孙包中,控制器类必须增加 @Controller 注解;

· 把握自定义办法解决申请:在办法之前增加 @RequestMapping 绑定申请门路,办法应该是 public 权限的,应用 String 作为返回值时示意解决实现后将转发或重定向,转发时的取值是视图名称,重定向时必须应用 redirect: 作为前缀加上指标门路,办法的名称能够自定义,办法的参数列表能够按需增加;

· 理解在 spring.xml 对于视图解析器的一系列配置,次要包含:应用 Thymeleaf 解决视图时的模版解析器的前缀与后缀的配置;

· 把握获取申请参数的做法:能够将申请参数增加在解决申请的办法的参数列表中,也能够将申请参数封装到自定义的对象中;

· 把握封装转发数据的做法;

· 了解转发与重定向的区别;

· 把握应用 Session;

· 把握拦截器 (Interceptor) 的应用;

· 了解拦截器与过滤器的区别;

· 了解 @RequestMapping 注解的应用。

退出移动版