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

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

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

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

ActionContextaction执行的上下文,在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 耦合的访问方式

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

Public static HttpServletRequest  getRequest()

 

Public  static ServletContext  getServletContext();

 

Public satic  HttpServletResponse  getResponse();

 

你可能感兴趣的:(apache,框架,servlet)