Struts2 Web 资源获取

四种方式

private ServletRequest request;
private ServletResponse response;
private ServletContext con;

1.拦截器方式 实现 ServletRequestAware ,ServletResponseAware , ServletContxtAware

public void setServletRequest(HttpServletRequest arg0) {
request = arg0;
}

public void setServletResponse(HttpServletResponse arg0) {

response = arg0;
}

public void setServletContext(ServletContext arg0) {

con = arg0;
}

2.拦截器方式 实现 RequestAware 

public void setRequest(Map<String, Object> arg0) {
request = (ServletRequest)arg0.get(StrutsStatics.HTTP_REQUEST);
response = (ServletResponse)arg0.get(StrutsStatics.HTTP_RESPONSE);
con = (ServletContext)arg0.get(StrutsStatics.SERVLET_CONTEXT);
}

3.通过ActionContext方式获取

ActionContext ac = ActionContext.getContext();

ServletRequest request = (ServletRequest)ac.get(ServletActionContext.HTTP_REQUEST);
ServletResponse response = (ServletResponse)ac.get(ServletActionContext.HTTP_RESPONSE);
ServletContext con = (ServletContext)ac.get(ServletActionContext.SERVLET_CONTEXT);

4.通过ServletActionContext 

ServletRequest request = ServletActionContext.getRequest();
ServletResponse response = ServletActionContext.getResponse();
ServletContext con = ServletActionContext.getServletContext();

原文地址:https://www.cnblogs.com/sj521/p/5365850.html