总有些时候,需要访问Servlet API
比如我们需要把数据存入Session、Application.
更甚至于我们要添加Cookie: response.addCookie()
Struts 2提供了两种方式访问Servlet API
伪访问:借助于ActionContext
ActionContext,提供了getSession --模拟访问Http Session
getApplication --模拟访问application
下面是ActionContext类中包含的几个常用方法
Object get(Object key) : 获取当前ActionContext里key对应的value。该方法可获取HttpServletRequest属性
put(String key,Object value): 将key-value对存入当前ActionContext中。该方法可用于向HttpServletRequest
存入属性。
Map getApplication(): 返回一个Map对象,此对象模拟了该应用的ServletContext实例。
void setApplication(Map application): 直接传入一个Map实例,将该Map实例里的Key-value对转换成application
的属性名、属性值。
static ActionContext getContext(): 静态方法,获取系统的ActionContext实例。AxtionContext对象没有无参数的
构造方法。
Map getParameter(): 获取所有的请求参数。类似于调用HttpServletRequest对象的getParameterMap()方法
Map getSession(): 返回一个Map对象,该Map对象模拟了HttpSession实例。
void setSession(): 直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名、属性值。
真访问(比如要添加Cookie):借助于ServletActionContext.
static PageContext getPageContext()
static HttpServletRequest getRequest()
static HttpServletResponse getResponse()
static ServletContext getServletContext()