赞助

自定义拦截器

首先在springmvc.xml中配置拦截器的监听

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接口的类

 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 }

 

posted @ 2018-01-17 10:13  念念不忘、  阅读(507)  评论(0编辑  收藏  举报