方法一:通过ActionContext访问Servlet API
ActionContext acx = ActionContext.getContext();
HttpSession session = (HttpSession) acx.getSession();
Application application = (Application) acx.getApplication();
其中上面的acx其实就是相当于request
方法二:实现xxxAware接口
下面以ServletResponseAware为例进行说明:
在类中可以先声明变量:HttpServletResponse response,然后再实现ServletResponseAware接口中的setServletResponse方法,如下
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
获取request的方法其实和上面的是类似的,只要实现ServletRequestAware接口就可以了。
方法三:通过ServletActionContext直接访问
此类相当于是一个工具类了,其中的方法全部都是静态方法,可以直接通过以下方法直接获取
PageContext getPageContext()
HttpServletRequest getRequest()
HttpServletResponse getResponse()
ServletContext getServletContext()