java中获取ServletContext常见方法

来源:互联网 发布:于正 琼瑶 知乎 编辑:程序博客网 时间:2024/06/09 17:23

http://blog.sina.com.cn/s/blog_3fe961ae0100wjnf.html

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


ServletContext context = config.getServletContext();


2.在HttpServlet中直接获取


this.getServletContext()


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


request.getSession().getServletContext();


 


4.在struts2中还有常见的两种方法获得


获取HttpServletRequest / HttpSession / ServletContext / HttpServletResponse对象

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


HttpServletRequest request = ServletActionContext.getRequest();

request.getSession();

ServletContext servletContext = ServletActionContext.getServletContext();

HttpServletResponse response = ServletActionContext.getResponse();



方法二,实现指定接口,由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;

}

}