java - JSP 项目结构 - 文件放置

标签 java file jsp netbeans

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

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

所以,我的问题是:我想从放置在 myPackage 中的 java 文件引用 myIndex。

我首先假设java文件将“源包”视为root。 因此,我认为索引的路径只是 "myIndex",但通过调试器,我发现它正在查看 C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.14\bin\myIndex'

然后我尝试了以下路径:"\myIndex",但它现在正在查看"C:\myIndex"

您能帮我解决这个问题吗?myIndex 的正确路径应该是怎样的,或者我是否应该将其放置在项目中的某个位置?

最佳答案

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

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

如果您打算在 myIndex 目录中存储某些内容,那么就忘记它吧:war 文件是只读的。在 web 应用程序外部的文件系统上配置一些绝对目录,并使用此绝对位置来存储新文件。不要使用相对位置,因为这取决于服务器的物理位置、启动方式、JVM 的当前目录是什么等。如果服务器移动,一切都会中断。

关于java - JSP 项目结构 - 文件放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11168966/

相关文章:

javascript - 如何在 JSP 中包含 JS/CSS 文件(TOMCAT 元素)

java - 读取Excel文件时如何对重复记录进行验证

Java Mail Api - 邮件未发送

java - 限制对java中类接口(interface)的访问

java - 我如何检测串行端口何时被java中的设备关闭?

java - txt 文件中的矩阵 - Java

java - 将一个数组的内容复制到另一个数组并删除旧数组的内容

java - 在android中获取图片文件夹的文件夹大小时出错

Java 以编程方式模拟 chmod -R 755

java - 无法使用 java mail api 从 jsp webapp 发送邮件