繁体   English   中英

servlet-name 可以不同吗<servlet>和<servlet-mapping> ?

[英]can servlet-name be different in <servlet> and <servlet-mapping>?

这个 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>

不,它不能。

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

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

不,因为这就是将它们连接在一起的原因。

不,那是无效的。 <servlet>...</servlet><servlet-mapping>...</servlet-mapping>标签中的<servlet-name>...</servlet-name>必须与其相同将映射绑定到该特定 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-name 为 HelloWorld1 的 servlet 条目:

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

不,你不能那样做。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM