【问题标题】:Eclipse - How do I publish non-Java resources without a web.xml file?Eclipse - 如何在没有 web.xml 文件的情况下发布非 Java 资源?
【发布时间】:2014-12-23 11:23:17
【问题描述】:

我的 WebApp 使用 Java 注释将 URL 映射到 servlet (@WebServlet),但我没有 web.xml 文件。我想将请求转发到另一个 HTML 文件,我这样做了:

request.getRequestDispatcher("/WEB-INF/test/testpage.html").forward(request, response);

它可以工作,但我无法从服务器获取额外的资源(javascript)。

testsuite.js 位于 /WEB-INF/test/testsuite.js,与 testpage.html 相同的文件夹。请求 testsuite.js 时,我得到 404。如何配置 Tomcat 以在没有 web.xml 的情况下为我的工作树中的所有资源提供服务?最坏的情况我会简单地嵌入 JS。

另外,我让 eclipse 在我的本地机器上安装 web 服务器,所以我不知道它们是如何部署的。

【问题讨论】:

    标签: java javascript eclipse tomcat


    【解决方案1】:

    您必须将资源移出WEB-INF 文件夹。它是用于存放已编译的 Java 代码、jar、配置文件等的特殊文件夹。

    出于安全原因,WEB-INF 文件夹被限制在应用程序服务器和 servlet 容器中,因此当然会定义对 /appname/WEB-INF/web.xml 的请求。

    *.html 文件、*.css 文件、*.js 文件、图像等静态资源应放在WEB-INF 文件夹之外,在您的情况下,test 文件夹应上移到 @ 旁边987654329@.

    【讨论】:

      猜你喜欢
      • 2010-12-16
      • 2014-03-17
      • 2011-07-31
      • 2019-09-13
      • 2020-03-27
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多