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的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的属性名、属性值。

  eg:
  通过ActionContext设置application范围的属性

    ActionContext ctx = ActionContext.getContext();
    ctx.getApplication.put("name","aaa");

  通过ActionContext设置request范围的属性

   ctx.put("name","bbb");

2.虽然Struts2提供了ActionContext来访问Servlet API,但这种访问不是直接获得Servlet API的实例,为了直接在Action中访问Serlvet API,struts2提供了如下几个接口

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

  ServletRequestAware:实现该接口的Action可以直接访问用户请求的HttpServletRequest实例。

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

3.使用ServletActionContext访问Servlet API

  为了能直接访问Servlet API,Struts2还提供了一个ServletActionContext工具类,这个类包含了如下几个静态方法。

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

  static HttpServletRequest getRequest():取得Web应用的HttpServletRequest对象。

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

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

原文地址:https://www.cnblogs.com/eleven258/p/8358007.html

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

Struts2笔记--Action访问Servlet API的相关文章

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

笔记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

Action访问Servlet API的三种方法

一.为什么要访问Servlet API ? Struts2的Action并未与Servlet API进行耦合,这是Struts2 的一个改良,从而方便了单独对Action进行测试.但是对于Web控制器而言,不访问action是不行的,Struts提供了一种比较简单的方式来访问Servlet API . 二.通常我们需要访问的Servlet API 是 HttpSession.HttpservletRequest.ServletContext,分别对应了JSP内置对象 session,reques

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

Java EE----Struts2 Action 访问Servlet API

以前 Servlet  doGet(HttpServletRequest,HttpServletResponse) ,doGet方法无法进行单独测试 ,要测试,必须构造request和response对象 Struts2 Action的execute方法非常便于单独测试,这个方法不依赖Servlet API Servlet常用API对象 : HttpServletRequest.HttpSession.ServletContext (三种服务器端数据范围).HttpServletResponse

struts2中Action访问servlet的两种方式

一.IoC方式 在struts2框架中,可以通过IoC方式将servlet对象注入到Action中,通常需要Action实现以下接口: a. ServletRequestAware: 实现该接口的Action可以直接访问Request对象,该接口中提供void setServletRequest(HttpServletRequest request) 方法,实现此接口的Action控制类通过setServletRequestHttpServlet(HttpServlet request)方法将r

(七)Action访问Servlet API

第一种方式: Struts2提供了一个ServletActionContext对象可以访问ServletAPI. 例如 HttpServletRequest request=ServletActionContext.getRequest(); HttpServletResponse response=ServletActionContext.getResponse(); ServletContext context=ServletActionContext.getServletContext()

Struts2学习笔记三 访问servlet

结果跳转方式 转发 <!-- 转发 --> <action name="Demo1Action" class="cn.itheima.a_result.Demo1Action" method="execute" > <result name="success" type="dispatcher" >/hello.jsp</result> </action

ServletActionContext访问Servlet API

使用ServletActionContext访问Servlet API action访问Servlet API,通过ruquest.session.applicplition去访问Servlet API. web应用中同城需要访问的servletAPI就是HTTPservletRequest.httpsession和servletContext 这三个接口分别代表JSP中内置对象中的request.session.application Struts 2 提供了一个actionContent类,