【问题标题】:Tomcat Mapping ErrorTomcat 映射错误
【发布时间】:2013-12-07 12:52:27
【问题描述】:

我正在尝试遵循 headfirst jsp 和 servlets 书籍,但遇到了以下错误。 HTTP 状态 404 - /Beer/form.html

我的文件夹组织如下

tomcat -> webapps -> Beer -> form.html

在 Beer 文件夹中,我还有另一个文件夹 WEB-INF,其中包含 web.xml 文件。

首先我想也许我的 tomcat 根本不工作,所以我使用我以前做过的 servlet 对其进行了测试。有效。

我重新启动了网络服务器,但仍然出现此错误。 我正在运行 Windows tomcat 7.0.47。

这是我的 web.xml 文件:

<servlet>
    <servlet-name>Beer Expert Project</servlet-name>
    <servlet-class>com.example.web.BeerSelect</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>Beer Expert Project<servlet-name>
    <url-pattern>/beer.do</url-pattern>
</servlet-mapping>

我输入的网址是

http://localhost:8080/Beer/form.html

我知道有一个类似的问题 I cannot deploy a basic html file in apache tomcat

但是,该问题接受的答案对我没有任何作用。关闭 Web 服务器确实会使页面消失。我检查了它是大写字母等......

另外启动tomcat时弹出的窗口也没有任何警告和错误。

【问题讨论】:

  • tomcat doesn't have any warnings nor errors. 你能在日志中看到 Beer 应用程序是否真的被加载了吗?
  • 如果您的 web.xml 文件中只有这些,那么它显然是无效的。它甚至都不是很好的格式。
  • @JBNizet 除非有些东西他们没有在书中展示,否则我不确定这个 web.xml 文件是如何为他们工作的
  • 它没有。这本书可能只显示了 web.xml 文件的相关部分,而不是整个文件。下面是一个完整的 web.xml 文件示例:tutorials.jenkov.com/java-servlets/web-xml.html。虽然这是一个旧教程,但您应该使用 3.0/3_0 而不是 2.3/3_0。如果您使用较新的书籍或教程,您会了解到您甚至不再需要 web.xml 文件来声明和映射 servlet。如今,这是通过注释完成的。
  • @JBNizet 可能是他们向我隐藏了代码,但我认为是我在 servlet-name 之前漏掉了一个斜杠。

标签: tomcat servlets


【解决方案1】:

好的。我找到了这不起作用的原因。

我在 servlet-name 之前漏掉了一个斜杠。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-28
    • 2012-07-18
    • 1970-01-01
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多