`
wlh269
  • 浏览: 455709 次
  • 性别: 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()---------");
	}

}

分享到:
评论

相关推荐

    Hibernate4.1环境搭建

    通过上述步骤,我们可以成功地搭建起Spring4.1 + Hibernate4 + Struts2的环境,并解决了session数据为空的问题。在实际开发中,还需要根据具体的应用场景对配置进行适当的调整,以确保应用能够稳定运行。同时,熟练...

    struts学习笔记

    - **默认命名空间**:如果没有显式指定命名空间,则默认为空字符串,即所有的Action都属于同一个命名空间。 #### 四、其他知识点 **1. Action名称的搜索顺序**: - Struts2在解析请求时,会根据请求路径中的...

    Django企业面试题.docx

    `filter`即使没有匹配项也不会抛出异常,而是返回一个空的QuerySet。 Django处理HTTP请求的流程大致如下: 1. 启动一个支持WSGI的服务器,如Django的开发服务器或uWSGI,监听指定端口。 2. 当收到HTTP请求时,...

    2018 PHP 最新面试题

    - **判断语句是否使用索引**:使用EXPLAIN分析SQL执行计划,查看“key”列是否为空。 8. **MySQL大表优化** - 使用分区技术,如范围分区、列表分区等。 - 建立合理的索引策略,避免不必要的全表扫描。 - 调整...

    jpivot学习总结.doc

    name Hierarchy 的名称,该值可以为空,为空时表示 Hirearchy 的名字和 Dimension 的名字相同。当一个 Dimension 有多个 Hierarchy 时,注意 name 值要唯一。 hasAll 布尔型的 , 决定是否包含全部的成员 member ...

    .NET技术学习大纲

    熟悉Cookie与Session的工作机制,尝试自行编写Session类,并探索分布式Session的解决方案。 - **ASP.Net高级**:深入了解WebForm的内部机制,掌握AJAX的基本原理与实现方式。学习JSON的数据交换格式,了解jQuery ...

    compass-reference.pdf

    - **Session Lifecycle**:Compass 使用类似于 ORM 框架中的会话(Session)概念来管理对象的状态。每个会话都有自己的生命周期,包括打开、使用和关闭等阶段。 - **Template and Callback**:为了提高灵活性,...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    全书一共被压缩为5个rar,这是第二个!!!! 其他的请看ID:ljtt123(本人分享) 本博客提供的所有教程的资源原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    全书一共被压缩为5个rar,这是第五个!!!! 其他的请看ID:ljtt123(本人分享) 本博客提供的所有教程的资源原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    全书一共被压缩为5个rar,这是第四个!!!! 其他的请看ID:ljtt123(本人分享) 本博客提供的所有教程的资源原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    全书一共被压缩为5个rar,这是第三个!!!! 其他的请看ID:ljtt123(本人分享) 本博客提供的所有教程的资源原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何...

Global site tag (gtag.js) - Google Analytics