`

struts2如何获取Request-Session-ServletContext-Response

阅读更多
1. 访问和添加request/session/application属性
   如果只是往request/session/application中设置属性,可以用下面的方式
   
  ActionContext ctx = ActionContext.getContext();
		ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app
		ctx.getSession().put("ses", "session范围");//往session里放入ses
		ctx.put("req", "request范围");//往request里放入req
		ctx.put("names", Arrays.asList("老张", "老黎", "老方"));
   
  jsp页面上获取方式
  
 ${applicationScope.app}<br>
    ${sessionScope.ses}<br>
    ${requestScope.req}<br>
2. struts2中如何获取httpServletRequest/HttpSession/ServletContext/HttpServletResponse对象
方法一,通过ServletActionContext类获取:(推介使用)
  
  public String rsa() throws Exception{
		HttpServletRequest request = ServletActionContext.getRequest();
		ServletContext servletContext = ServletActionContext.getServletContext();
		request.setAttribute("req", "请求范围属性");
		request.getSession().setAttribute("ses", "会话范围属性");
		servletContext.setAttribute("app", "应用范围属性");
		HttpServletResponse response = ServletActionContext.getResponse();
		return "message";
	}
方法二,实现指定接口,由struts框架注入:
import com.opensymphony.xwork2.ActionContext;
public class HelloWorldAction2 implements ServletContextAware,ServletRequestAware,ServletResponseAware{
	private HttpServletRequest request ;
	private HttpServletResponse response ;
	private ServletContext servletContext ;
	public void setServletContext(ServletContext context) {
	//context对象不是应用程序传进去的,而是由struts框架自动注入的
		this.servletContext = context ;
	}
	public void setServletRequest(HttpServletRequest request) {
		this.request = request ;
	}
	public void setServletResponse(HttpServletResponse response) {
		this.response = response ;
	}
}
分享到:
评论

相关推荐

    struts2访问request,session,application作用域

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

    struts2创建 request response session application

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

    Struts2 demo

    1. **访问或添加三个范围的属性与获取Request-Session-ServletContext-Response对象.rar** - Struts2允许开发者在不同的范围内存储和访问数据,包括Action级(请求)、Session级和Application级(ServletContext)...

    struts2的学习笔记+测试源代码

    本学习笔记结合测试源代码深入探讨了如何在Struts2框架下获取并使用`request`、`session`、`ServletContext`以及`response`对象,这些都是在Web开发中不可或缺的基础组件。 ### request对象 `HttpServletRequest`...

    struts2中action如何获取jsp页面参数1.pdf

    当我们需要从JSP页面传递参数到Action类时,Struts2提供了多种方式来获取这些参数。以下是关于如何在Struts2中Action获取JSP页面参数以及相关上下文对象的详细说明: 1. **ActionContext获取请求参数** - `...

    BaseAction

    在Struts2中,操作Servlet API 的BaseAction 包括获取Request对象、获取Session对象、获取ServletContext对象、获取Response对象

    教案《标签啊,标签!》struts标签介绍.pdf

    1. **pageContext**:提供了对JSP页面上下文的访问,包括servletContext、session、request和response等对象。 - `${pageContext.servletContext}`: 访问servlet上下文 - `${pageContext.session}`: 获取session...

    struts学习笔记

    - `ServletActionContext`可用于获取`request`、`response`和`servletContext`对象,但不提供直接获取`session`的方法。 #### 三、Struts.xml中package标签的详细配置说明 **1. 基本属性**: - **name**:包的...

    struts2.1文档

    以下是关于Struts2.1中获取Servlet对象的三种方法的详细解释: ### 方法一:直接通过ActionContext访问 在Struts2中,`ActionContext`是用于在Action和Servlet上下文之间传递数据的桥梁。通过`ActionContext`,...

    STRUTS:listener监听器

    &lt;listener-class&gt;org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter&lt;/listener-class&gt; &lt;!-- 配置WebContextLoaderListener --&gt; &lt;listener-class&gt;org.springframework.web.context....

    java面试题

    - 继承方式:Struts1使用抽象类,Struts2采用接口或继承ActionSupport - 线程模式:Struts1的Action是单例,线程安全;Struts2的Action为每个请求创建实例 - Servlet依赖:Struts1的Action直接依赖Servlet API,...

    Struts2访问servlet分享

    在Struts2框架中,有时我们需要直接访问Servlet相关对象,如HttpServletRequest、HttpSession和ServletContext,以实现特定的功能。本文将探讨如何在Struts2中访问和操作这些对象。 **一、访问或添加request/...

    华为招聘Java面试题:概念题:1. 描述Struts体系结构?对应各个部分的开发工作主要包括哪些?2. JSP有哪些内置对象和动作?它们的作用分别是什么?……

    根据提供的华为Java面试题,我们将深入探讨两个主要概念:Struts框架体系结构及其开发工作,以及JSP中的内置对象和动作。 ### 1. Struts框架体系结构 #### 概述 Struts是一个用于构建企业级Java Web应用程序的开源...

    Struts2访问Servlet的三种方式

    然而,在实现业务逻辑时,经常需要访问 Servlet 中的对象,如 request、session 和 application 等。因此,Struts2 提供了三种方式来访问 Servlet API,这三种方式分别是实现特定接口、通过 ServletActionContext 类...

    struts.ppt

    JavaBean可以在page、request、session或application范围内实例化和使用,提供了方便的数据管理和共享机制。 Struts框架通过这些组件协同工作,实现了高效、可维护的Web应用开发。它的核心思想是解耦视图、控制和...

    《标签啊,标签!》struts标签介绍.pdf

    例如,可以使用${pageContext.servletContext}来获取当前页面的上下文环境,通过${pageContext.session}获取当前用户会话,使用${pageContext.request}来操作请求,以及${pageContext.response}来操作响应。...

    Struts框架 架构 应用 演示 ppt

    此外,HttpSession和ServletContext对象分别用于存储session和application级别的共享数据。 1.2 JSP组件 JSP是一种结合了HTML和Java的页面,它的执行过程涉及到JSP容器将JSP转换为Servlet源码,再编译为Servlet类。...

    精通Struts技术

    - **隐式对象**:预定义的对象,可以直接在 JSP 页面中使用,如 request、response、session 等。 - **标准动作**:如 jsp:useBean、jsp:include 等,用于执行常见的页面操作。 #### 第三章:开始学习 Struts **...

    JavaEE学习参考手册.docx

    本手册涵盖了JavaEE的基础知识、JSP、Servlet、EL表达式、Struts2框架等方面的内容,旨在帮助开发者快速掌握JavaEE的开发技术。 一、JSP(Java Server Pages) JSP是一种用于创建动态网页的技术,允许开发者在HTML...

Global site tag (gtag.js) - Google Analytics