Spring MVC 攔截器實現
阿新 • • 發佈:2019-02-27
vat direct sources tdi 不存在 資源 @override 默認 獲取 自定義攔截器類
public class SessionInterceptor extends HandlerInterceptorAdapter {
HandlerInterceptorAdapter不能攔截WEB-INF目錄以外的jsp文件;若需攔截默認index.jsp;可以將index.jsp移動目錄到WEB-INF下即可;
public class SessionInterceptor extends HandlerInterceptorAdapter {
public SessionInterceptor() { // TODO Auto-generated constructor stub } private List<String> excludedUrls; //通過屬性註冊不需要過濾的url list public void setExcludedUrls(List<String> excludedUrls) { this.excludedUrls = excludedUrls; } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestUrl = request.getRequestURI(); //排除不需要過濾的URL for(String url:excludedUrls) { if(requestUrl.endsWith(url)) { return true; } } //獲取當前的會話session HttpSession session = request.getSession(); if(session.getAttribute("userid") == null) { //若登錄session過期或不存在就跳轉到login頁面 request.getRequestDispatcher("/login.jsp").forward(request, response); return false; } return true; }
}
springmvc-servlet.xml 攔截器註冊
<mvc:interceptors>
<mvc:interceptor>
Spring MVC 攔截器實現