struts2中访问servlet API

Struts2中的Action没有与任何Servlet API耦合,,但对于WEB应用的控制器而言,不访问Servlet API几乎是不可能的,例如需要跟踪HTTP Session状态等。Struts2中提供了一个ActionContext类,Struts2的Action可以通过该类来访问Servlet API。

ActionContext类中包含的几个常用方法:

  Object get(Object key):该方法类似于调用HttpServletRequest的getAttribute(String name)方法。

  Map getApplication:返回一个Map对象,该对象模拟了该应用的ServletContext实例。

  static ActionContext getContext():静态方法,获取系统的ActionContext实例。

  Map getParameters():获取所有的请求参数。类似于调用HttpServletRequest对象的getParameterMap()方法。

  Map getSession():返回一个Map对象,该Map对象模拟了HttpSession实例。

  void setApplication(Map application):直接传入一个Map实例,将该Map实例里的key-value对转换成application的属性名、属性值。

  void setSession(Map session):直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名、属性值。

例子:

  public class TextAction implements Action{

    public String execute() throws Exception{

       ActionContext ctx=ActionContext.getContext(); //获取ActionContext实例

       Integet counter=(Integer)ctx.getApplication().get("counter");   //获取application范围的属性值

       return SUCCESS; 

}

}

虽然struts2提供了ActionContext来访问Servlet API,但这种访问不是直接获得servlet API的实例,为了在Action中访问Servlet API,struts2中还提供了以下几个接口:

ServletContextAware:实现该接口的Action可以直接访问WEB应用的ServletContext实例。

ServletRequestAware:实现该接口的Action可以直接访问WEB应用的HttpServletRequest实例。

ServletResponseAware:实现该接口的Action可以直接访问服务器响应的HttpServletResponse实例。

除此之外,为了能直接访问Servlet API,struts2还提供了一个ServletActionContext工具类,这个类包含了如下几个静态方法:

static PageContext getPageContext():取得WEB应用的PageContext对象。

static HttpServletRequset getRequets():取得Web应用的HttpServletRequset对象。

static HttpServletRsponse getResponse():取得WEB应用的HttpServletResponse对象。

static ServletContext getServletContext():取得WEB应用的ServletContext对象。

时间: 2024-10-06 23:26:10

struts2中访问servlet API的相关文章

Struts2中使用Servlet API步骤

Struts2中使用Servlet API步骤 Action类中声明request等对象 Map<String, Object> request; 获得ActionContext实例 ActionContext ac=ActionContext.getContext(); 获取request等对象   request=(Map<String, Object>)ac.get("request"); 在request等对象中保存数据  request.put(&qu

Struts2(八)访问Servlet API

一.Struts2中的Servlet API 1.1.struts2的Action实现了MVC中C层的作用 针对请求用户显示不同的信息 登录后段保存用户信息 ----session 保存当前在线人数等功能---application 1.2.传统的Servlet API类型 HttpServletRequest HttpSession ServletContext 1.3.Struts2中将传统的Servlet API类型被处理成Map类型 访问更方便 不依赖传统Servlet API 类型--

struts2如何访问servlet API

 struts2如何访问servlet API 1.struts2 通过提供一个ActionContext 来访问servlet API 2.ActionContext提供了哪些方法来进行访问 Object  get(Object key):该方法类似于调用HttpServletRequest 的getAttribute(String name) Map getApplication() :返回一个Map对象,模拟该应用的ServletContext static ActionContext

Struts2中获取servlet API的几种方式

struts2是一个全新的MVC框架,如今被广大的企业和开发者所使用,它的功能非常强大.这给我们在使用servlet 纯java代码写项目的时候带来了福音.但是一般来说,我们的项目不到一定规模并不需要框架的.通常功能模块和系统架构复杂的时候会少不了框架的,如果没有框架,我们写的项目和代码会复杂很多,而且扩展性也会大大降低,代码审查效率也会降低.如下代码供大家参考,主要是说明在使用struts2的时候如何获取servlet API,大家可以试着对比一下不用struts2的时候的所写的servelt

struts2 - ation 访问 Servlet api

Web 应用中通常需要访问的 Servlet Api 就是 HttpServletRequest .HttpSession 和 ServletContext,这三个接口分别代表 JSP内置对象中的 request.session 和 application. 一.通过 struts 的 ActionContext 类来访问(间接性访问). eg1: action文件: struts.xml文件: jsp 页面: 二.struts 通过 ServletContextAware.ServletReq

struts2的action访问servlet API的三种方法

学IT技术,就是要学习... 今天无聊看看struts2,发现struts2的action访问servlet API的三种方法: 1.Struts2提供的ActionContext类 Object get(Object key);可以获取request属性 Map getSession():可以得到session属性 Map getAppliction():可以得到ServletContext实例 2.action类实现 ServletContextAware,ServletRequestAwa

Struts2学习笔记(五)——Action访问Servlet API

在Strut2中访问Servlet API有三种方式: 1.通过ActionContext访问Servlet API,推荐使用这种,但是这种方案它获取的不是真正的事Servlet API. 步骤: 1).创建一个ActionContext ActionContext context=ActionContext.getContext(); 2).通过context对象获取Servlet API Map<String,Object> getApplication() 获取的是application

笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDispatcher 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <filter>     <filter-name>struts2</filter-name>     <filter-class>org.apache.struts2.di

Struts2笔记--Action访问Servlet API

Web应用中通常需要访问的Servlet API就是HttpServletRequest.HttpSession和ServletContext,这三个接口分别代表JSP内置对象中的request.session和application. 1.使用Struts2提供的ActionContext类来访问Servlet API.下面是ActionContext类中包含的几个常用方法. Object get(Object key):该方法类似于调用HttpServletRequest的getAttrib