自定義攔截器

首先在springmvc.xml中配置攔截器的監聽java

1 <mvc:interceptors>
2     <mvc:interceptor>
3         <mvc:mapping path="/**"/><!-- 攔截全部controller -->
4         <!-- <mvc:exclude-mapping path=""/> --><!-- 不攔截的controller -->
5         <bean id="loginInterceptor" class="com.llh.interceptor.LoginInterceptor"></bean>
6     </mvc:interceptor>
7 </mvc:interceptors>

而後建立一個實現了HandlerInterceptor接口的類web

 1 package com.llh.interceptor;  2 
 3 import javax.servlet.http.HttpServletRequest;  4 import javax.servlet.http.HttpServletResponse;  5 
 6 import org.springframework.web.servlet.HandlerInterceptor;  7 import org.springframework.web.servlet.ModelAndView;  8 
 9 import com.llh.entity.Student; 10 
11 public class LoginInterceptor implements HandlerInterceptor{ 12 
13  @Override 14     public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) 15             throws Exception { 16         // TODO Auto-generated method stub
17         
18  } 19 
20  @Override 21     public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) 22             throws Exception { 23         // TODO Auto-generated method stub
24         
25  } 26 
27  @Override 28     public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object arg2) throws Exception { 29         // TODO Auto-generated method stub
30         Student s = (Student) req.getSession().getAttribute("s"); 31         System.out.println("攔截器攔截"); 32         String context = req.getContextPath(); 33  System.out.println(context); 34         if(s==null){ 35             res.sendRedirect(context+"/login.jsp"); 36             return false; 37  } 38         return true; 39  } 40 
41 }
相關文章
相關標籤/搜索