今天在本地开发web项目过程中,遇到一个很诡异的问题,现记录一下;
request.getSession().getServletContext().getRealPath("/") 返回null
request.getContextPath() 返回空
经过各种折腾,发现这两个变量的取值跟本地的服务部署方式有关系,通过war部署的话,返回就是上面这种情况,
而通过war explored部署的方式,返回的就是在本地的target目录所在的文件目录。
我做的功能是本地上传图片到webapp目录下的images资源文件,这样访问图片,我就不用专门去搞一个Apache图片服务器了。通过改变部署方式
由war改成war explored方式,终于能把图片上传到webapp下的images目录中,通过url地址就可以直接在浏览器中查看文件了。