9

私は次のことを達成したいと思います:

/webapp-context/Page-1               -> Handled by my custom "ContentServlet"
/webapp-context/Another-Page         -> Handled by my custom "ContentServlet"
/webapp-context/Page-with-long-title -> Handled by my custom "ContentServlet"

/webapp-context/_cms/<something>.zul -> Handled by ZK framework

私の最新の試みは次のようになります(web.xml抽出):

  <servlet-mapping>
    <servlet-name>zkLoader</servlet-name>
    <url-pattern>*.zul</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>myContentServlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>

残念ながら、コンテンツ サーブレットがすべてのリクエストを処理するようになりました (より具体的なパターンが優先されると思いましたか?)。

コンテンツ サーブレットをパターン "/webapp-context/content/*" にマップしても競合は発生しませんが、それは私が望んでいるものではありません。

御時間ありがとうございます。

4

1 に答える 1

11

この質問を通じて解決策を見つけました: Difference between / and /* in servlet mapping url pattern

「/*」の代わりに「/」を使用すると、うまくいきました。

<servlet-mapping>
  <servlet-name>myContentServlet</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>
于 2012-12-03T22:52:41.690 に答える