38
<servlet> 
    <servlet-name>myservlet</servlet-name> 
    <servlet-class>workflow.WDispatcher</servlet-class> 
    <load-on-startup>2</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>myservlet</servlet-name> 
    <url-pattern>*NEXTEVENT*</url-pattern> 
</servlet-mapping> 

は、Tomcatのweb.xmlからの抜粋です。起動時にURLパターン*NEXTEVENT*java.lang.IllegalArgumentExceptionが:サーブレット・マッピングの無効<url-pattern>上記

java.lang.IllegalArgumentExceptionがスローされます:誰かがエラーをほのめかすことができるかどう

サーブレットマッピングに

を無効<のurl-pattern>をそれは非常に理解されるであろう。

答えて

89
<url-pattern>*NEXTEVENT*</url-pattern> 

URLパターンは無効です。アスタリスクで終わるか、1つで始まる(ファイル拡張子マッピングを示す)。

のurl-pattern仕様:文字列は「/」文字で始まり、「/ *」 接尾辞で終わる

  • は、パスマッピングのために使用されています。
  • '*。'接頭辞で始まる文字列は、拡張子として マッピングとして使用されます。
  • '/'文字のみを含む文字列は、アプリケーションの「デフォルトの」 サーブレットを示します。この の場合、サーブレットパスは URIからコンテキストパスを引いたものであり、 パス情報はnullです。
  • 他のすべての文字列は完全一致にのみ使用されます。

は、より多くの詳細については、Java Servlet Specificationバージョン3.1のセクション12.2を参照してください。

+3

以下はサーブレットマッピングの素晴らしい説明です:http://javapapers.com/servlet/what-is-servlet-mapping/ – ripper234

1

これを達成するための回避策は、サーブレットフィルタを追加してURLの再書き込みを行うことです。 NEXTEVENT/(NEXTEVENTの前のもの)/(NEXTEVENTの後のもの)またはそれに類するもの。

関連する問題