【问题标题】:What difference does putting a 'forward slash' at the end, make to a url?最后加上一个“正斜杠”对网址有什么影响?
【发布时间】:2013-01-10 19:21:07
【问题描述】:

这两个网址有什么区别:

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>

【问题讨论】:

标签: java url jakarta-ee servlets url-pattern


【解决方案1】:

一般情况下,第一个url会被当作目录,而第二个会被当作文件。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-26
        • 2013-06-14
        • 1970-01-01
        • 2010-11-25
        • 2016-02-02
        • 2019-10-21
        相关资源
        最近更新 更多