您的位置:首页 > 编程语言 > Java开发

学习spring mvc 四

2016-09-14 13:57 399 查看
今天开始第四天的spring mvc框架学习

----------------------3小时完成-----------------------------------

要做的事:学习spring mvc 

1、使用Spring MVC Handler  mappings

2、使用HandlerInterceptor拦截请求

3、使用Spring mvc Resolving views

-------------------------------------------------------------------------

使用Spring MVC Handler  mappings

在spring MVC 3以前的版本中,用户需要在web应用程序的上下文中定义一个或多个HandlerMapping beans将进来的web请求映射到合理的handlers。在介绍使用注解的控制器以后,基本上不需要再那么做,因为RequestMappingHandlerMapping自动在控制器中的搜索@RequestMapping注解。

重点:

所有的HandlerMapping类继承自AbstractHandlerMapping你可以使用以下属性来自定义他们。

interceptors 拦截器的使用列表。

defaultHandler 默认使用的handler,当handler映射没有返回匹配的handloer时使用。

order 基于order属性的值。

下面是配置拦截器的示例:

<beans>

<bean id="handlerMapping"  class="org.springframework.web.servlet.mvc.method.annotattion.RequestMappingHandlerMapping">

<property name="interceptors">

<bean  class="example.MyInterceptor">

</property>

</bean>

</beans>

使用HandlerInterceptor拦截请求

Spring的处理程序映射机制包括处理程序的拦截器,当你想要将特定功能应用于某些请求时非常有用,例如,权限检查。

处理程序映射中的拦截器必须实现 org.springframework.web.servlet包中的HandlerInterceptor。

可以用interceptors属性配置拦截器,拦截器存在于所有继承自AbstractHandlerMapping的HandlerMapping类。

使用Spring mvc Resolving views

所有web应用程序的mvc框架都提供了决策视图的方式。

1、使用 ViewResolver interface接口解析视图

Spring mvc控制器中所有的handler方法必须解析为一个逻辑视图名称,要么显式地(通过返回一个String, View, 或者是ModelAndView)  要么隐式地(基于公约)。

2、使用ChainingViewResolvers

Spring支持多视图解析器。你可以采用链式解析器。例如,在特定环境下重写特定的视图。链式视图解析器通过增加多个解析器到application context中来实现,如果需要可以制定order属性来制定顺序。

3、Redirecting to views

控制器通常返回一个逻辑视图名称,视图解析器解析都一种特定的视图技术。

4、ContentNegotiatingViewResolver

ContentNegotiatingViewResolver本身并不解析视图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc