首页 > 代码库 > java类中获取ServletContext的方法

java类中获取ServletContext的方法

起因是我想要获取一个相对路径,需要用到servletContext的getRealPath()方法,于是上网搜索,找到两种方法来获取ServletContext.

第一种方法是这样的:

ServletActionContext.getServletContext();

后来发现这种方法只有在从浏览器打开的时候才能获取到ServletContext,否则在普通的java类中会报空指针错误(找不到ServletContext),猜测可能是因为ServletActionContext是struts2封装好的,需在有请求的时候才能被使用。

所以采用了第二种方法。

WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();    

ServletContext servletContext = webApplicationContext.getServletContext();

这种方法通过spring容器来获取servletContext对象,是可以获取到的。

 

java类中获取ServletContext的方法