为java web服务放置数据文件



我正在用java编写一个简单的web服务,它应该读取一个xml文件并为结果生成一个字符串。然而,我不知道:

a) xml文件应该放在文件系统中的什么位置,以便web服务可以访问它?

b) 从服务到文件的相对方式是什么

c) 另外,我如何将xml文件添加到项目中,以便将其与web服务一起部署

我使用NetBeans作为IDE,使用maven作为构建系统。

通常我在web应用程序中提供一个资源包(.jar)。如果在运行时不应该修改文件,那么这应该是访问它的最佳方式。这将是您的问题中的c)。在那里你可以用访问文件

ClassLoader cl = this.getClass().getClassLoader();
InputStream is = cl.getResourceAsStream("resourceName");

"resourceName"将是jar文件中的路径。如果您使用Maven进行打包,src/main/webapp/WEB-INF/classes中的所有内容都将在类路径中可用,并且可以使用getResourceAsStream加载。


maven的另一种方法是创建一个新模块,将所有所需资源放置在src/main/resources中,然后在您的webapp pom中添加对该工件的依赖项。

a)任何地方,只要您的进程有权访问该文件。

b) 相对路径取决于您正在使用的应用程序服务器。相对路径是相对于jvm的主路径。对于,tomcattomacat基,对于weblogic则是domain目录。我建议不要依赖于此,而是使用包含绝对路径的配置参数。

c) 将其放入WEB-INF(servletcontext路径)或WEB-INF/classes(您可以将其作为类路径资源进行访问)

相关内容

  • 没有找到相关文章

最新更新