Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat webapp中原始资源的位置_Java_Jsp_Tomcat_Servlets - Fatal编程技术网

Java Tomcat webapp中原始资源的位置

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

我正在开发一个jsp+servlet应用程序,包到war,部署到Tomcat8

我知道WEB-INF是一个文件夹,用于存储不需要提供服务的文件,只在服务器端处理:如html或jsp片段等。 我需要存储一些XML。servlet在处理请求时会读取这些XML

问题是:


我应该将这些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文件夹是类路径的根