文章转自:http://blog.sina.com.cn/s/blog_654d69690100vwsr.html
第一种方法(继承SessionAware类来取得session,然后用invalidate()方法清理)
public class ExitAction extends ActionSupport implements SessionAware{
@Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session1 = request.getSession();
session1.invalidate();
return super.execute();
}
public void setSession(Map arg0) {
}
}
//第二种方法(用ActionContext取session,然后用clear()方法清理)
public class ExitAction extends ActionSupport{
@Override
public String execute() throws Exception {
ActionContext ac = ActionContext.getContext();
Map session = ac.getSession();
session.clear();
return super.execute();
}
}
//第三种方法(一样用ActionContext取session,然后取一个Session的KEY,清除该KEY的session,这种办法可以选择性的清理你要清理的session)
public class ExitAction extends ActionSupport{
@Override
public String execute() throws Exception {
ActionContext ac = ActionContext.getContext();
Map session = ac.getSession();
session.remove("buser");
session.remove("guser");
session.remove("fuser");
return super.execute();
}
}
分享到:
相关推荐
5. **清理session**:当不再需要session中的数据或者想要结束用户会话时,应清除session中的数据或直接 invalidated() session。例如: ```java session.removeAttribute("key"); // 或 session.invalidate(); ...
Struts2提供了一种机制,即tokenSession,来解决这个问题。 首先,我们要理解什么是重复提交。在Web环境中,由于网络延迟或用户误操作,可能会导致同一个表单数据被多次提交,这就是重复提交。这种现象可能导致数据...
4. **登出处理**:当用户选择登出时,应清除session中的用户信息,以确保下次访问受保护页面时,系统能检测到用户未登录。 ```java public class LogoutAction extends ActionSupport { public String execute() {...
3. **创建登录Action**:在Struts2中编写一个处理用户登录请求的Action,调用Shiro的Subject.login()方法进行登录操作。 4. **集成拦截器**:使用Struts2的拦截器机制,添加Shiro的`authc`拦截器,该拦截器会在每个...
同时,也需要在用户退出时清除session。 通过以上步骤,我们就完成了基于Struts2的用户登录功能。Struts2的强大之处在于它的灵活性和可扩展性,使得开发者能够轻松地构建复杂的Web应用,同时保持代码的整洁和模块化...
5. **清理令牌**:处理完表单请求后,需要调用`clearToken()`方法来清除session中的令牌,以便于下一次表单提交。 在提供的`TestToken`实例代码中,可能包括了以下关键部分: - 定义一个Action类,继承自`...
5. **验证用户输入**: 当用户提交表单时,Struts2会调用另一个Action来验证用户输入的验证码是否与session中的值匹配。如果匹配,验证成功;如果不匹配,提示用户重新输入。 6. **安全考虑**: 为了增加安全性,...
如果匹配,拦截器会清除Session中的令牌并继续执行Action;如果不匹配,表示可能有重复提交,Action将返回一个错误视图,提示用户已经提交过表单。 4. **处理跳转**:为了防止因为forward跳转引起的重复提交,可以...
在整合中,Struts2负责接收前端请求,调用服务层方法,最后返回响应。通过Action类和拦截器,可以实现与Spring的无缝集成,同时也可以利用Spring的缓存功能,将频繁访问的数据存储在Redis中。 3. **Hibernate框架**...
同时,通过`getSession()`方法清除与特定客户端地址相关的`session`数据,确保购物车被彻底清空。 `putInOrGoShoppingCar`方法首先检查`session`中是否存在标志(`flag`),若不存在,则表明是第一次添加商品到...
记得在用户退出时清除Session中的相关信息。 6. **JSP视图**:负责展示登录表单和反馈信息。JSP页面中,使用Struts2的标签库,如`s:form`、`s:textfield`、`s:submit`等,与Action进行交互。 7. **配置文件**:...
1. **令牌生成**:当用户访问一个需要防护的表单页面时,Struts2框架会在服务器端生成一个唯一的令牌,并将其存储在服务器的会话(Session)中。同时,这个令牌会被添加到HTML表单中,通常作为隐藏字段的形式传递给...
例如,可以创建一个`UploadedFile`实体,包含文件名、大小、类型等字段,然后在Action的execute方法中,使用`SessionFactory`创建`Session`,通过`Session.save()`或`Session.saveOrUpdate()`方法将文件元数据保存到...
Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。在Struts2中,Action是核心组件之一,它负责处理用户的请求,并将业务逻辑的结果返回给视图进行展示。本实例将深入探讨在基于用户登录...
在Struts2的Action中,取出Session中的验证码与用户输入的进行比较,如果匹配则通过验证,否则返回错误信息。 ```java String userCaptcha = actionRequest.getParameter("captcha"); String sessionCaptcha = ...
### Struts2内置拦截器简介 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2的核心是拦截器(Interceptor)机制...
登录成功后,用户可以选择退出系统,此时会清除session中的用户信息。 4. 权限控制:根据角色的不同,系统应有不同的操作权限。例如,普通学生可能只能查看自己的信息,而管理员则可以查看和修改所有学生的信息。 ...
这可以通过设置session超时时间,或者在用户退出或离开页面时主动清除session来实现。事务处理则是保证多步骤操作原子性、一致性的重要手段,尤其是在数据库操作中。在Spring框架中,可以通过@Transactional注解来...