- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1.5 处理器映射 在Spring MVC中,使用处理器映射(Handler Mapping)可以把Web请求映射到正确的处理器上。Spring内置了很多映射处理器,而且我们也可以自定义映射处理器。 处理器映射提供的基本功能是把请求传递到处理器执行链(HandlerExecutionChain)上,而处理器执行链必须包含一个能处理该请求的处理器,或者该执行链也可以包含一系列用于拦截请求的拦截器。因此,当请求到达的时候,前端控制器DispatcherServlet首先将该请求转交给处理器映射,由它对请求进行检查并找到一条匹配的处理器执行链,然后DispatcherServlet就会执行在这条执行链中定义的处理器和拦截器。 4.1.5 处理器映射 最常用的处理器映射有两个:BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping,这两个处理器映射都是继承自AbstractHandlerMapping类,因而它们同时继承了父类的属性。 1.BeanNameUrlHandlerMapping处理器映射 BeanNameUrlHandlerMapping是一个简单同时又很强大的处理器映射,它能够将收到的HTTP请求映射到在Web应用上下文中定义的Bean的名字上。 2.SimpleUrlHandlerMapping处理器映射 相比较而言,SimpleUrlHandlerMapping处理器映射的功能更为强大,它可以在应用上下文中进行配置,并且有Ant风格的路径匹配功能。 4.1.6 视图解析器 所有Web应用的MVC框架都提供了处理视图的方式。Spring提供了视图解析器以实现解析ModelAndView模型数据到特定的视图上的功能,这使得在浏览器中显示模型数据时并不需要局限于某一种具体的视图技术。 Spring处理视图的两个重要的类是ViewResolver和View。 ViewResolver是通过视图名称来解析视图的,它提供了从视图名称到实际视图的映射。View处理请求的准备工作,并将该请求提交给某种具体的视图技术。 Spring中内置很多类来实现View,主要针对不同View技术提供的支持,如JSP、JSTL、Freemarker等,并且Spring中提供了多种视图解析器 4.1.7 异常处理 当控制器处理请求时,如果发生异常,则将发生的异常交由HandlerExceptionResolverder来处理,从而给框架的使用者一个集中处理异常的机会。Spring MVC中提供了处理异常的解析器(HandlerExceptionResolver),能够帮助控制器处理所发生的异常。HandlerExceptionResolverder可以提供异常产生时控制器的运行状态。 实现HandlerExceptionResolver需要实现resolveException(Exception, Handler)方法并返回ModelAndView,除了使用HandlerExceptionResolver,还可以使用Spring内置的解析器SimpleMappingExceptionResolver,这个解析器能够获取任何抛出异常的类名,并将它映射到视图名。 4.2 解析Spring基础标签 4.2.1 配置基础标签库 Spring的基础标签库提供数据绑定和显示功能。在配置Spring的基础标签库时需要将Spring安装包中的spring.tld复制到项目的WEB-INF目录下,并在web.xml中配置该标签库。在web.xml文件中jsp-config/jsp-config标签内加入下面代码就可以将Spring标签库添加到项目中来。 taglib taglib-uri/spring/taglib-uri taglib-location/WEB-INF/spring.tld/taglib-location /taglib 4.2 解析Spring基础标签 4.2.2 spring:bind标签 spring:bind标签常用来为某个Bean或Bean的属性赋值,经常与form共同使用,指定表单要提交到哪个类或哪个类的属性中。 4.2.3 spring:hasBindErrors标签 spring:hasBindErrors标签是Spring的基础标签库中的常用标签,用于绑定对象的错误。利用这个标签可以在页面范围(page scope)内绑定一个Errors实例,并能够将对象的错误信息显示在页面上。 4.2 解析Spring基础标签 4.2.4 spring:message标签 spring:m
文档评论(0)