44
<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です。*NEXTEVENT*起動時のURLパターン

java.lang.IllegalArgumentException:サーブレットマッピングの<url-pattern>が無効です

誰かがエラーをほのめかすことができれば非常にありがたいです。

4

2 に答える 2

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

URL パターンが無効です。アスタリスクで終わることも、アスタリスクで始まることもできます (ファイル拡張子のマッピングを示すため)。

URL パターン仕様:

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

詳細については、 Java サーブレット仕様バージョン 3.1のセクション 12.2 を参照してください。

于 2008-08-25T20:04:47.157 に答える
1

これを実現できる回避策は、サーブレット フィルターを追加して URL の書き換えを行うことです。たとえば、NEXTEVENTを /NEXTEVENT/ (NEXTEVENT の前のもの)/ (NEXTEVENT の後のもの) などに書き換えます。

于 2008-09-15T06:59:47.523 に答える