`
njmnjx
  • 浏览: 234729 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在struts2中获取request/session/application对象

阅读更多
在action中获取到request/response/session/application对象:
一、
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
ServletContext application =  ServletActionContext.getServletContext();


二、
ActionContext context = ActionContext.getContext();
		
Map request = (Map)ActionContext.getContext().get("request");
		
Map session = ActionContext.getContext().getSession();
		
Map application = context.getApplication();


不能获得response 对象



注:
Static ActionContext getContext() ---获得当前线程的向下文

Object get(Object key)  ---- getAttribute()

void put( Object key, Object value ) ---- setAttribute()
Map getParameter()   相当于Servlet中的getParameterMap()

Map getApplication()  对应于ServletContext



·ActionContext

ActionContext(com.opensymphony.xwork.ActionContext)是Action执行时的上下文,上下文可以看作是一个容器(就是一个Map而已),它存放的是Action在执行时需要用到的对象,比如:在使用WebWork时,我们的上下文放有请求的参数(Parameter)、会话(Session)、Servlet上下文(ServletContext)、本地化(Locale)信息等。WebWork负责将Servlet相关数据转换为与ServletAPI无关的Map对象(即ActionContext),使得xwork的Action实现与web层、逻辑层与表现层的解耦。
在每次执行Action之前都会创建新的ActionContext,ActionContext是线程安全的,也就是说在同一个线程里ActionContext里的属性是唯一的,这样我的Action就可以在多线程中使用。我们可以通过ActionContext的静态方法:ActionContext.getContext()来取得当前的ActionContext对象。


·ServletActionContext

提供直接与Servlet容器交互的途径。通过它,可以取得HttpServletRequest、HttpServletResponse 、ServletConfig、ServletContext、PageContext对象。但是,使用ServletActionContext意味着Action与ServletAPI的紧密耦合。
分享到:
评论

相关推荐

    Struts2学习笔记(三) Struts2中访问request,session,和application对象

    在Struts2中,访问request、session和application对象是进行数据共享和传递的重要手段。这篇学习笔记主要探讨了如何在Struts2框架下有效地利用这三种域对象。 首先,request对象代表一次HTTP请求,它存储的数据仅...

    Struts2访问request,session,application的四种方式

    在Struts2中,有四种主要的方式可以用来操作request、session和application上下文中的数据。这篇内容将深入探讨这四种方法,并结合源码和实用工具来帮助理解。 1. **ActionContext**: Struts2的核心组件...

    Struts2的Action中获得request response session几种方法

    以下将详细介绍如何在Struts2的Action中获取request、response、session。 ### 1. 使用ActionContext获取request、response、session Struts2的Action可以通过`ActionContext`来间接获取`request`、`response`和`...

    struts2访问request,session,application作用域

    在 Struts2 中,处理用户请求时经常需要使用到 Servlet 的内置对象,比如 Request、Session 和 Application,这些对象可以帮助开发者存储和获取数据。然而,在实际应用中,为了避免代码与 Servlet API 过度耦合,...

    struts2访问application、session以及request等web资源的示例代码

    在Struts2中,访问Web资源,如application、session和request,是常见的操作,这有助于实现数据共享和传递。本示例代码将帮助开发者更好地理解和运用这些功能。 一、Application域对象 Application域对象在所有用户...

    struts2创建 request response session application

    在Struts2框架中,理解并正确使用request、response、session和application范围对于有效地管理数据和状态至关重要。这些范围帮助我们在Web应用程序中实现逻辑和数据流的分离,提高代码的可维护性和可扩展性。通过...

    Struts2通过使用ActionContext类获取request和response对象

    在Struts2中,ActionContext不仅仅是获取request和response的工具,它还包含了其他有用的上下文信息,如session、application等。例如,你可以通过ActionContext获取session中的数据: ```java Map, Object> ...

    STRUTS2获得作用域、参数响应对象及三种符号说明

    在Struts2中,`session`对象通常被封装成`SessionMap`的形式。获取`SessionMap`对象的方法有: ```java // 方法A Map session = ActionContext.getSession(); // 方法B Map session = (Map) ActionContext....

    修改题目1,将提交的“用户名信息”保存到request中,“密码信息”保存到session中,

    2.修改题目1,将提交的“用户名信息”保存到request中,“密码信息”保存到session中,而“用户是否已经注册的判定信息”保存在application中,并在显示页面中,分别从request、session和application中获取数据并...

    struts中自定义的tag的Java类中如何获得session

    通过`pageContext`,我们可以方便地获取到如`request`、`session`、`application`等内置对象,这对于实现自定义标签非常有帮助。 #### 2.2 获取`HttpSession`的具体方法 在自定义标签的Java类中,可以通过以下方式...

    struts2中范围对象的操作

    Struts2中的范围对象 #### 1.1 ActionContext **ActionContext** 是Struts2框架中的一个核心组件,它为Action提供了上下文环境。通过调用 `ActionContext.getContext()` 方法可以获得当前的ActionContext实例。...

    struts2中#号的用法

    在Struts2中,`#`符号通常用于访问Ognl表达式中的变量。它支持访问不同的作用域,如当前页面、请求范围、会话范围以及应用程序范围。下面将分别介绍这些不同作用域的访问方式: 1. **当前页面**:当需要访问当前...

    ActionContext介绍(在Struts2中)

    象,如HttpServletRequest、HttpServletResponse,或者需要访问Session和Application等信息,在Struts2框架中,我们可以利用ActionContext和ServletActionContext这两个类。ActionContext是Struts2提供的一个核心上...

    struts2中的ActionContext与ognl

    ActionContext是Struts2框架中一个关键的组件,它提供了当前请求上下文的信息,而OGNL(Object-Graph Navigation Language)则是Struts2中的表达式语言,用于在模型和视图之间进行数据传递。下面将详细探讨这两个...

    Struts2_OGNL

    4. 命名对象:包括在Servlet作用范围内的对象信息,如Request、Session、Application等。 在实际开发中,开发者可以通过OGNL表达式访问值栈中的Action属性、对象和其他信息。例如,使用标签可以输出Action中的属性...

    学习OGNL在Struts2中工作原理

    ### 学习OGNL在Struts2中的工作原理 #### OGNL简介 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Struts2框架的一个核心特性之一,被广泛应用于框架的...

    struts2配置文件以及代码示例

    在Struts2中,配置文件扮演着至关重要的角色,它定义了应用的行为、组件之间的交互逻辑以及各种资源的映射关系。 #### 二、Struts2配置文件详解 **配置文件格式:** Struts2配置文件通常以`struts.xml`命名,采用...

    传智168期JavaEE struts2杜宏 day32~day33笔记

    在Struts2中,通常会将Action对象设置为根对象(root),而其他Web域对象(如request, session, application)则作为非根对象进行管理。 - **根对象(root)与非根对象**:根对象在获取数据时不需要加上`#`符号,而非根...

    struts2 ognl的用法

    OGNL在Struts2中主要用于页面显示数据、表单验证、后端逻辑处理等方面。在Struts2中使用OGNL表达式主要涉及以下几种符号:“#”、“%”和“$”。 ##### 1. “#”符号的使用 - **访问Struts2上下文**: - `#`可用于...

Global site tag (gtag.js) - Google Analytics