`

struts2 session有效期设置的三种方法

阅读更多
方法一:
在使用了struts2框架的任何地方使用
ServletActionContext.getRequest().getSession().setMaxInactiveInterval(xxx);

方法二:
在Action中定义一个HttpServletRequest的成员对象req;
Action类实现ServletRequestAware接口,实现其中的方法;
在实现的方法中编写: req=方法参数;
然后在该Action中任何需要用到Session的地方使用req.getSession()......

方法三:
在工程的 web.xml中 设置session的有效期
<session-config>
   <session-timeout>30</session-timeout>
</session-config>

session-timeout元素用来指定默认的会话超时时间间隔,以分钟为单位。该元素值必须为整数。如果session-timeout元素的值为零或负数,则表示会话将永远不会超时。 session-timeout的取值范围是1-1440。



setMaxInactiveInterval和session-config的比较:
1、setMaxInactiveInterval的优先级高,如果setMaxInactiveInterval没有设置,则默认是session-config中设置的时间。
2、setMaxInactiveInterval设置的是当前会话的失效时间,不是整个web服务的。
3、setMaxInactiveInterval的参数是秒,session-config当中配置的session-timeout是分钟。
分享到:
评论

相关推荐

    struts2+cookies实现购物车

    - **添加商品到购物车**:如果用户尝试将某个商品添加到购物车,但当前没有购物车信息(即`session`中`flag`属性不存在),则创建一个新的cookie,其名称和值都为商品ID,并设置有效期为一年。这样,即使用户关闭...

    struts2与cookie实现自动登录

    - Token的有效期应设置合理,避免长期占用服务器资源。一般情况下,可以设置为一段时间不活动后自动失效。 - 需要防范Session固定攻击,即恶意用户利用已知的Session ID登录他人账户。一种常见的策略是每次登录后...

    通过Struts2返回验证码文件

    在Struts2框架中,开发Web应用时,我们经常需要实现验证码功能,以防止恶意的自动脚本或机器人提交表单。...在实际项目中,还可以考虑添加更多的安全措施,如限制验证码的使用次数、设置验证码的有效期等。

    struts2的学习笔记+测试源代码

    1. Token的有效性:通常Token需要设置一定的有效期,防止用户长时间未提交而使Token失效。 2. Token的存储:Token可以存储在session或cookie中,但session更安全,因为cookie可能会被用户禁用或篡改。 3. 错误处理:...

    利用Struts2的令牌机制。

    1. **令牌的有效期**:令牌应有一定的有效期,过期后需重新生成,防止被恶意利用。 2. **错误处理**:当令牌验证失败时,应返回一个明确的错误提示,让用户了解问题所在。 3. **用户体验**:令牌机制可能会导致用户...

    登陆验证码(struts2实现)

    6. **安全注意事项**:验证码应设置有效期,过期后自动失效,以防止恶意用户长时间使用同一个验证码。同时,为了防止跨站请求伪造(CSRF),每个验证码请求应伴随一个唯一的令牌。 7. **优化用户体验**:考虑提供重...

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

    8. **安全措施**:为了提高安全性,你可能需要限制同一IP地址尝试验证的次数,或者设置验证码的有效期,过期后需重新生成。 在实现过程中,你可能会遇到以下几个技术问题: 1. **中文字符编码**:由于中文字符涉及...

    struts+token机制解决表单重复提交

    3. **验证Token**: 服务器接收到请求后,首先检查请求中的Token是否与Session中存储的Token匹配,同时检查Token是否过期(如设置一个有效期,如5分钟)。如果匹配且未过期,则认为是合法的请求。 4. **处理请求与...

    Struts,Hibernate,Spring经典面试题

    - **FormBean 验证:** 在 Struts 中,表单数据通常由 FormBean 处理,而 FormBean 的 validate 方法用于执行表单验证逻辑。 - **客户端验证:** Struts 提供了基于 JavaScript 的客户端验证,可以在数据提交到...

    strut2使用cookie实现自动登录

    // 设置一周有效期 response.addCookie(autoLoginCookie); return SUCCESS; } else { return INPUT; } } // ... } ``` 这样,每次用户访问应用时,如果Cookie存在且有效,自动登录功能就会被触发。当然,...

    from表单,生成验证码(纯数字、纯字母、数字加字母)___使用ajax异步操作--------struts版

    记住,为了增强安全性,验证码的有效期不宜过长,且每次提交表单或验证码输入错误时,应更换新的验证码。 在提供的文件`CheckCode`中,可能包含了实现上述功能的Java代码,例如Action类、验证码生成逻辑等。你可以...

    ACCP 二期JSP_servlet_javabean笔记

    - **Session的有效期**:Session默认有效期为30分钟,可以通过设置`setMaxInactiveInterval(int interval)`来改变其有效期。 #### 四、集合类Set与Map的使用 - **Set**:不包含重复元素的集合。常用实现类有`...

    java web加法验证码实例

    - 验证码的有效期:为防止session固定攻击,应设置验证码过期时间,例如10分钟未使用则失效。 - 安全性增强:除了加法,还可以考虑使用其他复杂的数学问题或字符验证码,以增加破解难度。 - 防止重放攻击:每个...

    Cookie例子.docx

    `setMaxAge()`函数设定了Cookie的有效期,这里设置为14天,即14天后Cookie将自动过期。 2. **Cookie的获取**: `getCookie()`方法首先从请求中获取所有的Cookie,然后遍历这些Cookie,如果找到名称为`USER_COOKIE`...

    SSH整合文档教程…………

    - **会话管理**:合理设置session的有效期,防止会话劫持等攻击。 #### 八、后续扩展 - **分布式部署**:随着业务的发展,单机部署可能无法满足需求,考虑分布式部署方案。 - **微服务架构**:将复杂的系统拆分成多...

    面试宝典总结

    - **cookie**: 客户端保存用户信息的方式,存储在浏览器中,有大小限制(一般为4KB),可设置有效期。 **session分布式处理** - **分布式session**: 由于单台服务器无法满足大量并发请求,需将session数据保存在...

    JAVA WEB程序开发范例宝典14-18章源代码

    - 学习Cookie的创建、有效期设置和浏览器限制,以及如何在客户端和服务器之间传递信息。 - 探讨基于Session和Cookie的安全性问题,以及如何防止会话劫持和跨站请求伪造(CSRF)。 通过这些章节的学习,开发者可以...

    struts-conversation

    5. **Context**: 对话上下文是一个存储对话相关元数据的地方,比如对话ID和有效期。这个上下文可以在整个请求链路中传播,使得所有需要对话信息的组件都能访问。 6. **持久化策略**: 为了在HTTP请求之间保存对话...

Global site tag (gtag.js) - Google Analytics