`

struts 2中当SESSION过期后返回登陆页面

阅读更多

在struts2+spring+hibernate 的体系中,经常要遇到的一个问题就是当用户登陆后,SESSION超过指定的时间后,
当用户再点某个连接时,系统会自动返回到登陆的页面。在实现时候,由于是STRUTS2,因此可以充分利用拦截器。
拦截器示例代码如下

  ActionContext ctx = ActionContext.getContext();
        Map session = ctx.getSession();
         Action action = (Action)actionInvocation.getAction();
        if (action instanceof LoginSystem) {   
          return actionInvocation.invoke();   
          }   
        String userName = (String)session.get(USER_NAME);
           if(userName == null) 
{
        return LOGIN;
        } else {
         return actionInvocation.invoke();
        }
   要注意的,由于要排除登陆这个ACTION,所以要用    if (action instanceof LoginSystem) {  这句去判断,
因为登陆前会执行这个拦截器,这时SESSION肯定为空,就不能再跑去显示“SESSSION超时”这个页面了

0
0
分享到:
评论

相关推荐

    简单的struts2拦截器利用session拦截用户登录.docx

    - 验证Session是否有效,如果Session ID无效(`isRequestedSessionIdValid()` 返回 false),则表示Session过期,返回 "tologin" 字符串,提示用户重新登录。 - 如果Session有效,从Session中获取 `SystemUser` ...

    基于用户登陆的struts2中action的分类实例

    在Struts2中,Action是核心组件之一,它负责处理用户的请求,并将业务逻辑的结果返回给视图进行展示。本实例将深入探讨在基于用户登录场景下,如何在Struts2中对Action进行分类和设计。 首先,我们需要了解Struts2...

    struts2生成中文验证码的Action

    在Struts2中,Action是核心组件,负责处理用户请求并返回相应的结果。在这个特定的场景中,我们讨论的是如何在Struts2中创建一个能够生成中文验证码的Action。 验证码的主要目的是防止自动机器人或恶意攻击,通过向...

    Struts2登陆简例

    在Struts2中,登录功能通常涉及到以下几个关键组件: 1. **Action类**:这是业务逻辑处理的中心,相当于控制器。在Struts2 Login Demo中,可能会有一个名为`LoginAction`的类,它继承自Struts2的`ActionSupport`类...

    struts做的登陆

    - **session超时**:考虑session过期处理,如设置session失效时间,过期后重定向至登录页面。 9. **安全注意事项** - **密码加密**:在存储和比较密码时,应先进行加密,防止明文传输和存储带来的风险。 - **...

    struts2-生成图片验证码

    在Struts2中实现这个功能,我们需要以下步骤: 1. **创建验证码类(CaptchaAction)**: 首先,我们需要创建一个Action类,负责生成和验证验证码。这个类将包含一个方法来生成随机字符串,并将其保存在session中,同时...

    struts2 会话技术

    - **Session范围**:在Struts2中,将数据存储在session范围内意味着数据将在整个用户会话期间可用,直到会话过期或被显式销毁。这对于需要跨多个页面保留用户信息的情况非常有用,如用户的登录状态。 - **Request...

    Struts2的验证码生成

    此外,可以设置验证码的有效时间,过期后需重新生成。 10. **优化用户体验**:可以添加点击刷新验证码的功能,以应对用户看不清验证码的情况。同时,应考虑无障碍访问,为视觉障碍用户提供音频验证码。 通过以上...

    Struts2面试题及答案

    在Struts2框架中,FilterDispatcher是核心组件之一,它负责处理用户请求,并调用相应的Action进行业务逻辑处理。相较于Struts1和WebWork,Struts2的设计更加先进和灵活。 **知识点解析:** 1. **FilterDispatcher**...

    struts2 session 解读

    - 在Struts2中,可以通过`ServletActionContext.getRequest().getSession()`方法来获取当前的Session对象。 - 示例代码如下: ```java public String findAll() { HttpSession session = ServletActionContext....

    Struts2验证码

    在Struts2的Action中,取出Session中的验证码与用户输入的进行比较,如果匹配则通过验证,否则返回错误信息。 ```java String userCaptcha = actionRequest.getParameter("captcha"); String sessionCaptcha = ...

    struts2实现验证码

    在Struts2中实现验证码,我们通常会涉及以下几个关键步骤: 1. **生成验证码**:创建一个Java类,用于生成随机的字符串或数字。这个类可能包含一个方法,返回一个指定长度的字符串,例如包含4位数字。我们可以使用...

    登陆验证码(struts2实现)

    **标题:“登陆验证码(struts2实现)”,描述中提到的博文链接:https://ewf-momo.iteye.com/blog/1678220** 验证码(CAPTCHA)是一种用于防止自动化程序(如机器人)滥用服务的技术。在登录过程中,验证码能够确保...

    Struts2 图片验证码

    这个页面会调用Action中的方法,生成并输出图片到浏览器。同时,我们还需要在页面上提供一个表单,让用户输入看到的验证码。 在用户提交表单时,Struts2框架会调用另一个Action来处理验证。在这个Action中,我们...

    基于struts2的验证码生成

    5. **结果映射(Result Mapping)**:在Struts2的配置文件(struts.xml)中,我们需要定义Action类的不同结果,比如生成验证码成功后的页面跳转,或者验证失败后的提示信息。 6. **JSP页面**:前端展示部分,包括...

    仿CSDN样式(Struts2中文验证码源代码)

    在本项目中,“仿CSDN样式(Struts2中文验证码源代码)”是为了实现类似CSDN登录页面的中文验证码功能,这在防止恶意机器人自动登录或注册时非常有用。 验证码的主要作用是验证用户是否为真人,通过显示一组随机生成...

    struts2中防止重复提交的方法

    Struts2 提供了一个称为 `<s:token>` 的标签,用于生成一个唯一的标识符,并将其存储在 session 中。当表单提交时,这个标识符会一同发送到服务器。服务器端的拦截器(如 `token` 拦截器)会检查这个标识符,如果...

    利用Struts2的令牌机制。

    在Struts2中,实现令牌机制有以下几种方式: 1. **使用拦截器(Interceptor)**:Struts2提供了`TokenInterceptor`和`TokenSessionInterceptor`。前者会将令牌保存在用户的会话(session)中,并在表单提交时检查;...

    将验证码代码应用于struts2框架

    在IT行业中,Struts2是一个非常流行的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,提供了一种结构化的方式来构建应用程序。验证码(Verification Code)是网络应用中常用的一种安全机制,用于...

Global site tag (gtag.js) - Google Analytics