使用ServletActionContext访问Servlet API

     action访问Servlet API,通过ruquest、session、applicplition去访问Servlet API。

web应用中同城需要访问的servletAPI就是HTTPservletRequest、httpsession和servletContext

    这三个接口分别代表JSP中内置对象中的request、session、application

    Struts 2 提供了一个actionContent类,Struts 2的action可以通过该类来访问ServletAPI

      为了能够直接访问Servlet API,struts 2 还提供了一个ServletAction工具类,这个类包含了如下几个静态方法

返回值

方法名

功能描述

HttpServletRequest

getRequest()

获得Web应用的HttpServletRequest对象

HttpServletResponse

getResponse()

获得Web应用的HttpservletResponse对象

ServletContext

getServletContext()

获得Web应用的ServletContext对象

PageContext

getServletContext()

获得Web应用的ServletContext对象

 

      借助于ServletActionContext工具类的帮助,Action能以更加简单的方式来访问Servlet API。

public class BaAction extends ActionSupport implements SessionAware,RequestAware {

        @Override
	public void setSession(Map<String, Object> session) {
		this.session = session;
		httpRequest = ServletActionContext.getRequest();
		context = httpRequest.getSession().getServletContext();
		response = ServletActionContext.getResponse();
	}
}