美文网首页
SpringMVC 拦截器

SpringMVC 拦截器

作者: 闫子扬 | 来源:发表于2018-05-02 11:27 被阅读0次

1、在springmvc-config.xml中添加一下配置

  • 注意:这里拦截的是请求、而不是页面

     <!-- 配置拦截器 -->
     <mvc:interceptors>
       <mvc:interceptor>
           <mvc:mapping path="/user/*"/>
           <bean class="cn.com.Interceptor.MyInterceptor"></bean>
       </mvc:interceptor>
     </mvc:interceptors>
    

2、编写Interceptor、拦截相关请求

  • 1、实现 HandlerInterceptor 接口

  • 2、继承自HandlerInterceptorAdapter 抽象类

  • 示例代码

          package cn.com.Interceptor;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import org.springframework.web.servlet.HandlerInterceptor;
          import org.springframework.web.servlet.ModelAndView;
    
          public class MyInterceptor implements HandlerInterceptor{
    
              @Override
          public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
                  throws Exception {
              // TODO Auto-generated method stub
    
          }
    
          @Override
          public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
                  throws Exception {
              // TODO Auto-generated method stub
    
          }
    
          @Override
          public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {
              Object object = request.getSession().getAttribute("user");
              System.out.println("进入拦截器");
              if(object!=null){
                  System.out.println("用户已登录");
                  return true;            
              }
              System.out.println("非法访问");
              request.getRequestDispatcher("user/toLogin").forward(request, response);
              return false; //拦截
          }
    
      }

相关文章

网友评论

      本文标题:SpringMVC 拦截器

      本文链接:https://www.haomeiwen.com/subject/ffnqrftx.html