web.xml中servlet和servlet-mapping的说明

时间:2012-08-28 06:39:46

标签: java eclipse jsp servlets web.xml

<servlet>
    <servlet-name>PerformReg</servlet-name>
    <servlet-class>com.PerformRegistartion</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>PerformReg</servlet-name>
    <url-pattern>/PerformReg</url-pattern>
</servlet-mapping>

根据我的上述代码用于将servlet-class映射到其url-pattern 但是我怀疑他们(java专家)为什么这样做了(为什么他们让servletservlet-mapping两个单独的标签)。
他们可以做一些如下所述的事情:

<servlet>
    <servlet-class>com.PerformRegistartion</servlet-class>
    <url-pattern>/PerformReg</url-pattern>
</servlet>

这可能会使它更简单。前面提到的代码中servlet-name的需求是什么?

请帮我澄清疑问。

提前谢谢。

3 个答案:

答案 0 :(得分:0)

在web.xml中,您使用servlet-name作为servlet的唯一引用。 此名称标识servlet,可以与过滤器等一起使用。 这不仅仅是将servlet映射到特定URL的问题。

您可以将其视为别名。

答案 1 :(得分:0)

名称始终是类的唯一标识。这里serlvelt-class可能会出现两次,但无论我们调用servlet应该是唯一的。这将由servlet名称标识。如果你在struts1或struts2或spring中看到会在spring id中有名字。但无论是姓名还是身份证,都应该是强制性的。

在servlet中,servlet类仅由servlet类触发,而不是由servlet类触发。因为一个类将执行不同的操作。每个动作都应该通过名称来识别。

答案 2 :(得分:0)

web.xml中,我们首先使用提供唯一名称的< servlet >元素配置servlet,即在< servlet-name >标记中,并在< servlet-class >标记中写入servlet的类名

其次,我们使用< servlet-mapping >元素将此servlet映射到URL或URL模式。 < servlet-name >元素用于指定servlet的名称,应该为与指定为< url-pattern >元素的值的模式匹配的传入URL调用该名称。