springMVC 攔截器如何作登陸檢查及頁面跳轉

一個很是簡單的登陸權限攔截器java

問題一:登陸頁面的提交請求確定是要過濾掉的,目前採用在xml裏配置<mvc:mapping path="/supplier/*"/>來過濾,可不能夠配置不攔截某種請求。若是是按目前這種配置須要攔截請求,當請求太多的時候那就太麻煩了。瀏覽器

問題二:我簡單地在攔截器裏判斷session是否有值,若是有表示登陸,若是沒有則跳轉登陸頁面。按我下面的作法是不行的,有沒有正確而有效的方法。session

問題三:若是你們可以給出在攔截器內跳轉頁面的方案,可個人login.jsp是放在WEB-INF下面的,經過ModelAndView跳轉時,視圖解析器會跳轉到/WEB-INF/login.jsp下,那確定是找不到頁面的。但若是我放到此文件夾下,那瀏覽器又不能訪問login.jsp頁面了。mvc

public class UserInterceptor implements HandlerInterceptor{  
  
    @Override  
    public void afterCompletion(HttpServletRequest request,  
            HttpServletResponse response, Object obj, Exception err)  
            throws Exception {  
    }  
  
    @Override  
    public void postHandle(HttpServletRequest request, HttpServletResponse response,  
            Object obj, ModelAndView mav) throws Exception {  
        response.sendRedirect("/login.jsp");  
    }  
  
    @Override  
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,  
            Object obj) throws Exception {  
        String str = (String) request.getSession().getAttribute("isLogin");  
        System.out.println("str=========>"+str);  
        if(str!=null){  
            return true;  
        }  
        return false;  
    }  
}
  1. <!-- 自定義攔截鏈配置 -->  app

  2.     <mvc:interceptors>  jsp

  3.         <mvc:interceptor>  ide

  4.             <mvc:mapping path="/supplier/*"/>  post

  5.             <mvc:mapping path="/goods/*"/>  spa

  6.             <mvc:mapping path="/contact/*"/>  code

  7.             <bean class="com.xiaoxing.shangjia.user.controller.UserInterceptor"></bean>  

  8.         </mvc:interceptor>  

  9.     </mvc:interceptors>  


獲取【下載地址】 

相關文章
相關標籤/搜索