创建一个action类,HeaderReader.java
ackage info.icontraining.struts2;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;
public class HeaderReader extends ActionSupport implements ServletRequestAware {
private HttpServletRequest request;
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public String execute() {
Enumeration e = request.getHeaderNames();
String headerName = null;
while(e.hasMoreElements()) {
headerName = (String) e.nextElement();
System.out.println(headerName + ": ");
System.out.println(request.getHeader(headerName) + "\n");
}
return SUCCESS;
}
}
配置Action
<action name="headerReader" class="info.icontraining.struts2.HeaderReader">
<result>headers.html</result>
</action>
分享到:
相关推荐
`ActionContext`是Struts2的核心组件之一,它封装了与当前请求相关的所有上下文信息,包括`HttpServletRequest`对象。我们可以通过以下方式获取: ```java ActionContext context = ActionContext.getContext();...
### STRUTS2获得作用域、参数响应对象及三种符号说明 #### 一、概述 在Struts2框架中,为了更好地管理Web应用程序中的请求、会话和应用范围的数据,Struts2提供了一系列的工具和机制。这包括了对`RequestMap`、`...
3. **实现ServletAware接口**:为了进一步解耦,Struts2允许开发者通过实现ServletRequestAware或ServletResponseAware接口,让Action类自动注入HttpServletRequest和HttpServletResponse对象。这样,无需在Action类...
为了使Action能够访问到HTTP请求(HttpServletRequest)、响应(HttpServletResponse)、会话(HttpSession)等关键对象,Struts2提供了多种获取这些对象的方法。以下将详细介绍如何在Struts2的Action中获取request...
在实现了这个接口后,STRUTS2会在执行Action之前自动调用`setServletRequest`方法,将`HttpServletRequest`对象注入到Action中。 示例代码: ```java public class UserLoginAction extends ActionSupport ...
在Struts2框架中,对request和session的管理和获取是实现Web应用中用户交互和状态维护的重要手段。本文将深入探讨Struts2中如何获取request和session,以及这两种对象的作用和应用场景。 ### Struts2框架简介 ...
- **Struts2**:Action类可以实现`Action`接口,也可以实现其他接口以获得定制服务。它提供了`ActionSupport`基类,但Action接口并非强制要求。任何具有`execute`方法的POJO(Plain Old Java Object)都可作为...
### Struts2教程:获得HttpServletResponse对象 在深入探讨如何在Struts2框架中获取`HttpServletResponse`对象之前,我们先来简要回顾一下Struts2框架的基本概念及其与传统Struts1.x的区别。 #### Struts2框架简介...
### Struts1与Struts2的关键区别 #### Struts框架简介 Struts是Apache基金会支持的一个开源项目,它提供了一套构建Web应用程序的标准框架。...对于新的开发项目而言,推荐使用Struts2以获得更好的性能和灵活性。
Struts2就是从servlet中封装以后得到的结果。 1.2Servlet的缺点 1、每写一个servlet在web.xml中都要做相应的配置。如果有多很servlet,会 导致web.xml内容过于繁多。 2、这样的结构不利于分组开发。 3、在servlet中...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展、模块化且易于管理的企业级应用程序。在Struts2中,文件上传是一项常见的功能,它允许用户通过表单提交文件到服务器。这篇自学笔记将深入探讨Struts2的...
然而,与Struts1.x不同,Struts2的Action类不再直接接收HttpServletRequest和HttpServletResponse对象作为execute方法的参数。这使得在Action中直接获取Response对象变得稍显复杂。下面我们将详细介绍在Struts2中,...
- **功能**:如果某个Action需要直接访问Servlet API(如`HttpServletRequest`和`HttpServletResponse`),可以通过实现特定接口的方式获得这些对象。 21. **Roles (角色管理)** - **说明**:用于实现基于角色...
在Struts2中底层的session都被封装成了Map类型,我们称之为SessionMap,而平常我们所说的session则是指HttpSession对象,具体的获得方法如下所示。 A.Map session=ActionContext.getSession(); B.Map session=(Map...
- **Aware接口**:通过实现特定的Aware接口,可以让Action自动获得某些对象的引用,如`ServletRequestAware`可以自动注入HttpServletRequest。 #### 四、Struts2中的异常处理 - **配置方式**: - **全局异常处理...
在 Struts.xml 文件中,有一个名为 `reload` 的常量,可以实现不用重新启动服务就可以得到反馈。 4. Package 的作用: 在 Struts2 中,Package 用于组织 Action。Package 可以为空,如果为空,则表示该包为默认...
这样,即使Action类需要访问`HttpServletRequest`和`HttpServletResponse`,也可以通过注入方式获得。这种方式提高了Action类的可测试性和可移植性。 #### 4. 可测性的对比 - **Struts1**:测试Action类较为困难,...
Struts2是一个强大的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。对于初学者来说,"struts2学习制作helloworld"是一个很好的起点,它可以帮助理解Struts2的基础概念和核心功能。以下是这个...
### Struts2学习文档知识点详解 #### 一、Struts2 Action **1.1 Action通过ActionContext间接访问Servlet API** - **概念介绍**:在Struts2框架中,Action对象可以通过`ActionContext`来间接访问到Servlet API,...
综上所述,Struts1、Struts2和WebWork这三个框架都面临着线程安全问题,但在Struts2中这个问题得到了较好的解决。Struts2通过使用“prototype”作用域管理`Action`实例,有效地避免了线程安全问题。而对于Struts1和...