Je suggère fortement l'utilisation un cadre MVC approprié pour cela. Comme vous l'avez découvert, la flexibilité de l'API de servlet standard est très limitée en termes de répartition des demandes.
Idéalement, vous seriez en mesure d'utiliser votre code de servlet existant en combinaison avec un framework MVC, le framework faisant le diapcthing basé sur le pattern path, et vos servlets faisant la logique métier. Heureusement, Spring MVC vous permet de faire exactement cela, en utilisant le ServletForwardingController. Ce serait une config printanière très légère.
Donc, vous auriez quelque chose comme ça dans votre web.xml:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>foo.MyServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<url-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*</url-pattern>
</url-mapping>
Vous auriez alors un fichier servlet.xml printemps WEB-INF/comme ceci:
<beans>
<bean name="/prefix*.xml" class="org.springframework.web.servlet.mvc.ServletForwardingController">
<property name="servletName" value="myServlet"/>
</bean>
</beans>
Et ce serait à peu près tout. Toutes les demandes pour /prefix*.xml iraient à myServlet, et tous les autres tomberaient dans le conteneur.
Hé, merci ... ça a l'air assez facile. Le printemps me surprend :) En fait, nous utilisons déjà swing comme cadre MVC - je vais vérifier cela. – PeterP
Il est parfois surprenant de voir à quel point vous pouvez vous débrouiller au printemps, il y a beaucoup de conventions sur la configuration que vous pouvez utiliser. – skaffman