我有一个JSP / Servlet项目,我想从我的一个servlet访问.json或.xml文件。但是我在哪里放置这些文件?
我可以访问
String filename = "/WEB-INF/myFile.xml";
但是如下:
filename ="/WEB-INF/resources/myFile.xml";
?如何从/ resources获取文件?
ServletContext context = getServletContext();
InputStream is = context.getResourceAsStream(filename);
我在哪里保存文件,我希望从我的servlet部署和访问我的应用程序到tomcat / webapps?
答案 0 :(得分:0)
将它们放在 classpath (放置java类的地方)中。如果你想把它们放在单独的文件夹(例如资源)中创建一个资源包并在那里存储文件,那么你将能够使用以下方式访问和阅读它们:
如果文件存储在类路径根目录中:
InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("myFile.xml");
如果文件存储在资源包中:
InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("resources/myFile.xml");
请注意,/
分隔符是特定于操作系统的,因此最好使用System.getProperty("file.separator");
来获取它,并且不要担心操作系统。