学习spring mvc 四

    xiaoxiao2022-06-28  43

    今天开始第四天的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本身并不解析视图

    转载请注明原文地址: https://ju.6miu.com/read-1124618.html

    最新回复(0)