另:struts的Map session 不是同一个Session
struts里的Session实际上是一个Map集合,
private Map<String, Object> session;
与servlet的HttpSession不同,struts2的session并不能在不同action里引用,放入session的值,只能在本action里取,以及传递到页面上。
struts2里获得HttpSession、httpServletRequest、HttpServletResponse的方法:
public class AdminAction extends ActionSupport implements SessionAware,ServletResponseAware{
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse response = (HttpServletResponse) ActionContext.getContext().get(ServletActionContext.HTTP_RESPONSE);
HttpSession session = request.getSession();
//杀死session
session.invalidate();
}
分享到:
相关推荐
本文将深入探讨Struts2中如何获取request和session,以及这两种对象的作用和应用场景。 ### Struts2框架简介 Struts2是基于Java Servlet API的一个开源MVC(Model-View-Controller)框架,它提供了强大的功能来...
总结来说,ActionContext和ServletActionContext是Struts2中处理请求和响应的关键工具,它们提供了方便的方式来访问和操作HTTP请求、会话以及应用上下文中的数据,是理解Struts2工作原理的重要组成部分。正确使用这...
本文将通过一个具体的示例来详细介绍如何在Struts2项目中配置过滤器。 #### 二、过滤器配置实例分析 ##### 2.1 web.xml配置解析 在给定的web.xml配置文件中,可以看到对`SessionInvalidate`过滤器进行了定义和...
为了使Action能够访问到HTTP请求(HttpServletRequest)、响应(HttpServletResponse)、会话(HttpSession)等关键对象,Struts2提供了多种获取这些对象的方法。以下将详细介绍如何在Struts2的Action中获取request...
### Struts2中OGNL的使用详解 #### 一、OGNL简介 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取或设置一个对象图中的属性。它在Struts2框架中扮演着极其重要的角色,是Struts2实现...
- ValueStack是Struts2中的一个重要概念,它是一个Ognl(Object-Graph Navigation Language)表达式栈,用于存储Action实例和其他对象,方便视图层访问数据。 - 在ValueStack中,Action实例位于栈顶,使得可以直接...
在Struts2中,访问Web资源,如application、session和request,是常见的操作,这有助于实现数据共享和传递。本示例代码将帮助开发者更好地理解和运用这些功能。 一、Application域对象 Application域对象在所有用户...
在Struts2中,配置文件扮演着至关重要的角色,它定义了应用的行为、组件之间的交互逻辑以及各种资源的映射关系。 #### 二、Struts2配置文件详解 **配置文件格式:** Struts2配置文件通常以`struts.xml`命名,采用...
在Struts2中,可以通过注入的方式直接在Action中使用`HttpServletRequest`, `HttpServletResponse`和`HttpSession`对象,无需手动从Servlet API中获取。这简化了数据的读取和响应的控制。 #### Action的返回值 ...
在Struts2中访问Web内置对象如HttpServletRequest、HttpSession和ServletContext有多种方式。可以通过`ActionContext.getContext()`获取,也可以通过实现`RequestAware`、`SessionAware`、`ApplicationAware`接口来...
#### 四、访问`HttpServletRequest`、`HttpSession`、`ServletContext`的方法 1. **解耦访问方式**: - 通过`ActionContext`访问这些域对象对应的Map对象。 - 实现`Aware`接口,让Struts2注入对应的Map对象。 2. ...
在Struts2中,`session`对象通常被封装成`SessionMap`的形式。获取`SessionMap`对象的方法有: ```java // 方法A Map session = ActionContext.getSession(); // 方法B Map session = (Map) ActionContext....
3. **理解注解**:查看Struts2中的注解,了解其在代码中的作用和配置方式。 4. **深入源码**:API文档可以帮助开发者在必要时深入源码,理解框架内部的工作机制。 最后,"Servlet+API[China].chm"是Servlet API的...
- OGNL是Struts2中强大的表达式语言,用于访问和操作对象的属性。 - 使用`#`前缀取值,表示访问内置对象,如`#session`、`#request`等,这在JSP页面中获取HttpSession或HttpServletRequest中的属性时非常有用。 5...
下面我们将详细介绍在Struts2中,Action类获取Response对象的四种方法。 **方法 1:使用Struts2 Aware拦截器** 此方法基于Struts2的拦截器机制,让Action类实现`ServletResponseAware`接口。通过这个接口,Struts2...
在Struts2中,OGNL表达式通常与Struts标签结合使用,如`s:property`标签,用于显示对象的属性值。例如,`<s:property value="name"/>`将显示栈顶对象的"name"属性值。栈顶对象是指在ValueStack(值栈)中位于最顶层...