java中获取ServletContext的常见方法

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(); 
	HttpSession session = 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; 
    } 
}


 
  


你可能感兴趣的:(java)