`
littie1987
  • 浏览: 133353 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Struts 中使用request

 
阅读更多

在struts2中有两种方式可以得到这些对象

1、非IoC方式

要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类。我们可以通过它的静态方法getContext()获取当前Action的上下文对象。有了这个对象我们想获得其他几个对象就好办了

ActionContext ctx = ActionContext .getContext(); Map session = ctx.getSession(); 细心的朋友可以发现这里的session是个map对象在Struts2中底层的session都被封装成了Map类型我们可以直接操作这个map 进行对session的写入和读取操作而不用去直接操作HttpSession对象

另外,org.apache.struts2.ServletActionContext作为辅助类(Helper Class),可以帮助您快捷地获得这几个对象。

HttpServletRequest request = ServletActionContext. getRequest(); HttpServletResponse response = ServletActionContext. getResponse(); HttpSession session = request.getSession(); 如果你只是想访问session的属性(Attribute),你也可以通过ActionContext .getContext().getSession()获取或添加session范围(Scoped)的对象。

2、IoC方式(这种方式在tapestry中也是这样实现的) 要使用IoC方式,我们首先要告诉IoC容器(Container)想取得某个对象的意愿,通过实现相应的接口做到这点。具体实现

Java代码 复制代码 收藏代码
  1. import java.util.Map;   
  2.   
  3. import javax.servlet.http.HttpServletRequest;   
  4. import javax.servlet.http.HttpServletResponse;   
  5. import javax.servlet.http.HttpSession;   
  6.   
  7. import org.apache.struts2.interceptor.ServletRequestAware;   
  8. import org.apache.struts2.interceptor.ServletResponseAware;   
  9. import org.apache.struts2.interceptor.SessionAware;   
  10.   
  11. import com.opensymphony.xwork2.ActionSupport;   
  12.   
  13. public class IoCServlet extends ActionSupport implements SessionAware,   
  14.         ServletRequestAware, ServletResponseAware {   
  15.     private String message;   
  16.     private Map att;   
  17.     private HttpServletRequest request;   
  18.     private HttpServletResponse response;   
  19.   
  20.     public String getMessage() {   
  21.         return message;   
  22.     }   
  23.   
  24.     public void setSession(Map att) {   
  25.         this.att = att;   
  26.     }   
  27.   
  28.     public void setServletRequest(HttpServletRequest request) {   
  29.         this.request = request;   
  30.     }   
  31.   
  32.     public void setServletResponse(HttpServletResponse response) {   
  33.         this.response = response;   
  34.     }   
  35.   
  36.     @Override  
  37.     public String execute() {   
  38.         att.put("msg""Hello World from Session!");   
  39.   
  40.         HttpSession session = request.getSession();   
  41.         StringBuffer sb = new StringBuffer("Message from request: ");   
  42.         sb.append(request.getParameter("msg"));   
  43.         sb.append(" Response Buffer Size: ");   
  44.         sb.append(response.getBufferSize());   
  45.         sb.append(" Session ID: ");   
  46.         sb.append(session.getId());   
  47.   
  48.         message = sb.toString();   
  49.         return "success";   
  50.     }   
  51. }  
分享到:
评论

相关推荐

    struts2使用request、response

    本文将详细介绍如何在Struts2中使用request和response。 #### 二、Struts2中request与response的获取方式 在Struts2中,可以通过以下几种方式来获取request和response对象: 1. **使用Struts2提供的拦截器:** - ...

    struts2 获取request

    struts2 获取request session对象

    Struts2获取request的四种方式

    这种方式与第一种方式相似,但使用了Struts2提供的`ServletActionContext`来获取Request,而不是从`ActionContext`中获取。 4. **Servlet相关的IoC取得Request等对象的方式** 最后一种方式也是通过注解,但是使用...

    struts2中获得request对象

    本文将详细讲解在Struts2中获取`request`对象的几种常见方法,以及它们的适用场景。 1. **Action上下文(ActionContext)** `ActionContext`是Struts2的核心组件之一,它封装了与当前请求相关的所有上下文信息,...

    struts2中request和session的获取

    在Struts2框架中,对request和session的管理和获取是实现Web应用中用户交互和状态维护的重要手段。本文将深入探讨Struts2中如何获取request和session,以及这两种对象的作用和应用场景。 ### 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 过度耦合,...

    struts的request包装替换的思想

    在Struts框架中,请求(Request)扮演着至关重要的角色,因为它承载了客户端的所有请求信息。本篇文章将深入探讨“Struts的request包装替换的思想”,以及如何通过自定义Filter来实现这一过程。 在标准的Struts框架...

    Struts2中获得Request,Response的几种方法

    Struts2中获得Request,Response的几种方法,有代码作为参考。

    Struts2上传文件(直接用request)

    Struts2上传文件(直接用request)

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

    例如,你可以使用`ActionContext.getContext().get("key")`来获取请求或会话中的值,而`ActionContext.getContext().getValueStack()`则可以获取ValueStack,它是Struts2中处理模型驱动的一个关键部分。 2. **...

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

    // 从request中获取属性 public String execute() { String receivedMessage = message; // 这里可以从请求中获取message // ... } } ``` 接下来是session对象,它比request具有更长的生命周期,可以跨多个...

    struts2创建 request response session application

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

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

    在实际应用中,通常会结合Struts2的拦截器(Interceptor)来处理这些域数据,例如,可以在预处理(preintercept)阶段将数据放入域,然后在后处理(postintercept)阶段取出使用。 此外,Struts2还提供了Action上...

    struts2标签使用方法

    Struts2 允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂、多变的需求。 Struts2 标签分类 Struts2 标签库可以分为三大类:UI 标签、非 UI 标签和 Ajax 标签。 UI 标签 UI 标签主要用于生成 HTML ...

    struts中dispatchAction用法

    Struts是Java Web开发中的一款经典MVC框架,它的核心组件之一是DispatchAction,这个组件在...通过学习和分析这些文件,初学者可以更深入地理解Struts中DispatchAction的使用和工作原理,从而更好地进行Java Web开发。

    Struts2 Request Process Procedure

    请求首先到达的是Struts2的过滤器Dispatcher,它通常是web应用部署描述符(web.xml)中的一个Filter。过滤器Dispatcher负责拦截所有请求,检查是否属于Struts2的请求。 3. **ActionContext初始化**: 在请求被...

    STRUTS2获得session和request

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

    struts中文手册

    Struts中文手册提供了全面的指南,帮助中国开发者更好地理解和使用Struts框架。 在Struts框架中,核心组件包括: 1. **ActionServlet**:这是Struts框架的核心,它是一个扩展了Servlet的类,负责处理所有HTTP请求...

    Struts中文乱码解决方案

    这里我们将详细探讨如何解决 Struts 中的中文乱码问题。 一、在 Action 类中的解决方法: 当在 Action 类中遇到中文乱码问题时,可以使用以下代码进行转换。创建一个静态工具类,如 `Chinese`,并定义一个 `...

Global site tag (gtag.js) - Google Analytics