1. spring mvc 初识

来源:互联网 发布:mac关闭打开的程序 编辑:程序博客网 时间:2024/04/29 06:22

MVC 是什么?

 

 

1. 概述
Spring mvc  框架围绕DispatchServlet 这个核心展开,DispatchServlet 是Spring mvc 的总导演
总策划,它负责截获请求并将其分派给相应的处理器处理。Spring mvc框架包括注解驱动控制器、请求
及响应的信息处理、视图解析、本地化解析、上传文件解析、异常处理以及表单标签绑定等内容。
2. Web.xml文件中要做如下配置:

 

<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/xxx-servlet.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><servlet><servlet-name>servletname</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>2</load-on-startup></servlet>

 3. 大概流程

Spring mvc 是基于Model2 实现的框架,所以它的底层的机制也是MVC。在整个框架中DispatcherServlet处于核心的位置,它负责协调和组织不同的组件以完成请求处理并返回响应的工作。和大多数WEB MVC框架一样,Spring MVC 通过一个前端Servlet接收所有的请求,并将具体工作委托给其他组件进处处理,DispatcherServlet就是Spring MVC的前端Servlet.

  1. 整个过程始于客户端发出一个HTTP请求,WEB应用服务器接收到这个请求,如果匹配DispatcherServlet的请求映射路径(web.xml中指定)WEB容器将该请求转交给DispatcherServlet处理
  2. DispatcherServlet接收到这个请求后,将根据请求的信息(包括URL,HTTP方法、请求报文头、请求参数、Cookie等)及HandlerMapping的配置找到处理请求的处理器(Handler.可将HandlerMapping 看成路由控制器,将Handler看成目标主机。注意:Spring MVC 中没有定义一个Handler接口,实际上任何一个Object 都可以成为请求处理器。
  3. HandlerAdapter Handlerf进行封装,再以统一的适配器接口调用Handler.HandlerAdapterSpring MVC的框架级接口,它用统一的接口对各种Handler方法进行调用。
  4. 处理器完业务逻辑的处理后将返回一个ModelAndViewDispatcherServlet,ModelAndView包含了视图逻辑名和模型数据信息
  5. ModelAndView中包含的是“视图逻辑名”而非真正的视图对象,DispatcherServlet借由ViewResolver完逻辑视图名到真正视图对象【视图对象,是什么呢?】的解析工作。
  6. 当得到真正的视图对象View后,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染。
  7. 最终客户端得到的响应消息,可能是一个普通的HTML页面,也可能是一个XMLJSON串,甚至是一张图片或一个PDF文档等不同的媒体形式。

 

 

 

参考:《Spring3.X企业应用开发实战》 陈雄华  林开雄 著  【电子工业出版社】