zoukankan      html  css  js  c++  java
  • spring 拦截器

    1.mvc.xml

    <!-- 自定义拦截链配置 -->  

    <mvc:interceptors>  

    <mvc:interceptor>  

    <mvc:mapping path="/supplier/*"/>  

    <mvc:mapping path="/goods/*"/>  

    <mvc:mapping path="/contact/*"/>  

    <bean class="com.young4j.controller.UserInterceptor"></bean>  

    </mvc:interceptor>  

    </mvc:interceptors

    <mvc:interceptors>  

    <!-- 局部拦截器 -->  

    <mvc:interceptor>                   

    <mvc:exclude-mapping path="/user_login" />  

    <mvc:exclude-mapping path="/user_logout" />  

    <mvc:mapping path="/**" />  

    <bean class="com.young4j.interceptor.MyInterceptor" />  

    </mvc:interceptor>  

    </mvc:interceptors>

    登录拦截器

    public class LoginInterceptor implements HandlerInterceptor {
    
    	//日志
    	protected Logger log = Logger.getLogger(getClass());
    	
    	
    	
    	public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
    			Object handle) throws Exception {
    		
    		//创建session
    		HttpSession session =request.getSession();
    		
    		//无需登录,允许访问的地址
    		String[] allowUrls =new String[]{"/toLogin","/login"};
    			
    		//获取请求地址
    		String url =request.getRequestURL().toString();
    		
    		//获得session中的用户
    		UserToken user =(UserToken) session.getAttribute("userToken");
    	
    		
    		for (String strUrl : allowUrls) {
    			if(url.contains(strUrl))
    			{
    				return true;
    			}
    		}
    		
    		if(user ==null)
    		{
    			throw new UnLoginException("您尚未登录!");	
    								
    		}
    		//重定向
    		//response.sendRedirect(request.getContextPath()+"/toLogin");
    			
    		
    			return true;
    		
    		
    	}
    
    	@Override
    	public void postHandle(HttpServletRequest request,
    			HttpServletResponse response, Object handler,
    			ModelAndView modelAndView) throws Exception {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void afterCompletion(HttpServletRequest request,
    			HttpServletResponse response, Object handler, Exception ex)
    			throws Exception {
    		// TODO Auto-generated method stub
    		
    	}
    	
    }

    设置session

    HttpSession session=event.getSession;

    session.setMaxInactiveInterval(30*60);//以秒为单位

  • 相关阅读:
    16061109-第0次个人作业
    面向对象第四次总结
    面向对象5-7次作业总结
    2018 OO第一次总结(作业1-3)
    (最终作业)面向对象先导课课程总结
    HTML学习笔记
    实验八 进程间通信
    信号
    进程基础
    shell脚本编程
  • 原文地址:https://www.cnblogs.com/yangfei-beijing/p/6144721.html
Copyright © 2011-2022 走看看