`
yzz9i
  • 浏览: 221175 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

使用 过滤器 filter处理session超时问题

阅读更多
新建一个过滤器命名为:FilterDemo,该类继承自:javax.servlet.Filter

public class FilterDemo implements Filter{



    public void destroy() {}



    public void doFilter(ServletRequest sreq, ServletResponse response,

           FilterChain filterChain)

throws IOException, ServletException {

       HttpServletRequest request=(HttpServletRequest)sreq;

       HttpSession session = request.getSession(false);

       if(session == null) {

           //如果是session超时,在此处做处理

       }

     

       if(request.getRequestURI().endsWith("download.do")) {

           //此处可以针对不同的请求根据用户是否具有权限来做处理

       }

       request.getRequestDispatcher("/Error.jsp").

forward(request,response);

    }



    public void init(FilterConfig filterConfig)

throws ServletException {}

}

然后将新建的Filter添加到web.xml中,部署Filter需要添加两部分:

1.filter元素

filter元素位于部署描述符文件(web.xml)的前部,所有filter-mapping、servlet或servlet-mapping元素之前。









<filter>

       <filter-name>SessionFilter</filter-name>

       <filter-class>myPackage.FilterDemo</filter-class>

</filter>

2.filter-mapping元素

filter-mapping元素位于web.xml文件中filter元素之后serlvet元素之前

<filter-mapping>

       <filter-name>SessionFilter</filter-name>

       <url-pattern>*.do</url-pattern>

</filter-mapping>

以上内容表示所以的请求中以.do结尾的都有首先通过我们这里指定的过滤器:
1
1
分享到:
评论

相关推荐

    JAVA用户登录超时过滤器和文件配置

    在Java Web开发中,用户登录超时过滤器是一种常见的安全机制,用于检查用户是否已登录并保持其会话状态。这个过滤器会在用户访问受保护的页面之前进行拦截,如果发现用户会话已经超时或者不存在,将重定向到登录页面...

    j2ee项目使用filter和memcached实现session服务器

    本项目通过结合使用Filter(过滤器)和Memcached来实现一个高效的session服务器,以解决跨服务器会话共享的问题。 首先,让我们详细了解一下`Filter`。在Java Web开发中,Filter是Servlet API的一部分,允许开发者...

    过滤器进行登录操作

    在Java Web开发中,过滤器(Filter)是一个强大的工具,常用于实现各种需求,如登录操作的处理。本文将深入探讨如何使用过滤器进行登录操作,以及这一过程中的相关知识点。 首先,我们要理解过滤器的基本概念。在...

    ajax提交session超时跳转页面使用全局的方法来处理

    首先,我们来看在过滤器中处理Session超时的代码片段。过滤器是Servlet技术中的一种机制,可以在请求到达目标Servlet之前或之后对请求和响应进行预处理和后处理。在这个例子中,我们定义了一个`doFilter`方法,它是...

    重写 ajax 实现 session 超时跳转到登录页面实例代码

    当使用Ajax请求时,前端也需要配合后端的过滤器处理Session超时的情况。可以重写jQuery的`$.ajax`函数,添加一个自定义的逻辑。在原生的`$.ajax`方法中,我们可以添加一个错误处理函数,当收到302(重定向)状态码...

    过滤器和监听器的使用

    在实际开发中,过滤器和监听器的使用应遵循一定的设计原则,如单一职责原则,避免在一个过滤器或监听器中处理过多逻辑,保持代码的可读性和可维护性。同时,合理地配置过滤器和监听器的执行顺序,可以有效地优化应用...

    过滤器和监听器的使用步骤

    在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们主要用于增强应用程序的功能和管理应用程序的状态。以下是这两个概念的详细解释以及如何在实际项目中使用它们。 ### 过滤器...

    webix+springmvc session超时跳转登录页面

    4. **与Spring MVC的配合**:在Spring MVC中,我们通常会在拦截器(Interceptor)或者过滤器(Filter)中设置Session超时的检测逻辑,当检测到Session过期,返回一个特定的HTTP状态码或错误信息,然后前端的`...

    在线监控Session(超简单)

    实现Session监控的一种常见方法是使用过滤器(Filter)技术,这是Java Servlet规范中的一部分。 过滤器在Web应用程序中扮演着预处理和后处理请求的角色。它们可以在请求到达目标Servlet之前或响应返回客户端之后...

    spring session实现session共享

    4. **Filter**: 为了实现Session共享,Spring Session 使用一个自定义的Servlet过滤器(`DelegatingSessionFilter`),这个过滤器负责拦截HTTP请求,处理Session相关操作。 5. **Spring Boot集成**: 如果使用Spring...

    jsp登录验证(含过滤器)

    在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而过滤器(Filter)是Servlet API的一部分,用于对HTTP请求和响应进行处理。本项目"jsp登录验证(含过滤器)"主要关注如何利用过滤器实现...

    Web 开发中Ajax的Session 超时处理方法

    先写一个统一的过滤器,或者拦截器,针对Ajax请求进行过滤处理,下面示例以Filter为例: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ...

    spring MVC No Session found for current thread

    - **Filter链**:检查web.xml中的过滤器配置,确保session相关的过滤器如`HttpSessionContextIntegrationFilter`在适当的位置。这个过滤器负责将session绑定到当前线程。 - **自定义过滤器**:如果你有自定义过滤...

    java过滤器

    Java过滤器(Filter)在Java Web开发中扮演着重要的角色,尤其在实现用户身份验证方面。当涉及到多个页面需要对用户权限进行控制时,使用过滤器可以极大地简化代码,提高代码复用性和系统效率。 一、Java过滤器基础...

    XML常用配置信息 过滤器 监听器

    过滤器(Filter)是一种在客户端请求到达目标资源之前对其进行拦截处理的技术。下面是一个简单的过滤器配置示例: ```xml &lt;filter&gt; &lt;filter-name&gt;xxx&lt;/filter-name&gt; &lt;filter-class&gt;xxx&lt;/filter-class&gt; ...

    bboss 安全认证过滤器功能介绍

    在Web应用程序中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP之前进行预处理,以及在响应离开服务器之前进行后处理。SYSAuthenticateFilter就是BBoss框架中专门用于安全认证的...

    详解.net mvc session失效问题

    这样,无论返回的是JsonResult还是PartialViewResult,我们都可以在客户端统一处理Session超时的情况,避免对每个Ajax请求单独编写处理代码。 总的来说,处理.NET MVC中的Session失效问题需要关注请求类型,区分...

    项目访问时间过长session过期提醒

    过滤器的主要作用是在请求被实际处理之前或之后执行某些操作,例如检查会话状态。 在`&lt;filter&gt;`元素内,我们配置了两个`&lt;init-param&gt;`子元素。`&lt;param-name&gt;`和`&lt;param-value&gt;`分别定义了参数的名称和值。`noFilter...

    Session过期后自动跳转到登录页面的实例代码

    因此,通常我们会采用过滤器(Filter)的方式来处理Session过期后的跳转。在`web.xml`中,我们需要配置一个名为`sessionFilter`的过滤器,指定对应的Filter类: ```xml &lt;filter&gt; &lt;filter-name&gt;sessionFilter&lt;/...

Global site tag (gtag.js) - Google Analytics