struts2 Action中获取request, response对象的方法
第一种方法:
ActionContext ctx = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);
//ServletActionContext.APPLICATION;
//ServletActionContext.SESSION;
//ServletActionContext.PAGE_CONTEXT;
第二种方法:
实现 ServletRequestAware
public class TestAction implements ServletRequestAware{
/**---*/
public void setServletRequest(HttpServletRequest request) {
// 要复写这个方法
request.setAttribute("key","value");
}
}
public class TestAction implements ServletRequestAware{
/**---*/
public void setServletRequest(HttpServletRequest request) {
// 要复写这个方法
request.setAttribute("key","value");
}
}
第三种:更简单的一种。。
HttpServletRequest request = ServletActionContext.getRequest(); //相应的可以得到response
分享到:
相关推荐
### Struts框架响应客户请求的工作流程详解 #### Struts框架简介 Struts是一个开源的Java Web应用程序框架,属于MVC(Model-View-Controller)架构模式的一种实现。它通过简化Web应用开发,使得开发者能够更加关注...
总结起来,Ajax与Struts2的结合使得Web应用能更高效地处理用户交互,提高响应速度。通过配置Struts2拦截器、使用JSON插件以及编写适当的动作类和前端页面,开发者可以轻松实现异步数据请求和更新。这种技术在现代Web...
在Struts2中,Action类作为Controller处理用户的请求,并通过Result返回响应。 ### 二、AJAX基础 1. **创建AJAX请求**:使用JavaScript的`XMLHttpRequest`对象或者更高级的jQuery库中的`$.ajax()`方法发起异步请求...
- Struts1 的 Action 直接依赖于 Servlet API,请求和响应对象会传入 execute 方法。而 Struts2 尽量减少了对容器的依赖,Action 可以独立于容器进行测试。虽然仍可以访问请求和响应对象,但多数情况下,Struts2 ...
5. **返回处理结果**:处理完成后,Action对象返回一个`ActionForward`对象,指示ActionServlet如何响应客户端的请求,如跳转到另一个页面或返回JSON数据等。 #### Struts2原理概述 **Struts2** 是对Struts1的改进...
ExtJS 动态树结构与Struts框架结合,主要用于构建基于Web的动态树形界面,让用户能够以图形化的方式查看和操作层次结构的数据。在这一过程中,Struts作为MVC框架负责后端业务逻辑处理,而ExtJS则作为前端展示库,...
在Struts 1.2.x中,请求处理流程是整个框架的核心部分,它涉及到了从用户发起请求到服务器响应的完整过程。下面将详细解释这个流程。 1. **请求开始**: 当用户通过浏览器向服务器发送HTTP请求时,请求通常会指向一...
### Struts1与Struts2的本质区别 #### 一、Action实现类的对比 - **Struts1**:要求Action类必须继承一个抽象基类,这意味着开发者必须遵守框架提供的特定结构,这在一定程度上限制了灵活性。此外,由于依赖于抽象...
通常需要借助于第三方工具如Struts TestCase提供的Mock对象来模拟HTTP请求和响应。 - **Struts 2**:Action的测试更加简单直接,只需要初始化Action对象,设置所需的属性,然后调用`execute`方法即可完成测试。这种...
通过这个Demo,你可以学习到如何配置Struts框架,理解ActionServlet和Action类的工作原理,以及它们如何与Servlet交互来处理请求和响应。同时,这个Demo也可能会展示如何利用Struts提供的优势,如更好的结构、可重用...
Struts2通过结果类型配置来决定如何响应前端请求。在`struts.xml`配置文件中,我们可以定义一个JSON结果类型: ```xml <package name="default" namespace="/" extends="struts-default"> <!-- ... --> ...
**Struts1**中的Action实现了`Action`接口,并且继承自`javax.servlet.http.HttpServlet`,这使得Struts1的Action需要直接处理HTTP请求和响应,这意味着开发者需要处理诸如`HttpServletRequest`和`...
Struts2的架构设计采用了拦截器(Interceptor)机制,允许开发人员定义一系列的拦截器来处理HTTP请求和响应。其工作流程大致如下: 1. 用户的浏览器发起一个HTTP请求。 2. 该请求被Struts2框架捕获,请求会被封装...
控制器(Controller)是 Struts 的另一个核心组件,负责处理用户请求和响应。Struts 的控制器组件是 ActionServlet 类中的实例 servlet,实际使用的 servlet 在配置文件中由一组映射(由 ActionMapping 类进行描述)...
Struts2提供了丰富的功能,如拦截器、结果类型、国际化支持等,使得开发者能够更高效地处理请求和响应。 在MVC架构中,Model负责业务逻辑,View负责展示,而Controller负责接收用户请求并调用Model进行处理,然后将...
在Struts2中,我们可以使用JQuery的Ajax方法(如`$.ajax()`或`$.post()`)发送异步请求,提交表单数据到服务器,同时获取JSON响应。 整合步骤如下: 1. **配置Struts2**: 首先,确保你的项目已经引入了Struts2的...
### JavaScript AJAX 请求与 Struts2 Action 实现详解 在 Web 开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛应用于实现页面局部刷新、异步数据交互等功能,极大地提升了用户体验。本文将深入探讨如何...
1. **Action类与Result**:Struts 2中的Action类替代了Struts 1的Form Bean,负责处理用户请求并返回结果。Result则定义了Action执行后的跳转逻辑,可以是页面、重定向或任何其他响应。 2. **拦截器(Interceptor)...
尽管仍能访问请求和响应,但Struts2通过其他机制减少了对HTTP请求和响应对象的直接操作。 测试性是Struts2的一大优势。在Struts1中,由于Action的execute方法直接暴露了Servlet API,测试通常需要依赖于容器,而...
JSON插件允许开发者轻松地将Java对象转换为JSON格式,以便在AJAX请求和响应中使用。在Struts2的showcase应用中,JSON插件通过FreeMarker模板来展示如何输出JSON结果,虽然这种方式有一定的灵活性,但不如直接使用...