私は強く使用することをお勧めしますHttpServletRequest.getRequestURI()を介して、あなたのコード内で要求を再検査することができ要請しますこのための適切なMVCフレームワークです。発見したように、標準サーブレットAPIの柔軟性は、ディスパッチを要求する際に非常に制限されています。
理想的には、既存のサーブレットコードをMVCフレームワークと組み合わせて使用することができます。フレームワークはパスパターンに基づいてディバックを行い、サーブレットはビジネスロジックを実行します。幸いにも、Spring MVCでは、ServletForwardingControllerを使って、これを行うことができます。それは非常に軽量のスプリング設定です。
<beans>
<bean name="/prefix*.xml" class="org.springframework.web.servlet.mvc.ServletForwardingController">
<property name="servletName" value="myServlet"/>
</bean>
</beans>
:
<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>
あなたは、このようなWEB-INF /春-servlet.xmlファイルを持っているでしょう:
つまり、あなたのweb.xmlにこのような何かを持っていると思いますそしてそれはかなりそれになります。 /prefix*.xmlに対するすべてのリクエストはmyServletに行き、他のすべてのリクエストはコンテナに渡されます。
ねえ、ありがとう...これはかなり簡単に見えます。私は既にMVCフレームワークとしてswingを使用しています - これをチェックします。 – PeterP
Springで少しの設定を取り除くことができるのは驚くべきことですが、あなたが利用できるコンベンションオーバーの設定がたくさんあります。 – skaffman