我一直在使用这个“ServletContext.getRealPath("")" 直到 Tomcat8,我得到了以斜线结尾的返回字符串路径。For Example ServletContext.getRealPath("")+"resources" will return /home/company/eclipse_workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/Project_Title/resources但是当我尝试使用 Tomcat 9.0 时,我得到了没有斜杠的路径For Example ServletContext.getRealPath("")+"resources" will return /home/company/eclipse_workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/Project_Titleresources缺少“Project_Title”后的斜杠。此异常仅在部署 (.WAR) 之后发生。本地没有问题。希望有人能帮助我。
2 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
您需要将 web-inf 传递给 getrealpath()。如果您什么都不传递,它将返回您项目的完整绝对路径。
application=getServletContext();
application.getRealPath("WEB-INF"); //retrun null
application.getRealPath("/WEB-INF"); //RETRUN absolute
Servlet上下文`
添加回答
举报
0/150
提交
取消