zoukankan      html  css  js  c++  java
  • spring之interceptor篇

    springmvc中要写一个拦截器非常的简单,有两种方式:要么实现HandlerInterceptor接口或者继承实现了该接口的类,如spring已经为我们写好的一个HandlerInterceptorAdaptor。HandlerInterceptor接口有三个方法preHandler、postHanderl、afterCompletion,不过一般拦截器只是在preHandler方法中实现,另外两个方法空实现,所以一般用继承HandlerInterceptorAdapter比较好。

    方法介绍:

    public boolean preHandle(HttpServletRequest req, HttpServletResponse res,
    Object obj)    该方法有三个参数,返回值为布尔值,如果返回false,则该次请求结束,不会继续往下执行,obj其实就是一个包含请求调用方法的pojo。

    public void postHandle(HttpServletRequest req, HttpServletResponse res,
    Object obj, ModelAndView mav)    同样有三个方法,obj同上,mav是方法返回的试图,如果没有返回值,为null。

    public void afterCompletion(HttpServletRequest req,
    HttpServletResponse res, Object obj, Exception e)  一般不用

    拦截器的配置:

    首先继承HandlerInterceptorAdapter,定义自己的拦截器类,然后配置如下:

    <mvc:interceptors>
              <mvc:interceptor>
                  <mvc:mapping path="/charts/*"/>
                  <bean class="springframe.interceptor.MyHandlerInterceptor"></bean>
              </mvc:interceptor>
          </mvc:interceptors>

    或者

    <mvc:interceptors>
                  <bean class="springframe.interceptor.MyHandlerInterceptor"></bean>
          </mvc:interceptors>

    拦截所有的请求。

    或者使用SimpleUrlHandlerInterceptor配置

    <beans...>  
        ...  
        <bean id="measurementInterceptor"   
            class="com.apress.springrecipes.court.web.MeasurementInterceptor"/>  
        <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
            <property name="interceptors">  
                <list>  
                    <ref bean="measurementInterceptor"/>  
                </list>  
            </property>  
            ...  
        </bean>  
        <bean class="org.springframework.web.servlet.mvc.support  
            .ControllerClassNameHandlerMapping">  
            <property name="interceptors">  
                <list>  
                    <ref bean="measurementInterceptor"/>  
                </list>  
            </property>  
        </bean>  
        ....  
    </beans>
  • 相关阅读:
    Redux React-redux 理解
    React ---- 浅谈ReactJs
    javascript --- 鼠标事件
    javaScript --- localStorage 本地存储
    javascript -- 对象(深拷贝、浅拷贝)
    javascript --- 数组输出数组中最大值最小值差值
    Css中未知 div 宽高度,水平垂直居中方法
    Windows下使用NCL(Cygwin模拟Linux环境)
    Qt加载网页(加载浏览器插件)和制作托盘后台运行(南信大财务报账看号)
    OpenGL超级宝典第5版&&GLSL法线变换
  • 原文地址:https://www.cnblogs.com/yxjdragon/p/5916642.html
Copyright © 2011-2022 走看看