netbeans JSP项目结构-文件放置

oo7oh9g9  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(156)

我正在Netbeans中开发一个JSP项目。我使用了一些JSP文件和一些java文件。项目结构如下:

root
-Web Pages
  --Jsp files
-Source Packages
  --myPacakge
    ---Java files
  --myIndex (it's a folder)

我的问题是我想从放置在myPackage中的java文件中引用myIndex。**
我首先假设java文件将“源包”视为根目录。因此,我以为索引的路径将只是**“myIndex”,但通过调试器我发现它正在查看C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.14\bin\myIndex'**
然后我尝试了以下路径:"\myIndex”,但它现在查看的是***“C:\myIndex”***
你能帮我一下吗,myIndex的正确路径应该是什么,或者我是否应该把它放在项目中的某个地方?

xt0899hw

xt0899hw1#

您所显示的是源项目的结构。当您运行一个已部署的webapp时,不再有源项目。所有内容都捆绑在一个war文件中,其中包含JSP文件、其他web资源、WEB-INF/classes下的类文件以及WEB-INF/lib下的jar文件。如果您想访问一个文件,而该文件在生成的war文件中位于WEB-INF/classes内,那么您应该使用类加载器访问它,使用

InputStream in = SomeClassOfTheWebApp.class.getResourceAsStream("/myIndex/someFile.txt");

如果您打算在myIndex目录中存储一些内容,那么就不要再考虑了:war文件是只读的。在文件系统上配置一些绝对目录,在webapp之外,并使用这个绝对位置来存储新文件。不要使用相对位置,因为它取决于服务器的物理位置,它是如何启动的,它的JVM的当前目录是什么,等等。如果服务器被移动,一切都会中断。

相关问题