是否登录,是否过期
在一个web项目中,判断用户是否登录或者 session是否过期 是非常重要的
在struts中的实现
做个BaseAction继承DispatchAction,然后所有ACTION继承此BaseAction
BaseAction主要代码片段
/**
* override method.
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{ //用户如果未登录或session过期,则转向登录动作。
if (!isLogin(request))
return mapping.findForward("sessionEnd");
try
{
// ActionForward forward = new ActionForward();
//重新生成token
//super.saveToken(request);
return super.execute(mapping, form, request, response);
} catch (Exception e)
{
// logger.error(e);
e.printStackTrace();
return mapping.findForward("systemError");
}
}
以后所有类继承此基类
LinkAction extends ActionX
由于DispatchAction特点,所有继承BaseAction的类都可以正常写单独方法完成。
还有一种方式当然是 过滤器了
分享到:
相关推荐
- 用户登录模块:处理用户登录请求,验证凭证,创建Session并存储用户信息。 - 会话检查拦截器:在用户访问受保护资源之前检查Session状态,如果Session不存在或者已过期,则重定向到登录页面。 - 重复登录控制:...
在Struts2框架中,拦截器(Interceptor)是实现业务逻辑和控制流程分离的重要工具,它允许开发者在执行Action之前或之后执行某些操作,比如验证用户登录状态。在这个案例中,我们讨论的是如何使用拦截器来检查用户的...
以上就是JSP中处理Action传递的session数据,进行session清空以及判断session是否存在的基本方法。在实际开发中,确保正确管理session对于维持应用状态和用户体验至关重要。记得在处理session时要考虑到安全性,避免...
当用户的Session过期,如果使用普通HTTP请求,通常会重定向到登录页面。然而,如果使用Ajax进行异步请求,服务器端响应登录页面的HTML内容会给前端带来困扰,因为前端期望的是JSON或者特定的数据格式,而不是整个...
- **服务端状态管理**:服务器端记录每个请求的状态,例如在数据库中设置一个临时状态字段,当请求成功处理后改变该状态,后续的相同请求根据状态判断是否需要处理。 - **幂等操作**:设计业务逻辑时,使得同一操作...
当用户登录后,服务器会在其Session中存储用户的相关信息,如用户ID、权限等。一旦Session超时或者被清除,服务器将不再识别该用户,导致用户需要重新登录。对于传统的HTTP请求,如果Session失效,服务器通常会返回...
19. Session过期会导致与其绑定的对象(如JavaBean)失效,保持会话状态的有效性很重要。 20. 访问数据库通常使用JDBC(Java Database Connectivity),它是Java与数据库交互的标准接口。 【JDBC与数据库】 21. `...
它模拟了一个宠物商店的在线购物系统,涵盖了用户登录、浏览商品、添加到购物车、结账等基本功能。PetstoreWeb和PetstoreFrame可能分别表示Web层和框架层的源码,帮助理解MVC架构的实现。 6. **Servlet**:Servlet...
- **timeout**:长时间无活动导致session过期。 - **在服务器重启后**:重启服务器会清空所有的session。 - **意外故障**:例如服务器崩溃或网络中断。 #### 二、Java进阶知识点 ##### 1. final关键字的使用 - **...
- **session销毁过期建议:** 设置合理的session过期时间,及时清理过期session。 - **防范跨站请求伪造:** 使用CSRF令牌等机制防止跨站请求伪造攻击。 - **防范跨站历史伪造:** 对用户的历史操作进行验证,...
在某些情况下,如果Struts Action只是简单地更改了session中的locale属性而没有返回一个新的页面,浏览器更倾向于缓存这次请求。 解决方案可能包括在链接后面添加一个随机数或时间戳,以防止被缓存。然而,如果这些...
29、修复了后台操作中如果 session 过期重新登陆后出现循环跳转 30、修复了恶意访问后台权限判断,个人签名过滤恶意html代码的问题 31、修复了全文检索不精确 32、修复了如果域名中多一个"/"符,后台表情搜索失效...
29、修复了后台操作中如果 session 过期重新登陆后出现循环跳转 30、修复了恶意访问后台权限判断,个人签名过滤恶意html代码的问题 31、修复了全文检索不精确 32、修复了如果域名中多一个"/"符,后台表情搜索失效...