java入门学习(十一)

拦截器,这个以后肯定会用到。开始配了半天没有成功,记录一下备查:

第一种最简单的方式:拦截所有的

<mvc:interceptors> <bean class="mybatistest.controller.CommonInterceptor" /> </mvc:interceptors>


第二种应该是第一种的扩展,可以配置多个拦截器,配置拦截的规则

    <mvc:interceptors>  
        <!-- 多个拦截器,顺序执行 -->  
        <mvc:interceptor>  
           <mvc:mapping path="/**" /><!-- 如果不配置或/**,将拦截所有的Controller -->  
           <bean class="mybatistest.controller.CommonInterceptor"></bean>  
        </mvc:interceptor>  
    </mvc:interceptors> 

这种开始一直没有成功,后来才发现,我的测试用Controller是/user/login,开始mapping配置为/*,只会拦截第一层的,后面改为/**就对了。

网上另外看到有这种,没试:

    <!--    
             如果不定义mappingURL,则默认拦截所有对Controller的请求 ;    
             可以使用正则表达式对url进行匹配,从而更细粒度的进行拦截(.*/entryOrJsonController\.do\?action=reg.*);   
    -->   
    <bean id="commonInterceptor" class="mybatistest.controller.CommonInterceptor">   
<!--        <property name="mappingURL" value=".*/entryOrJsonController\.do\?action=reg.*"/>  -->   
    </bean>   
    
    <!-- 处理在类级别上的@RequestMapping注解-->   
    <bean   
        class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" >   
        <property name="interceptors">   
           <!-- 多个拦截器,顺序执行 -->   
           <list>   
              <ref bean="commonInterceptor"/>   
           </list>   
        </property>   
    </bean>   


这篇文章有详细内容可参考:http://jinnianshilongnian.iteye.com/blog/1670856

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值