Java/J2EE中访问服务器端资源的URL行为

Java/J2EE中访问服务器端资源的URL行为,java,jakarta-ee,servlets,web-applications,Java,Jakarta Ee,Servlets,Web Applications,我的部署描述符如下 <servlet> <servlet-name>postServlet</servlet-name> <servlet-class>com.http.post.PostServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>postServlet</servlet-name&

我的部署描述符如下

<servlet>
    <servlet-name>postServlet</servlet-name>
    <servlet-class>com.http.post.PostServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>postServlet</servlet-name>
    <url-pattern>/postServlet</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>postServlet</servlet-name>
    <servlet-class>com.http.post.PostServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>postServlet</servlet-name>
    <url-pattern/>
</servlet-mapping>
有人能用概括的方式来解释这种行为吗

然而,如果中间有空隙,它就失败了 /url/to/my/server/HTTPMethods//// 这是有意义的,因为浏览器使用%20对空间进行编码

是否存在忽略尾随空格的具体原因

如果出现以下URL,则为失败
/url/to/my/server/HTTPMethods/////postServlet//

读起来可能会很困惑,但您所有的问题都可以由

基本上,前导空格和尾随空格都是简单地去掉的(如果您确实需要将空格作为URL的一部分,那么您应该将它们编码为%20)

关于符号HTTPMethods///postServlet,多个斜杠被简单地视为一个斜杠

http://myserver:8080

/url/to/my/server/MyWebAppName
/url/to/my/server/MyWebAppName  (few white spaces at the end of context)
/url/to/my/server/HTTPMethods/
/url/to/my/server/HTTPMethods/////
/url/to/my/server/HTTPMethods///postServlet
/url/to/my/server/HTTPMethods///postServlet   (few white spaces here too)