Spring MVC 详解

上传人:jiups****uk12 文档编号:45248184 上传时间:2018-06-15 格式:PPT 页数:18 大小:1.22MB
返回 下载 相关 举报
Spring MVC 详解_第1页
第1页 / 共18页
Spring MVC 详解_第2页
第2页 / 共18页
Spring MVC 详解_第3页
第3页 / 共18页
Spring MVC 详解_第4页
第4页 / 共18页
Spring MVC 详解_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《Spring MVC 详解》由会员分享,可在线阅读,更多相关《Spring MVC 详解(18页珍藏版)》请在金锄头文库上搜索。

1、Spring MVCXue FengSpring MVC 架构Spring MVC是结构最清晰的MVC Model 2实现。它的Action也不叫Action,而是称做Controller;Controller接收request, response参数,然后返回 ModelAndView(其中的Model不是Object类型,而是Map类型)。但在其它的Web Framework中,Action返回值一般都只是一个View Name;Model则需要通过其它的途径(如request.attribute,session.attribute参数,或 Action本身的属性数据)传递上去。 Spri

2、ng MVC相关配置Web.xml 配置Spring MVC的FrontController(DispatcherServlet) 配置Spring 配置文件的位置 其他配置(Servlet、Filter等) Spring配置文件 配置HandlerMapping(可基于注解) 配置ViewResolverWeb.xml配置o 前端控制器 DispatcherServletSpring配置文件 HandlerMapping(寻找Controller)o ResovlerMapping(解析视图)Spring MVC处理流程Spring MVC处理流程DispatcherServletSprin

3、g MVC处理流程 DispatchServlet1. DispatchServlet在Web容器初始化的时候完成初始化initStrategy() ;2.初始化主要完成: multipartResolver、handlerMappings、 handlerAdapters、viewResolvers变量的赋值;3.初始化有三种情况:基于注解、基于配置文件、默认初始化;4. DispatchServlet 的doDispatch()方法负责转发请求,具体:执行拦截 器、调用Controller的业务执行方法、调用View解析器得到View、调用 View对象的render()方法;Spring

4、 MVC处理流程 Controller1. Controller负责接收从DispatchServlet转发的URL请求(中间会插入 interceptor的调用);2. Spring MVC的Controller可以细化到method级别,并支持URL的串接 ;3. Spring MVC2.5中Controller需要实现Controller接口,只有单一的请 求处理方法;4. Spring MVC3.0中的基于注解的Controller处理方法形式多样,处理方 法非常灵活(过于灵活,在学习阶段造成一定的难度);5. AnnotationMethodHandlerAdapter 的getMo

5、delAndView ()方法负责将 各种不同参数形式的处理函数返回的不同类型的返回值WRAP成 ModelAndView;Spring MVC处理流程 Controller 注册 将Controller注册到context中的两种方法:1.xxx-mvc.xml中配置;2.采用Controller注解( DefaultAnnotationHandlerMapping )1)DispatchServlet在初始化时自动扫描 base package下的所有 class;2)依据class中的Controller注解, DispatchServlet动态生成 URL- class-method的

6、映射,放入handlingMap成员变量中;3)见DefaultAnnotationHandlerMapping中的detectHandler(), detectHandlerMethod()方法中自动扫描注解;Spring MVC处理流程ViewResolver从一个String逻辑视图名映射到一个视图对象 可以排序, 所以能链在一起 对JSP用户, 通常实现 InternalResourceViewResolver:Spring MVC处理流程 ViewResolver常用的ViewResolver1.InternalResourceViewResolver (1) 典型的JSP视图,有“

7、addBook” /WEB-INF/jsp/addBook.jsp (2) 自动位于视图解析链中的最后一个,如果 InternalResourceViewResolver找不到视图,则会报404异常常用的ViewResolver1. ContentNegotiateViewResolver (1)非常重要的ViewResolver,它不是一个实际的Resolver,而是根据内容( ContentType/MediaType)来匹配(协商)视图的一种解析器; (2)学习、研究ContentNegotiateViewResolver的源码,有益于更好地掌握其 配置; (3) ContentNego

8、tiateViewResolver的成员变量viewResolvers,用来保存整个 配置文件中除了“自身”以外的其他ViewResolver,如InternalResourceViewResolver ; (4) ContentNegotiateViewResolver解析视图的过程如图; 解析URL后缀名,映射为requestMediaType 生成candidateViews 比较requestMediaType和candidateViews中每个View的MediaType,返回第一 个匹配的View 如果没有匹配的View,一般采用InternalResourceViewResolver返回一个JSP 如果这个JSP文件不存在,报404ContentNegotiateViewResolver 解析视图过程视图 View 支持的几种典型视图技术: InternalResourceView (JSP) JstlView (JSP + JSTL) VelocityView (Velocity) AbstactExcelView(Excel) AbstarctPdfView(Pdf) MappingJacksonJsonView(Json)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号