If one Servlet is mapped twice, using two different names (as shown bellow) how many instances of the Servlet will be created by the container?
One instance or two or it is container dependent?
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>com.me.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/page1.html</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>servlet2</servlet-name>
<servlet-class>com.me.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet2</servlet-name>
<url-pattern>/page2.html</url-pattern>
</servlet-mapping>
Since each servlet has its own configuration, there must be at least one servlet instance per servlet definition.
The Servlet 3.0 specification says:
SingleThreadModelshould be avoided.Assuming a non-distributed environment, the posted descriptor fragment will result in two servlet instances.