87

パスを参照するときに、1 つのアスタリスクではなく 2 つのアスタリスクの違いは何ですか?

以前、Spring 3 プロジェクトをデバッグしていました。を使用して.swfを追加しようとしていました

<spring:url var="flashy" value="/resources/images/flash.swf"/>

私のweb.xmlのResourceServletは次のようになります

<servlet-name>Resource Servlet </servlet-name>
<url-pattern>/resources/*</url-pattern>

しかし、残念ながら、次のエラーが発生していました。

WARN org.springframework.js.resources.ResourceServlet - An attempt to access a protected resource at /images/flash.swf was disallowed.

フォルダ内のすべての画像がアクセスされたので、本当に奇妙だと思いましたimagesが、.swf が「保護」されたのはなぜですか?

その後、に変更することにしました/resources/*/resources/**、最終的には機能しました。私の質問は...なぜですか?

4

1 に答える 1

53

これは で使用されるパス パターンでありApache ant、Spring チームがそれを実装し、フレームワーク全体で使用します。

参考までに、AntPathMatcherの javadoc を参照してください(最新のjavadoc には問題があるようですので、古いものをリンクします)。

ドキュメントによると、問題に戻ると、ルールは3つしかありません。

  1. ?1文字に一致
  2. *0 個以上の文字に一致
  3. **パス内の 0 個以上の「ディレクトリ」に一致します
于 2014-03-02T14:24:15.053 に答える