读书人

Struts2提供了多种形式来访问request,

发布时间: 2012-09-20 09:36:50 作者: rapoo

Struts2提供了多种方式来访问request,session,application

Struts2提供了两种方式来访问request,session,application

第一种方式:与servlet API解耦的访问方式

(1)Struts2对HttpServletRequest,HttpSession,ServletContext进行了封装,构造了三个Map对象来替代这三种对象,在Action中,直接使用对应的Map对象来保存和读取数据。

ActionContext是action执行的上下文,在ActionContext中保存了action执行所需的一组对象:parameters,request,session,application,locale.

?

ActionContext context=ActionContext.getContext();

Map?? request =(Map) context.get(“request”);

Map?? session=context.getSession();

Map?? application=context.getApplication();

?

(2)实现特定的接口

让Struts2框架在运行时向Action实例注入request,session,application对象。

Org.apache.struts2.interceptor.RequestAware?

?向Action实例注入request Map对象

?

SessionAware

?

ApplicationAware

?

第二种方式:与servlet API 耦合的访问方式

要直接获取HttpSerlvetRequest和ServletContext 对象,可以使用org.apache.struts2.ServletActionContext类,该类是ActionContext的子类。

Public static HttpServletRequest? getRequest()

?

Public? static ServletContext? getServletContext();

?

Public satic? HttpServletResponse? getResponse();

?

读书人网 >软件架构设计

热点推荐