Struts2.x中获取request,response,session的方式

时间:2023-02-04 22:02:28

Struts2.x中获取request,response,session的方式有两种:非IOC方式和IOC方式:

一:非IOC方式:

要获得request,response,session 这些对象,关键是Struts2.x中的com.opensymphony.xwork2.ActionContext类。

我们可以通过它的静态方法getContext()获取当前Action的上下文对象。另外,org.apache.struts2.ServletActionContext作为辅助类(Helper Class),可以帮助您快捷地获得这几个对象。

HttpServletRequestrequest = ServletActionContext.getRequest();

HttpServletResponseresponse = ServletActionContext.getResponse();

HttpSession session =request.getSession();

如果你只是想访问session的属性(Attribute),你也可以通过ActionContext.getContext().getSession()获取或添加session范围(Scoped)的对象。


二:IOC方式:

要使用IoC方式,我们首先要告诉IoC容器(Container)想取得某个对象的意愿,通过实现相应的接口做到这点。如实现SessionAware, ServletRequestAware, ServletResponseAware接口,从而得到上面的对象。