No termino de entenderlo.
A ver si es esto. He tocado un ejemplo con el que yo trabajo. En el paquete servlets, tenia el ControllerServlet y el AjaxServlet. he creado un paqute llamado dentro y allí he puesto el AjaxServlet.
Modifico el xml y me queda algo así
<servlet>
<servlet-name>EntornoController</servlet-name>
<servlet-class>servlets.ControllerServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>Ajax</servlet-name>
<servlet-class>servlets.dentro.AjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Ajax</servlet-name>
<url-pattern>/AjaxServlet</url-pattern>
</servlet-mapping>
y desde el performTask del controller, puedo hacer lo siguiente:
response.sendRedirect("AjaxServlet");
A ver si te he entendido bien!
Otra cosa, ¿en verdad te parece correcto en tu primer ejemplo que estas declaraciones convivan en el web.xml?
<servlet>
<servlet-name>
Ventas</servlet-name>
<servlet-class>Ventas.Index</servlet-class>
</servlet>
<servlet>
<servlet-name>
Ventas</servlet-name>
<servlet-class>Ventas.Productos.Ingreso</servlet-class>
</servlet>
<servlet>
<servlet-name>
Ventas</servlet-name>
<servlet-class>Ventas.Usuarios.Consulta</servlet-class>
</servlet>