Java 多个Servlet映射

Java 多个Servlet映射,java,servlets,struts-1,Java,Servlets,Struts 1,我在分配给我的一个项目中打开了一个web.xml文件,看到了多个具有相同servlet名称的servlet映射: <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>/beta/*</url-pattern> </servlet-mapping> <servlet-mapping>

我在分配给我的一个项目中打开了一个web.xml文件,看到了多个具有相同servlet名称的servlet映射:

   <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>/beta/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

行动
/贝塔/*
行动
*.做
此外,特定servlet似乎包括两种不同的配置:

<servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.common.utils.HeadCompliantActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>config/beta</param-name>
            <param-value>/WEB-INF/struts-config-beta.xml</param-value>
        </init-param>

行动
org.common.utils.HeadCompliantActionServlet
配置
/WEB-INF/struts-config.xml
配置/测试版
/WEB-INF/struts-config-beta.xml
所以我的问题是

是否初始化/加载了特定servlet的两个不同实例? 或者正在加载特定servlet的一个版本?

本节

<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>/beta/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

行动
/贝塔/*
行动
*.做
指定servlet应响应的模式。在您的案例中,使用相同的servlet创建多个url模式是完全正确的

然后这个部分:

<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.common.utils.HeadCompliantActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
        <param-name>config/beta</param-name>
        <param-value>/WEB-INF/struts-config-beta.xml</param-value>
    </init-param>

行动
org.common.utils.HeadCompliantActionServlet
配置
/WEB-INF/struts-config.xml
配置/测试版
/WEB-INF/struts-config-beta.xml
这是一个servlet的唯一定义,而不是两个。但是,它有两个参数,一个是用
init param
定义的,发送到init上的servlet,但它仍然是同一个servlet定义

Struts然后读取配置并处理servlet中的配置

应用程序中servlet类的实例数量由servlet容器决定