1. spring mvc 初识

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企业应用开发实战》 陈雄华  林开雄 著  【电子工业出版社】 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值