2个网址之间有什么区别:
http://localhost:8084/D_Nappster/NewServlet/
和
http://localhost:8084/D_Nappster/NewServlet
第一个网址获得404
响应,而第二个网址按预期工作。
来自 web.xml :
<servlet-mapping>
<servlet-name>NewServlet</servlet-name>
<url-pattern>/NewServlet</url-pattern>
</servlet-mapping>
答案 0 :(得分:2)
通常,第一个URL将被视为目录,而第二个URL将被视为文件。
在您的情况下,您没有第一个网址的映射,因此它被视为不存在的目录,从而导致404.
答案 1 :(得分:0)
通常,最后/
使服务器认为它是一个文件夹而不是url-pattern中提到的servlet。
http://localhost:8084/D_Nappster/NewServlet/
因此,在上述情况下,它会尝试查找NewServlet文件夹的默认页面。然而,在第二个URL中,服务器正确地断定它是一个Servlet并且可以直接呈现UI。
此外,web.xml不包含NewServlet/
url-pattern的定义,因此也包含404错误。
答案 2 :(得分:0)
没有/的第一个URL访问并访问NewServlet类..
第二个带/的URL尝试查找名为NewServlet的文件夹并访问文件夹中的默认设置