Servlets 获取servlet容器部署/webapps文件夹的路径

Servlets 获取servlet容器部署/webapps文件夹的路径,servlets,Servlets,在servlet的服务方法中,我可以通过getServletContext.getRealPath(“”)获得web应用程序根文件夹的路径,例如/tomcat/webapps/MyWebApplication,但是有没有办法获得/tomcat/webapps/或可选的其他特定web应用程序的路径,如/tomcat/webapps/MyOtherWebApplication(无需使用删除上下文路径等黑客手段) (仅以TomCat为例,应该可以跨所有servlet容器工作。)ServletConte

在servlet的服务方法中,我可以通过
getServletContext.getRealPath(“”
)获得web应用程序根文件夹的路径,例如/tomcat/webapps/MyWebApplication,但是有没有办法获得/tomcat/webapps/或可选的其他特定web应用程序的路径,如/tomcat/webapps/MyOtherWebApplication(无需使用删除上下文路径等黑客手段)


(仅以TomCat为例,应该可以跨所有servlet容器工作。)

ServletContext
有一个
getContext(String)
方法(),该方法返回对应于另一个webapp的
ServletContext
,然后可以调用
getRealPath()
on。但是,appserver的安全模型可能禁止此操作,因此请谨慎使用。

Tomcat目录路径(Tomcat/bin):

其他Tomcat目录的路径,“webapps”例如:

File inputFile = new File("../webapps/file.xml"); // tomcat_dir/webapps/file.xml
摆脱绝对路径的好方法:)

File inputFile = new File("../webapps/file.xml"); // tomcat_dir/webapps/file.xml