`
wlh269
  • 浏览: 448215 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

采用filter解决session为空

    博客分类:
  • JSP
JSP 
阅读更多

/**
 * 采用filter解决session为空
 * @author Administrator
 *
 */
 public class AuthFilter implements Filter {

	public void destroy() {
		
	}

	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,FilterChain filterChain) throws IOException, ServletException {
		
		HttpServletRequest request=(HttpServletRequest) servletRequest;
		HttpServletResponse response=(HttpServletResponse) servletResponse;
		
		/*设置参数的目的只是当会话不存在时,返回null还是新的session的区别,   
		  参数为true时,返回的是null;   
		  没有参数或是false则返回新的session   */
		HttpSession session=request.getSession(false);
		System.out.println("url=" + request.getRequestURL());
		System.out.println("uri=" + request.getRequestURI());
		
		
		String requestURI = request.getRequestURI();
		String targetURI = requestURI.substring(requestURI.lastIndexOf("/"));
		System.out.println("targetURI=" + targetURI);
		
		//如果访问的不是首页
		if (!targetURI.equals("/login.jsp")) {
			
			//如果session为空,session中没有user对象
			if (session == null || session.getAttribute("user") == null) {
				
				//重定向的首页,让用户登录
				 response.sendRedirect(request.getContextPath() + "/login.jsp");
				 
				 return;
			}
		}
		
		filterChain.doFilter(request, response);
	}

	public void init(FilterConfig arg0) throws ServletException {
		System.out.println("-------AuthFilter.init()---------");
	}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics