Java Tomcat webapp中原始资源的位置
我正在开发一个jsp+servlet应用程序,包到war,部署到Tomcat8 我知道WEB-INF是一个文件夹,用于存储不需要提供服务的文件,只在服务器端处理:如html或jsp片段等。 我需要存储一些XML。servlet在处理请求时会读取这些XML 问题是:Java Tomcat webapp中原始资源的位置,java,jsp,tomcat,servlets,Java,Jsp,Tomcat,Servlets,我正在开发一个jsp+servlet应用程序,包到war,部署到Tomcat8 我知道WEB-INF是一个文件夹,用于存储不需要提供服务的文件,只在服务器端处理:如html或jsp片段等。 我需要存储一些XML。servlet在处理请求时会读取这些XML 问题是: 我应该将这些XML存储在同一个WEB-INF文件夹中吗?还是有专门的地方?我不想做得太反模式。将它放在WEB-INF/中,并在ServletContext对象上使用getResourceAsStream()方法,例如 servletC
我应该将这些XML存储在同一个WEB-INF文件夹中吗?还是有专门的地方?我不想做得太反模式。将它放在WEB-INF/中,并在ServletContext对象上使用
getResourceAsStream()
方法,例如
servletContext.getResourceAsStream(“/WEB-INF/myfile”)代码>
如何获取对ServletContext的引用取决于您的应用程序。。。您想从Servlet还是从JSP来完成它
请参见此处:如果您使用的是maven,则可以将XML文件放在src/main/resources中。当打包为WAR时,它们将被放在WAR的WEB-INF/classes文件夹中,例如
src/main/resources/settings.xml
将打包到:
WEB-INF/classes/settings.xml
这样,您可以使用以下方式读取文件:
MyServlet.class.getResourceAsStream("/settings.xml");
部署到tomcat并解压缩后,如果需要,可以编辑/更新WEB-INF/classes文件夹中的settings.xml。请注意,/WEB-INF/classes文件夹是类路径的根