如何定义SpringMVC框架拦截器呢?

SpringMVC 中的 Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆等操作。

SpringMVC 拦截器的定义方式

  • 实现接口
  • 继承适配器

案例实操

实现接口

实现 HandlerInterceptor 接口方式定义我们的拦截器代码如下:

public class MyInterceptor implements HandlerInterceptor{
    

    /** 

    * preHandle 在请求方法拦截前执行 

    * 返回 true 代表对当前请求进行放行处理 

    */ 

    @Override 

    public boolean preHandle(HttpServletRequest request, 

        HttpServletResponse response, Object handler) throws Exception {
    

        System.out.println("action 之前执行!!!"); 

        return true; //继续执行 action 

    } 

    /** 

    * 请求执行后,生成视图前执行 

    */ 

    @Override 

    public void postHandle(HttpServletRequest request, 

        HttpServletResponse response, Object handler, 

        ModelAndView modelAndView) throws Exception {
    

        	System.out.println("Action 执行之后,生成视图之前执行!!");  

    } 

    /** 

    * 在请求方法执行后进行拦截 

    */ 

    @Override 

    public void afterCompletion(HttpServletRequest request, 

        HttpServletResponse response, Object handler, Exception ex) 

        throws Exception {
    

        	System.out.println("方法执行后进行拦截。。释放资源。。。"); 

    } 

} 

对应配置有两种方式:

配置方式一(拦截所有请求配置方式):

<mvc:interceptors> 

    <!-- 使用 bean 定义一个 Interceptor 

    直接定义在 mvc:interceptors 根下面的 Interceptor 将拦截所有的请求 --> 

    <bean class="com.xxx.interceptors.MyInterceptor" /> 

</mvc:interceptors> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值