Struts2访问Servlet API 的三种方式

Struts2访问Servlet API 的三种方式为:

1、通过ActionContext类

2、Action直接访问Servlet API

3、 使用ServletActionContext访问Servlet API

下面具体说明这三种方式:

一:通过ActionContext类

Struts2提供了ActionContext类,struts2可以通过该类来实现与Servlet API的访问。

ActionContext类提供了如下7种方法:

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

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

    static ActionContext getContext():这是个静态方法 获取系统的ActionContext实例

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

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

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

    void setSession(Map session):传入一个Map实例,将Map实例的key-value转换成application的属性名-值。

二:Action直接访问Servlet API

Struts2提供了如下3个接口使Action可以直接访问到Servlet API:

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

      ServletRequestAware:实现该接口的Action可以直接访问Web应用的ServletRequest实例.

      ServletResponseAware:实现该接口的Action可以直接访问Web应用的ServletRsponse实例.

以ServletResponseAware接口为例 实现该接口时,需要实现ServletResponse(HttpServletResponse response)方法内 response参数就Web客户端对用户的相应,我们应该先将此参数设置成 Action参数属性 从而才能在execute()方法中该HttpServletResponse对象。

三:使用ServletActionContext访问Servlet API

Struts2还提供了一个ServletActionContext工具类用来访问Servlet API。

该类包含了以下4个静态方法:

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

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

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

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


以上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值