`

Struts2 如何获取Request,Session对象

阅读更多

struts1中,获得到系统的request或者session对象非常方便,都是按照形参传递的,但是


struts2中,requestsession都被隐藏了
struts
提供两种方式访问sessionrequest,其中比较常用的是利用SPRING里面所说的IOC即控制反转
IOC
方式:
action
类实现ServletRequestAware接口,并新建一个HttpServletRequest request
public class UserLoginAction extends ActionSupport implements ServletRequestAware{
    public void setServletRequest(HttpServletRequest request) {
      this.request=request;
   }
然后可以生成的request得到对象,如request.getRemoteAddr()
action
类实现SessionAware接口,并创建一个MAP对象session
public class UserLoginAction extends ActionSupport implements ServletRequestAware,SessionAware{
    public void setServletRequest(HttpServletRequest request) {
      this.request=request;
   }
public void setSession(Map session) {
   this.session=session;  
}
IOC方式
Ioc方式

这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类,具体的方法如下所示。

获得request对象:

A  HttpServletRequest request = ServletActionContext.getRequest ();

BActionContext ct= ActionContext.getContext()

   HttpServletRequest request=

(HttpServletRequest)ct.get(ServletActionContext. HTTP_REQUEST );

获得session对象:

Struts2中底层的session都被封装成了Map类型,我们称之为SessionMap,而平常我们所说的session则是指HttpSession对象,具体的获得方法如下所示。

AMap session=ActionContext.getSession();

BMap session=(Map)ActionContext.getContext().get(ActionContext.SESSION);

得到这个SessionMap之后我们就可以对session进行读写了,如果我们想得到原始的HttpSession可以首先得到HttpServletRequest对象,然后通过request.getSession()来取得原始的HttpSession对象。一般情况下SessionMap已经可以完成所有的工作,我们不必再去碰底层的session

分享到:
评论

相关推荐

    struts2 获取request

    struts2 获取request session对象

    struts2中request和session的获取

    本文将深入探讨Struts2中如何获取request和session,以及这两种对象的作用和应用场景。 ### Struts2框架简介 Struts2是基于Java Servlet API的一个开源MVC(Model-View-Controller)框架,它提供了强大的功能来...

    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

    在Struts2中,虽然request、response和session被隐藏起来,但是提供了多种便捷的方式来获取这些对象,使得开发者可以在自定义的方法中灵活地使用它们。通过使用Struts2提供的接口、注解或ActionContext,开发者能够...

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

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

    STRUTS2获得session和request

    在探讨STRUTS2框架中如何获取session和request这一核心知识点时,我们首先需要理解STRUTS2框架的运行机制以及session与request在Web开发中的基础概念。 ### STRUTS2框架简介 STRUTS2是Apache软件基金会下的一个...

    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获得作用域、参数响应对象及三种符号说明

    这些类帮助开发者更方便地获取不同作用域内的数据,并提供了多种方式来访问`request`、`session`和`response`对象。 #### 二、核心概念 ##### 1. RequestMap `RequestMap`是一个实现了`Map`接口的类,它用于封装`...

    Struts2 Request Process Procedure

    在请求被处理之前,ActionContext对象会被初始化,它保存了请求和响应的相关信息,如session、request、parameters等,是Action和插件之间通信的重要载体。 4. **加载配置**: 过滤器会加载配置信息,包括Action...

    struts2获取response的方法

    总结来说,Struts2提供了多种方式来获取和操作Response对象,包括但不限于通过`ActionSupport`、拦截器、`ActionContext`以及OGNL表达式。这些方法使开发者能灵活地控制HTTP响应,满足各种业务需求。在实际开发中,...

    struts2 学习重点笔记

    - **自动填充**:Struts2 自动从 request 中获取数据并填充到 Action 对象中。 - **原理**:通过拦截器实现,拦截器会查找与 Action 类中的 setter 方法相匹配的请求参数,并调用这些方法填充数据。 **3.3 数据传递...

    struts2中范围对象的操作

    这里使用的 `<s:property>` 标签来自Struts2的标签库,`#request` 表示请求范围,`'objName'` 是要获取的对象名。 ### 2. 不同作用域下的对象操作 #### 2.1 请求范围(Request) 在请求范围内,对象只在当前HTTP...

    Struts2_OGNL

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

    struts1.2增删改查分页Filter Session

    这些参数可以存储在ActionForm中,或者通过Request或Session范围的对象传递。同时,业务逻辑层需要根据这些参数计算出正确的数据范围,并返回给视图层进行展示。 3. Filter(过滤器): Filter在Servlet API中扮演...

Global site tag (gtag.js) - Google Analytics