3

2个网址有什么区别:

http://localhost:8084/D_Nappster/NewServlet/

http://localhost:8084/D_Nappster/NewServlet

第一个 URL 让我得到404响应,而第二个 URL 按预期工作。

web.xml

<servlet-mapping>
    <servlet-name>NewServlet</servlet-name>
    <url-pattern>/NewServlet</url-pattern>
</servlet-mapping>
4

3 回答 3

2

通常,第一个 url 将被视为目录,而第二个将被视为文件。

在您的情况下,您没有第一个 url 的映射,因此它被视为不存在的目录,从而导致 404。

于 2013-01-27T07:30:39.957 回答
0

通常/,最后的 a 使服务器假定它是一个文件夹,而不是 url-pattern 中提到的 servlet。

http://localhost:8084/D_Nappster/NewServlet/

因此,在上述情况下,它会尝试查找 NewServlet 文件夹的默认页面。而在第二个 url 中,服务器正确地断定它是一个 Servlet 并完美地呈现 UI。

此外,您的 web.xml 不包含NewServlet/url-pattern 的定义,因此不包含 404 错误。

于 2013-01-27T07:29:36.200 回答
0

第一个不带 / 的 URL 访问 NewServlet 类。

带有 / 的第二个 URL 尝试查找名为 NewServlet 的文件夹并访问该文件夹中的默认设置

于 2013-01-27T07:30:06.080 回答