zoukankan      html  css  js  c++  java
  • 过滤器(filter)实现用户登录拦截

    过滤器(filter)实现用户登录拦截

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

    蕃薯耀 2015年8月25日 16:20:47 星期二

    http://fanshuyao.iteye.com/

    一、增加一个Java类,实现filter接口

    public class UserFilter implements Filter {
    
    	@Override
    	public void destroy() {
    		System.out.println("userFilter destroy()");
    
    	}
    
    	@Override
    	public void doFilter(ServletRequest request, ServletResponse response,
    			FilterChain chain) throws IOException, ServletException {
    		HttpServletRequest req = (HttpServletRequest)request;
    		HttpServletResponse res = (HttpServletResponse) response;
    		HttpSession session = req.getSession();
    		//User user = (User) session.getAttribute(Conf.SESSION_USER);
    		String user = (String) request.getAttribute("user");
    		if (user != null) {
    			chain.doFilter(request, response);
    		} else {
    			session.setAttribute("redirect_url", req.getRequestURL().toString());
    			//System.out.println("req.getRequestURL().toString()="+req.getRequestURL().toString());
    			res.sendRedirect(req.getContextPath() + "/login?redirect_url="+URLEncoder.encode(req.getRequestURL().append("?").append(req.getQueryString()).toString(), "utf-8"));
    		}
    	}
    
    	@Override
    	public void init(FilterConfig arg0) throws ServletException {
    		System.out.println("userFilter init()");
    
    	}

    二、配置web.xml文件

    <filter>
       <filter-name>userFilter</filter-name>
       <filter-class>com.spring.filter.UserFilter</filter-class>
      </filter>
      
      <filter-mapping>
       <filter-name>userFilter</filter-name>
       <url-pattern>/user/*</url-pattern>
      </filter-mapping>

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

    蕃薯耀 2015年8月25日 16:20:47 星期二

    http://fanshuyao.iteye.com/

  • 相关阅读:
    Python(4)
    docker-数据管理(3)
    docker(2)
    docker(1)
    ansible的role(6)
    windows实用cmd命令总结
    Orcal数据类型总结
    Orcal设置默认插入数据的日期和时间
    linux常用关机和重启命令
    electron关于页面跳转 的问题
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/6227186.html
Copyright © 2011-2022 走看看