2012-04-05 8 views
1

特定のURLに対しては「明示的」サーブレットを、他のすべてのURLを処理するにはデフォルトの(キャッチオールの)サーブレットを使用したいと思います。だから私はこのようなweb.xmlファイル作成:それは働いていませんが、私はTomcatの7アスタリスク(ワイルドカードマッチ)とurl-pattern

を使用しています を(私も/myindex.htmlのための404エラーが出る)

<servlet> 
    <servlet-name>My myindex.html servlet</servlet-name> 
    <servlet-class>in.shakir.web.MyIndexServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>My myindex.html servlet</servlet-name> 
    <url-pattern>/myindex.html</url-pattern> 
    </servlet-mapping> 

    <servlet> 
    <servlet-name>My all others servlet</servlet-name> 
    <servlet-class>in.shakir.web.MyHandlerServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>My all others servlet</servlet-name> 
    <url-pattern>*</url-pattern> 
    </servlet-mapping> 

をしかし、私は削除する場合2番目(デフォルトまたはキャッチオール)の部分をmy web.xmlから取得すると、myindex.htmlは正常に動作します。だから私のURLパターンに何が間違っていますか?お知らせ下さい。

<url-pattern>/*</url-pattern> 

答えて

4

変更

<url-pattern>*</url-pattern> 

は、より多くの情報のためthisを参照してください。

+0

チャンドラ、私はちょうどそのページを読んで、/ * を使っても同じ効果があるようです。右 ? –

+0

@ user1089770 /はデフォルトのURLパターンとして動作します。つまり、urlが一致しない場合、このサーブレットが呼び出されます。しかし、私はサーブレットに2番目のケースが存在するとは思わない。私は2番目のケースについてはわかりません。 –

関連する問題