Struts2中访问ServletAPI

有时候在Struts2中需要访问Servlet API,,这时候如何来做呢?Struts2为我们提供了一下几种方式。

1、在Action 中解耦合方式 间接访问 Servlet API ——— 使用 ActionContext 对象

在struts2 中 Action API 已经与 Servlet API 解耦合 (没有依赖关系 )

* Servlet API 常见操作 : 表单提交请求参数获取,向request、session、application三个范围存取数据

actionContext = ActionContext.getContext();

1) actionContext.getParameters(); 获得所有请求参数Map集合

2) actionContext.put("company","传智播客"); /actionContext.get("company") 对request范围存取数据

3) actionContext.getSession(); 获得session数据Map,对Session范围存取数据

4) actionContext.getApplication(); 获得ServletContext数据Map,对应用访问存取数据

2、使用接口注入的方式,操作Servlet API (耦合)

ServletContextAware : 注入ServletContext对象

ServletRequestAware :注入 request对象

ServletResponseAware : 注入response对象

* 程序要使用哪个Servlet的对象,实现对应接口

3、在Action中直接通过 ServletActionContext 获得Servlet API

ServletActionContext.getRequest() : 获得request对象 (session)

ServletActionContext.getResponse() : 获得response 对象

ServletActionContext.getServletContext() : 获得ServletContext对象

* 静态方法没有线程问题,ThreadLocal

版权声明:本文为博主原创文章,未经博主允许不得转载。

旅游,放松心情,用眼睛享受风景。

Struts2中访问ServletAPI

相关文章:

你感兴趣的文章:

标签云: