您的位置:首页 > 编程语言 > Java开发

Struts2 Action访问Servlet API

2016-04-06 18:22 543 查看

Struts2提供了ActionContext类来访问ServletAPI

ActionContext中常用的方法

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

Map getApplication(): 模拟了该应用的ServletContext实例

static ActionContext getContext():获取系统的ActionContext实例

Map getParameters():获取所有请求参数

Map getSession():模拟了HttpSession实例

void setApplication(Map application):将Map实例里的key:value值转换成application的属性名和属性值

void setSession(Map session):将Map实例里的key:value值转换成session的属性名和属性值

request , session 和 application 只是作用范围不同,相当于不同作用范围的仓库

更加直接的方式访问Servlet API

Action实现以下接口:

ServletContextAware : 直接访问WEB应用的ServletContext实例

ServletRequestAware : 直接访问用户请求的HttpServletRequest实例

ServletResponseAware : 直接访问服务器响应的HttpServletResponse实例

Cookie

此处HttpServletResponse不能生成服务器响应,例如:

response.getWriter().println(“hello,world”);

使用ServletActionContext访问Servlet API

ServletActionContext包含了如下静态方法:

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

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

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

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

虽然此方法不用实现XxxAware接口,但是Action仍与Servlet API 直接耦合,不利于高层解耦.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  servlet struts2.0