`

session超时或用户没有登陆时跳转到指定页面

阅读更多
用户登陆时把用户名放在session里面(也可以放别的)
   session.setAttribute("username",username);



做一个过滤器进行过滤

import javax.servlet.*;   
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpServletResponse;   
import javax.servlet.http.HttpSession;     
import java.io.IOException;   
  
/**  
 * 用于检测用户是否登陆的过滤器,如果未登录或超时,则重定向到指的登录页面<p>    
 */  
public class CheckLoginFilter   
 implements Filter   
{   
  
  
 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException   
 {   
  HttpServletRequest request = (HttpServletRequest) servletRequest;   
  HttpServletResponse response = (HttpServletResponse) servletResponse;   
  
   HttpSession session = request.getSession(); 
   //用户超时或没有登陆时跳转到登陆页面
   if(session.Attribute("username")==null||session.isnew())
   {
     response.sendRedirect("登陆页面");
   }

   
  filterChain.doFilter(servletRequest, servletResponse);   
 }   
  
 public void destroy()   
 {   
 
 }   
  
  
 public void init(FilterConfig filterConfig) throws ServletException   
 {   

   
 }   
}  



在web.xml文件中进行配置
  <filter>
        <filter-name>..<filter-name>
        <filter-class>..<filter-class>
   <filter>
      
    <filter-mapping>
       <filter-name>..<filter-name>
       <url-pattern>...<url-pattern>

     <filter-mapping>

   <session-config>
        <!-- 以分钟为单位 -->
        <session-timeout>15</session-timeout>
    </session-config>


分享到:
评论
1 楼 andey007518 2009-11-09  
只是大体示范了大体的写法,首先谢谢了,不过你看,session.Attribute("username")==nul,这样判断的话,项目启动后会一直进行循环的,造成死循环的,

相关推荐

    dwz框架实现拦截器 session超时跳转登陆页面

    dwz框架实现拦截器 session超时跳转登陆页面 DWZ框架 struts2拦截器 session超时

    JS之Session超时提示代码

    本文详细解析了一个基于JavaScript实现的Session超时提示逻辑,通过监测用户的鼠标点击行为来判断用户的活跃状态,并在Session即将过期时给予提示,从而提高了用户体验。此方法简单实用,适用于那些希望减少服务器...

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

    这样,当Ajax请求因Session超时导致服务器返回302时,前端能够捕获到这个错误并自动跳转到登录页面,而不是让页面保持在原来的视图中,提供良好的用户体验。 总结来说,结合后端的Session过滤器和前端的Ajax重写,...

    ext session失效 页面跳转

    此外,为了提供更好的用户体验,一些应用会选择在Session即将到期时提醒用户,而不是突然跳转到登录页。这可以通过在后台定期发送心跳请求,然后在接收到Session即将过期的警告时显示一个提示框,让用户选择是否延长...

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

    然而,Session不能永久保持,它有默认的超时时间,超过这个时间如果没有接收到客户端的任何请求,Session就会被视为过期。在本文中,我们将探讨如何在Session过期后自动将用户重定向到登录页面。 首先,开发者可能...

    c#实现cookie和session的登陆实例

    - 注意,Session依赖于服务器内存,若服务器重启或Session超时,用户状态将丢失。所以通常设置合理的Session过期时间,如`Session.Timeout = 20;`表示20分钟无操作后Session失效。 3. **结合Cookie和Session**: ...

    J简单的springmvc包括拦截、session设置,超时跳转

    当Session超时时,通常需要将用户重定向到登录页面,提示他们重新登录。这可以通过监听器、过滤器或者在拦截器中实现。例如,在拦截器的`preHandle()`方法中,检查当前请求的Session是否有效,如果发现Session已经...

    登陆自动跳转页面_demo

    6. **Session或Cookie管理**:登录成功后,通常会设置Session或Cookie来保持用户的登录状态,直到用户主动登出或Session超时。 7. **安全考虑**:包括防止SQL注入、XSS攻击等,确保用户数据的安全。 8. **错误处理...

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

    本文将详细介绍如何使用全局方法来处理AJAX提交时的Session超时,并跳转到特定页面。 首先,我们可以在服务器端设置一个过滤器(Filter)来检测Session的状态。在Java Web开发中,过滤器可以拦截每个HTTP请求,包括...

    若依 修改默认跳转页面 demo

    理解Shiro的基本概念如Subject、Realms、Session管理等,以及如何通过Shiro配置实现用户登录、授权等功能,对于修改默认跳转页面至关重要。 3. **Spring Boot**:作为若依的底层基础,Spring Boot简化了Spring应用...

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

    总结来说,实现Webix+Spring MVC环境下Session超时跳转登录页面的关键在于,前端扩展Webix的Ajax请求处理,添加对Session超时的检查,并在检测到超时后使用JavaScript进行页面重定向;后端则需在Spring MVC的拦截器...

    Javaweb项目session超时解决方案

    解决Session超时的问题,需要对所有的/web/请求进行登录拦截,Session超时时跳转到登录页面。可以通过配置Session超时时间来实现这一点。在项目的web.xml中可以进行配置,如下: &lt;!-- 设置Session超时时间 --&gt; ...

    跨域共享session (实现http跳转https 共享session)

    3. **定期刷新session**:设置合理的session超时时间,并在用户活动时更新session的最后活跃时间,提高安全性。 综上所述,跨域共享session涉及到多个技术层面,包括浏览器限制、服务器配置、前端处理和安全措施。...

    .net MVC使用Session验证用户登录

    .net MVC使用Session验证用户登录,直接输入URL的页面地址跳转到登陆页 ,必须经过用户登录授权才可以。例如输入:http://localhost:14613/Home/index 由于没有登录将直接跳转到http://localhost:14613/Account/Login...

    Struts通过拦截器实现登录后跳转到登录前页面

    本话题主要探讨如何利用拦截器实现在用户成功登录后,将其重定向到登录前访问的页面。 首先,理解Struts2的拦截器工作原理。拦截器是基于Java的动态代理机制实现的,它们按照配置的顺序形成一个拦截器链,每个请求...

    ASP.NET(基于VS2008 C#)页面计时自动跳转(session和Javascript两种方法)

    在ASP.NET开发中,有时我们需要实现页面在一定时间后自动跳转到其他页面,这通常用于用户会话超时或者完成某操作后需要转移场景的情况。本教程将介绍两种实现方式:一是通过服务器端的Session,二是利用客户端的...

    Session丢失原因和解决方案

    2. **Session超时**:默认情况下,Session会在20分钟(可配置)后超时,如果用户在此期间没有与服务器交互,Session将被清除。 3. **配置更改**:Global.asax或Web.config文件的改动也会触发Session丢失。 4. **应用...

    thinkphp5.0-php登录超时检测功能的类

    // 提示登录超时并跳转到登录页面 alert('您的登录已超时,请重新登录'); window.location.href = 'login/index'; // 替换为实际的登录页面URL } }); } // 启动心跳 sendHeartbeat(); ``` 在后端,`/api/...

Global site tag (gtag.js) - Google Analytics