1、说明:如何在Struts2 中创建 servlet 的域空间
2、实现方法一:
用 ServletActionContext 类访问 Servlet的api。
public String testServletAPI(){
//访问request
HttpServletRequest request = ServletActionContext.getRequest();
//访问session 对session进行了二次封装
Map sessionMap = ServletActionContext.getContext().getSession();
//访问application
ServletContext servletContext = ServletActionContext.getServletContext();
return "";
}
3、实现方法二:
通过同时实现 ServletContextAware,SessionAware,ServletRequestAware 三个接口
public class ServletAction extends ActionSupport implements ServletContextAware,SessionAware,ServletRequestAware{
private HttpServletRequest request;
private Map sessionMap;
private ServletContext servletContext;
public String testServletAPI2(){
System.out.println(this.servletContext);
System.out.println(this.sessionMap);
System.out.println(this.request);
return "";
}
public void setServletContext(ServletContext context) {
this.servletContext = context;
}
public void setSession(Map<String, Object> session) {
this.sessionMap = session;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
}