java中获取ServletContext常见方法

转自:http://chen106106.iteye.com/blog/1318596

1.在javax.servlet.Filter中直接获取

ServletContext context = config.getServletContext(); 

2.在HttpServlet中直接获取

this.getServletContext() 

3.在其他方法中,通过HttpRequest获得

request.getSession().getServletContext(); 

当然struts2中还有常见的两种方法获得:
  获取HttpServletRequest / HttpSession / ServletContext / HttpServletResponse对象

方法一,通过ServletActionContext.类直接获取:

public String rsa() throws Exception{

  HttpServletRequest request = ServletActionContext.getRequest();

  ServletContext servletContext = ServletActionContext.getServletContext();

  request.getSession()

  HttpServletResponse response = ServletActionContext.getResponse();

  return "scope";

} 

方法二,实现指定接口,由struts框架运行时注入:

public class HelloWorldAction implements ServletRequestAware, ServletResponseAware, ServletContextAware{

  private HttpServletRequest request;

  private ServletContext servletContext;

  private HttpServletResponse response;

  public void setServletRequest(HttpServletRequest req) {

    this.request=req;

  }

  public void setServletResponse(HttpServletResponse res) {

    this.response=res;

  }

  public void setServletContext(ServletContext ser) {

    this.servletContext=ser;

  }

}

 

你可能感兴趣的:(servletContext)