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的方法的主要内容,如果未能解决你的问题,请参考以下文章
在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法