在<servlet>和<servlet-mapping>中,servlet-name可以不同吗?</servlet-mapping> </servlet>

时间:2014-04-12 21:23:38

标签: java xml servlets

这个web.xml有效吗?

servlet-name在servlet和servlet-mapping中是不同的?

<web-app>
    <servlet>
        <servlet-name>Levensthein Servlet</servlet-name>
        <servlet-class>Levensthein</servlet-class>
    </servlet>
    <servlet-mapping>
       <servlet-name>Levensthein</servlet-name>
       <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

4 个答案:

答案 0 :(得分:1)

不,它不能。

servlet-name元素必须匹配,servletservlet-mapping元素绑定在一起。把它想象成一个id。

如果要向servlet添加描述,可以使用description元素。您也可以使用评论。

答案 1 :(得分:0)

不,因为那是他们加在一起的原因。

答案 2 :(得分:0)

否,那是无效的。 <servlet-name>...</servlet-name><servlet>...</servlet>标签中的<servlet-mapping>...</servlet-mapping>必须相同,因为它将映射绑定到该特定的servlet。

在服务器启动时保持两种不同抛出错误。

    <servlet>
        <servlet-name>HelloWorld2</servlet-name>
        <servlet-class>com.servlets.HelloWorldServlet</servlet-class>

    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorld1</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

服务器启动错误,因为容器找不到任何servlet名称为HelloWorld1的servlet条目:

部署期间发生错误:部署应用程序时发生异常[示例]:此处没有名称为HelloWorld1的Web组件。有关更多详细信息,请参阅server.log。

答案 3 :(得分:0)

不,你不能那样做。

由于您在本节中定义的servlet名称,因此您定义了URL模式,该URL模式用作用于将其与类映射的servlet名称的标识符