为什么在jsp/servlet中的web.xml(Deployment Descriptor)中使用<servlet-mapping>?

EMM*_*EMM 3 java jsp servlets

<servlet>
    <servlet-name>Hello</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>Hello</servlet-name>
    <url-pattern>/HelloWorld.do</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

为什么我们在servlet-mapping标签内部使用url-pattern.为什么不在servlet标签本身. 这似乎只是一个额外的标签. 是不是因为servlet/jsp规范编写者决定这样做或者它存在背后的逻辑原因?



Vin*_*lds 5

这很可能是因为servlet旨在支持多种协议,而不仅仅是HTTP.URL模式是特定于单独HTTP,因此servlet以HTTP URL图案的映射在完成servlet-mapping标签来代替,servlet其被用于声明的servlet更通用的特性的标记.