java类中获取ServletContext的方法

Posted xdxxdx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java类中获取ServletContext的方法相关的知识,希望对你有一定的参考价值。

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

第一种方法是这样的:

ServletActionContext.getServletContext();

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

所以采用了第二种方法。

WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();    

ServletContext servletContext = webApplicationContext.getServletContext();

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

 

以上是关于java类中获取ServletContext的方法的主要内容,如果未能解决你的问题,请参考以下文章

Java 之 ServletContext 对象

在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法

在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法

JAVA获取服务器路径的方法

JAVA获取服务器路径的方法

Java--ServletContext对象