欢迎各位大牛指教

spring拦截器

package com.shoufubang.web.interceptor;

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import org.springframework.web.servlet.HandlerInterceptor; 
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; 
 
 
public class MyInterceptor extends HandlerInterceptorAdapter {
  
   @Override
   public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
                              Object handler) throws Exception {
         // 获得请求路径的uri
         String uri = request.getRequestURI();

         // 判断路径是登录验证,是的话执行Controller中定义的方法
         if(uri.endsWith("/login")) {
             return true;
         }
         if(uri.endsWith("/companylogin")) {
             return true;
         }

         // 进入登录页面,判断session中是否值,有的话继续执行
             if(request.getSession() != null && request.getSession().getAttribute("adminUser") != null) {
               return true;
             }
             if(request.getSession() != null && request.getSession().getAttribute("adminCompany") != null) {
               return true;
             }
        

         // 其他情况判断session中是否有key,有的话继续用户的操作
         if(request.getSession() != null && request.getSession().getAttribute("adminUser") != null) {
             return true;
         }
         if(request.getSession() != null && request.getSession().getAttribute("adminCompany") != null) {
             return true;
         }

         // 以上所有情况都不成立则进入登录页面
         response.sendRedirect(request.getContextPath() + "/login.jsp");
         return false;
   }
  
 }

个人感觉这个拦截器还是比较全面的

posted @ 2016-08-23 13:26  夏沫秋至  阅读(96)  评论(0编辑  收藏  举报