`

Action直接访问Servlet API

 
阅读更多
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之Action访问Servlet API

    详细讲解了struts2的Action访问ServletAPI的几种方法.

    详解Struts2中Action访问Servlet API的几种方法

    详解Struts2中Action访问Servlet API的几种方法 在通常的web开发中Request和Response对象比较常见,但在Struts2框架中由于Action能与JSP页面进行数据交互,所以通常都不会用到这两个对象。如果想在Struts2程序中用到...

    Action访问Servlet的API的简单实例

    下面小编就为大家带来一篇Action访问Servlet的API的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Struts2中Servlet的配置

    2、使用struts2提供的ActionContext类直接获取Servlet API。 在同一个项目中,如果既用到servlet又用了struts框架,运行项目时可能无法正常使用servlet,解决办法如下: 该类是定义了一个过滤器,当既用到struts2...

    Struts1与Struts2本质区别

    3 Servlet依赖方面的对比:Struts 1 Action依赖于Servlet API,因为Struts 1 Action的execute方法中有HttpServletRequest和HttpServletResponse方法。Struts 2 Action不再依赖于Servlet API,从而允许Action脱离Web...

    JavaEE技术-试验四.zip_JavaEE_API_struts2 Action

    在MyEclipse环境下运用Struts2技术访问Servlet API,包括HttpServletRequest、HttpSession和ServletContext

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    9.2 java servlet api的会话跟踪 306 9.2.1 httpsession接口 306 9.2.2 session的生命周期 307 9.2.3 cookie的应用 319 9.2.4 httpsessionbindinglistener接口 328 9.2.5 在线人数统计程序 329 9.3 小结 335 ...

    struts2.1宝典

    6.Action中访问servlet API 3 7.Action访问资源文件 3 8.资源文件_各国代码 4 9.将struts.xml分开 4 10全局结果result 4 11模型驱动 4 12.创建拦截器 5 13表单提交中文乱码问题 5 14.Jsp不能识别EL 5 15.自定义...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    9.2 java servlet api的会话跟踪 306 9.2.1 httpsession接口 306 9.2.2 session的生命周期 307 9.2.3 cookie的应用 319 9.2.4 httpsessionbindinglistener接口 328 9.2.5 在线人数统计程序 329 9.3 小结 335 ...

    JAVA-SSH面试题

    struts1.2 Action依赖于Servlet API,因为当一个Action被调用时HttpServletRequest和HttpServletResponse被传递给execut方法。 struts2.0 Action不依赖于容器,允许Action脱离容器单独测试。如果需要,Struts2 Action...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    9.2 java servlet api的会话跟踪 306 9.2.1 httpsession接口 306 9.2.2 session的生命周期 307 9.2.3 cookie的应用 319 9.2.4 httpsessionbindinglistener接口 328 9.2.5 在线人数统计程序 329 9.3 小结 335 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    9.2 java servlet api的会话跟踪 306 9.2.1 httpsession接口 306 9.2.2 session的生命周期 307 9.2.3 cookie的应用 319 9.2.4 httpsessionbindinglistener接口 328 9.2.5 在线人数统计程序 329 9.3 小结 335 ...

    struts项目学习笔记

    Action的execute 默认方法不再与Servlet API耦合,更易测试 支持更多视图技术(JSP(转译java文件,编译成class文件,才可以运行)、(模板技术,html,把数据和模板html一起以流方式输出)FreeMarker、Velocity) 基于AOP...

    外文翻译 stus MVC

    ActionServlet (Command) creates and uses Action, an ActionForm, and ActionForward. As mentioned earlier, the struts-config.xml file configures the Command. During the creation of the Web project, ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    5.6.1 访问Servlet出现404错误 5.6.2 修改Servlet无效 5.6.3 创建过滤器并没有实现过滤效果 5.7 精彩回顾 第6章 打造无脚本的JSP页面 ——EL与JSTL标签库 6.1 本章学习任务 6.1.1 本章学习任务 6.1.2 实例开发任务 ...

    Portal-Basic Web 应用开发框架 (v2.5.20120904)

    Portal-Basic Web应用开发框架(简称 Portal-Basic或PB)是一套功能完备的超轻量级Web应用开发框架,内置MVC Web基础架构,支持可扩展的数据访问接口(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form...

    J2EE应用开发详解

    50 4.2 开发和部署一个简单的Servlet 51 4.3 Servlet常用API介绍 53 4.3.1 Servlet实现相关 54 4.3.2 Servlet配置相关 54 4.3.3 Servlet异常相关 55 4.3.4 请求和响应相关 55 4.3.5 会话跟踪 56 4.3.6 Servlet上下文...

    WebSphere快速入门

    5.4 JSP API 42 第六章 WebSphere应用服务器 43 6.1 基本特性 43 6.2 安装与配置 44 6.3 定制配置 48 6.4 部署Servlet 49 6.5 连接管理器 50 6.6 用户简要表 52 6.7会话跟踪 53 6.8 安全性 54 第七章 WebSphere应用...

    java 面试题 总结

    但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 21、...

Global site tag (gtag.js) - Google Analytics