【发布时间】:2016-08-12 10:44:47
【问题描述】:
我已经编写并编译了一个 servlet,我已将其添加到我的 WEB-INF/classes 文件夹并更新了 web.xml 文件以映射到 /MyServlet。
这样我可以导航到http://localhost:8080/MyServlet 并获得预期的结果。
我现在希望能够通过导航到 http://localhost:8080/MySite.html/MyServlet 来访问这个 servlet,但是这给了我一个 404 错误。
我可以毫无问题地访问http://localhost:8080/MySite.html,并且该html文件与WEB-INF文件夹位于同一级别。该站点似乎无法访问classes 文件夹,所以我需要更改其他设置来解决此问题吗?
【问题讨论】:
-
是DynamicWebApplication项目吗?
-
我最初在 JavaEE 应用程序客户端项目中编写了 servlet,但我只是尝试创建一个新的动态 Web 应用程序项目,仍然得到相同的结果 - 我可以直接针对
localhost访问 servlet但不是作为实际站点后的反斜杠 -
“我现在希望能够通过导航到 localhost:8080/MySite.html/MyServlet 来访问这个 servlet” - 但为什么呢? MySite.html 显然不是站点名称,只是另一个资源的名称(在本例中为 html 文件)。如果您转到 /MySite.html,浏览器将获取 html 文件,如果您转到 /MyServlet,浏览器将获取 servlet 生成的内容。除了您的期望之外,我没有发现任何问题。
-
@CrazyHorse:Gimby 是对的。但是对于您的方法,可能是在 web.xml 中尝试正确的 servlet url。至于您将您的 servlet 类映射到 /MySite.html/MyServlet
-
谢谢,现在我明白了。所以唯一错误的是我的理解。 @Gimby - 如果你想让你的回答成为我会接受的答案
标签: tomcat servlets jakarta-ee