Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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
如何向JavaEE项目添加文件?_Java - Fatal编程技术网

如何向JavaEE项目添加文件?

如何向JavaEE项目添加文件?,java,Java,我想将一个xml文件添加到我的JavaEE项目中,并在代码中使用它,但当我从src目录中寻址该文件时,它不理解我的地址并在tomcat的bin目录中搜索该文件。 我的项目使用wicket framwork和JavaEE。 是否有人知道如何对文件进行寻址,或者我应该将文件放在project的何处访问?在servlet中,您可以: this.getServletContext().getResource( path ); public java.net.URL getResource(java.l

我想将一个xml文件添加到我的JavaEE项目中,并在代码中使用它,但当我从src目录中寻址该文件时,它不理解我的地址并在tomcat的bin目录中搜索该文件。 我的项目使用wicket framwork和JavaEE。
是否有人知道如何对文件进行寻址,或者我应该将文件放在project的何处访问?

在servlet中,您可以:

this.getServletContext().getResource( path );

public java.net.URL getResource(java.lang.String path)
                         throws java.net.MalformedURLException
返回映射到指定路径的资源的URL。路径必须以“/”开头,并被解释为相对于当前上下文根

此方法允许servlet容器从任何源向servlet提供资源。资源可以位于本地或远程文件系统、数据库或.war文件中

servlet容器必须实现访问资源所必需的URL处理程序和URLConnection对象

如果没有资源映射到路径名,则此方法返回null

某些容器可能允许使用URL类的方法写入此方法返回的URL

资源内容直接返回,因此请注意,请求.jsp页面将返回jsp源代码。改为使用RequestDispatcher来包含执行结果


此方法的用途与java.lang.Class.getResource不同,后者基于类装入器查找资源。此方法不使用类加载器。

在servlet中,您可以:

this.getServletContext().getResource( path );

public java.net.URL getResource(java.lang.String path)
                         throws java.net.MalformedURLException
返回映射到指定路径的资源的URL。路径必须以“/”开头,并被解释为相对于当前上下文根

此方法允许servlet容器从任何源向servlet提供资源。资源可以位于本地或远程文件系统、数据库或.war文件中

servlet容器必须实现访问资源所必需的URL处理程序和URLConnection对象

如果没有资源映射到路径名,则此方法返回null

某些容器可能允许使用URL类的方法写入此方法返回的URL

资源内容直接返回,因此请注意,请求.jsp页面将返回jsp源代码。改为使用RequestDispatcher来包含执行结果


此方法的用途与java.lang.Class.getResource不同,后者基于类装入器查找资源。此方法不使用类装入器。

通常在运行时不使用src。我不使用tomcat,但在我的环境中,我有一些构建任务,这些任务将非Java文件从src复制到bin目录

您可能会发现有必要使用classloader getResourceAsStream()打开该文件,以便搜索与您的类相同的目录


这假设您希望在应用程序中交付XML。或者,你可能更喜欢把它放在其他地方。URI资源引用可能有帮助

通常在运行时不使用src。我不使用tomcat,但在我的环境中,我有一些构建任务,这些任务将非Java文件从src复制到bin目录

您可能会发现有必要使用classloader getResourceAsStream()打开该文件,以便搜索与您的类相同的目录


这假设您希望在应用程序中交付XML。或者,你可能更喜欢把它放在其他地方。URI资源引用可能会有所帮助

为什么不将XML文件放在资源目录中呢。您可以通过以下方式从任何类访问它:


MyClass.class.getClassLoader().getResourceAsStream(文件名)

为什么不将XML文件放在资源目录中呢。您可以通过以下方式从任何类访问它:


MyClass.class.getClassLoader().getResourceAsStream(文件名)

如果您的xml文件是一种只能在服务器端访问的资源,那么最好的选择是将其放在war中的WEB-INF目录中,或者放在WEB-INF中的某个子目录中。这样可以确保WEB无法访问该资源

然后您可以使用检索它,正如Peter D所指出的

例如,在servlet中,您可以通过这种方式检索它(省略异常处理):


如果您的xml文件是一种只能在服务器端访问的资源,那么最好的选择是将其放在war中的WEB-INF目录中,或者放在WEB-INF中的某个子目录中。这样可以确保WEB无法访问该资源

然后您可以使用检索它,正如Peter D所指出的

例如,在servlet中,您可以通过这种方式检索它(省略异常处理):


在适当的地方给予信任/链接:天啊,我们真的需要说它来自哪里吗?答案是有帮助的和相关的,不提供下载服务,但它只是从源代码复制和粘贴的,没有任何引用。源代码和引用可以在5秒钟内找到。我提供了一个答案。在应该的地方给予信任/链接:是的,我们真的需要说它来自哪里吗?答案是有帮助的和相关的,不提供下载服务,但它只是从源代码复制和粘贴的,没有任何引用。源代码和引用可以在5秒钟内找到。我在提供答案。