gpt4 book ai didi

java - 在 EC2 上的 Tomcat 上从 JavaEE 项目提供静态文件

转载 作者:行者123 更新时间:2023-11-28 23:31:33 25 4
gpt4 key购买 nike

我在 Eclipse 中创建了一个动态 Web 项目,将其导出到一个 .war 文件,然后在安装了 Tomcat 的 Amazon EC2 实例 (Ubuntu 14.04) 中运行该 .war 文件。如果我只使用 PrintWriter 进行输出,它工作正常,但我想在请求 URL“someEC2path.amazonaws.com/myapp/index.html”时提供一个简单的 index.html 文件。

在我的项目中,我有一个 WebContents 文件夹,其中包含 3 个其他文件夹:META-INF、WEB-INF 和 static。我将 index.html 文件放在静态文件夹中。在我的 web.xml 文件中,我有两个 servlet 映射,它们将 url-pattern/* 映射到 servlet-name“myapp”,将 url-pattern *.html 映射到 servlet-name“default”。

我这样做是因为我在多个地方读到这是 Tomcat 获取静态文件的方式。它不工作。我的 index.html 文件没有被发送到浏览器。当调用上面列出的 URL 时,如何让 Tomcat 查找/发送我的 index.html 文件?

最佳答案

解决方案是确定 servlet 上下文路径以确定 index.html 的实际位置。我运行了这段代码: ServletContext servletContext = getServletContext(); String contextPath = servletContext.getRealPath(File.separator); PrintWriter out = response.getWriter(); out.println(contextPath);然后我找到了 index.html 的完整位置,并能够在我的 servlet 中正确引用它。

关于java - 在 EC2 上的 Tomcat 上从 JavaEE 项目提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29683456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com