1. ActionContext
import com.opensymphony.xwork2.ActionContext;
...
ActionContext ctx = ActionContext.getContext();
...
//操作session
ctx.getSession().put("key:xxx", "value:xxx");
//操作application
ctx.getApplication().put("key:xxx", "value:xxx");
2. 一些重要接口
虽然Struts2提供了ActionContext来操作Servlet API, 但是这种访问
毕竟不能获得Servlet API实例。
Action如果实现了以下接口,便可访问Servlet对象。
ServletContextAware - ServletContext
ServletRequestAware - HttpServletRequest
ServletResponseAware - HttpServletResponse
eg:
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
...
public class SharpAction implements ServletRequestAware {
...
//给Action配上需要的servlet类属性
private HttpServletRequest request;
//这个是接口的方法,必须要实现
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public String execute() throws Exception {
...
request.setAttribute("key:xxx", "value:xxx");
...
}
分享到:
相关推荐
在“Struts2直接访问Servlet API(二十五)”这个主题中,我们可能探讨的是如何在Struts2框架下直接利用Servlet API来实现某些特定功能或者优化性能。Servlet API是Java Web开发的基础,它提供了处理HTTP请求和响应...
在Action执行过程中,如果需要直接访问Servlet API,可以通过以下几种方式实现: 1. **使用ServletActionContext**: Struts2提供了一个名为`ServletActionContext`的类,它包装了`HttpServletRequest`和`...
将 Action 实现这些接口,可以直接访问 Servlet API。 三、使用 ServletActionContext 访问 Servlet API ServletActionContext 类提供了多种静态方法来访问 Servlet API,包括: * static PageContext ...
在Struts2框架中,直接和间接访问Servlet API以及动态方法调用是两个关键概念,它们对理解和优化应用性能至关重要。 首先,让我们深入理解直接访问Servlet API。在传统的MVC模式中,Servlet扮演着控制器的角色,...
详解Struts2中Action访问Servlet API的几种方法 在通常的web开发中Request和Response对象比较常见,但在Struts2框架中由于Action能与JSP页面进行数据交互,所以通常都不会用到这两个对象。如果想在Struts2程序中用到...
在"Struts2 part 3:在Action中使用ServletAPI"这一主题中,我们将深入探讨如何在Struts2的动作类(Action)中集成和利用Servlet API来增强应用的功能。 Servlet API是Java Servlet规范的一部分,它提供了一系列...
这个压缩包“strut2 servletapi”显然包含了使用Struts2框架访问Servlet API的示例代码。Servlet API是Java Servlet规范的一部分,提供了一系列接口和类,允许开发者处理HTTP请求、响应以及与Web服务器交互。 在...
在这个"Action访问Servlet的API的简单实例"中,我们将探讨如何在Struts Action中通过不同的方式来访问Servlet API,以便于处理HTTP请求和响应。 首先,我们来看**访问方式一**,这是通过实现Struts提供的接口来获取...
18. `servlet-config` 拦截器:允许Action直接访问Servlet API,提供对Servlet容器的直接操作。 19. `roles` 拦截器:基于JAAS的权限控制,只有具有适当权限的用户才能访问被拦截的Action。 20. `timer` 拦截器:...
这个拦截器允许Action直接访问Servlet API,比如`HttpServletRequest`和`HttpServletResponse`等对象。这对于需要与Servlet容器交互的Action非常有用。 ##### 2.3 Prepare 此拦截器主要用于Action的预处理工作。...
这样做的好处是,即使没有实现上述的Aware接口,也可以访问Servlet API。 3. **Struts2与Servlet共存的问题及解决**: 当一个项目同时使用了Struts2框架和直接的Servlet时,可能会遇到问题,因为Struts2有自己的...
这份中文教程将帮助学习者理解Struts2的工作原理,包括Action、拦截器、结果类型、国际化等核心概念。 4. **spring框架中文官方教程.chm**:Spring是Java开发中最流行的框架之一,提供依赖注入、面向切面编程、数据...
StrutsServlet.rar是一个压缩包,其中包含了与Struts框架如何访问Servlet API相关的源代码。Struts是Apache软件基金会开发的一个开源MVC(Model-View-Controller)框架,它主要用于构建基于Java的Web应用程序。这个...
Struts2 框架中,Action 并没有直接和 Servlet API 耦合,这使得 Action 可以更好地进行单元测试。然而,在实现业务逻辑时,经常需要访问 Servlet 中的对象,如 request、session 和 application 等。因此,Struts2 ...
二、Android访问Servlet 1. **Servlet简介**:Servlet是一种Java技术,用于扩展服务器的功能,可以处理HTTP请求并返回响应。在Android中,我们通常通过HTTP请求(如HTTPClient或OkHttp)与Servlet进行通信。 2. **...
Servlet是Java EE的重要组成部分之一,它遵循Java Servlet API规范。 **特点:** - **平台无关性:**Servlet是在Java虚拟机上运行的,因此具有良好的跨平台能力。 - **高效性:**Servlet在服务器启动时被加载并在...
在`@WebServlet`注解中,"/demo"是Servlet的URL路径,客户端可以通过这个路径访问Servlet。 为了测试Servlet,我们需要在IDEA中配置运行Tomcat服务器,并将Servlet部署到服务器上。在IDEA的Run/Debug ...
在Struts2框架中,ActionContext扮演着至关...而ServletActionContext则是在ActionContext的基础上,提供了更直接访问Servlet API的途径。在实际开发中,合理选择和使用这两个类,能有效提高代码的可读性和可维护性。