spring学习日志之七 SpringMVC

来源:互联网 发布:迅雷赚钱宝 知乎 编辑:程序博客网 时间:2024/06/02 21:32

1,SpringMVC概述

SpringMVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet负责截获请求并将其分派给相应的处理器处理。

2,SpringMVC处理请求的流程

1)       整个过程始于客户端发送一个HTTP请求,Web应用服务器接收到这个请求后,如果匹配DispatcherServlet的请求映射路径,Web容器将该请求转交给DispatcherServlet处理。

2)       DispatcherServlet接收到这个请求后,将根据请求的信息(包括URL、HTTP方法、请求报文头、请求参数、Cookie等)以及HandlerMapping(路由控制节点)的配置找到处理请求的处理器(Handler)。

3)       当DispatcherServlet根据HandlerMapping得到对应当前请求的Handler后,通过HandlerAdapter对Handler进行封装,再以统一的适配器接口调用Handler。

4)       处理器完成业务逻辑的处理后会返回一个ModelAndView(包含视图逻辑名和模型数据信息)给DispatcherServlet。

5)       ModelAndView中的逻辑视图不是真正的视图对象,DispatcherServlet借由ViewResolver中的模型数据进行视图渲染。

6)       当得到真实视图对象View后,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染。

7)       最终客户端得到的响应信息,可能是一个普通HTML页面或者JSON数组之类

3,过滤器(Filter)和SpringMVC拦截器的对比

名称

使用范围

规范

使用的资源

深度

Java过滤器Filter

是Servlet的规范规定的,只能用于Web程序中

是Servlet规范中定义的,是Servlet容器支持的

Fliter只能过滤一下请求的东西

只在Servlet前后起作用

SpringMVC的拦截器

既可以用于Web程序,也可以用于Application、Swing程序中

是Spring容器内的,是Spring框架支持的

是Spring的组件,可以使用Spring里面的任何资源。对象

能够深入到方法前后、异常抛出前后,具有更大的弹性

 

0 0
原创粉丝点击