まず、web.xml構成
<! - spring-mvc-> <servlet> <servlet-name> springservlet </servlet-name> <servet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <init-param> <param-name> contextconfiglocation </param-name> <param-value> cl ASSPATH:Springmvc-servlet.xml </param-value> </init-param> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-name> springservlet </servlet-name> <url-pattern>/</url-pattern>
url-pattern configuration/、構成/*の場合、質問をし、ビューに戻ることさえJSPが傍受されます。特定の理由から、ソースコードを参照してください
質問:この方法で構成すると、誰もが問題を無視します。つまり、A/B/Cにアクセスできますが、A/B/C.DO。 a/b/c.mm; A/B/C.ZZはすべてA/B/Cコントローラーにアクセスできます。ソースコードを変更せずに、そうします
この問題を解決します。そのようなリクエストを傍受する/そのような要求は、A/B/Cのようなリクエストのみをコントローラーに入力させます。 [。]の接尾辞が接尾辞を使用している場合、入力しません。 404ページに直接行きます。
解決:
web.xmlでフィルターに追加します
<! - の単純なフィルタリングurl - > <filter> <filter-name> servletRequest </filter-name> <filter-class> cn.tomcat.quickstart.common.filter.servletrequestfilter </filter-class> </フィルター> <フィルターマッピング> <filter-name> servletRequest </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> servletrequestfilter.javaimport java.io.ioexception; Import javax.servlet.filterchain; Import javax.servlet.servletexception; Import javax.servlet.http.httpservletrequest; Import javax.servlet.http.httpservletresponse; Import; org.springframework.web.filter.onceperRequestfilter;/****着信URLを処理してフィルターの前に配置します。安らかなスタイルを模倣し、A/b/c * * */public class servletrequestfilterからのみのリクエストのみを受け入れます。静的ファイルを傍受することを心配してください。たとえば、 *.js、 *.cssはこれに類似しており、web.xml //接尾辞を備えたすべてのリクエストは404に移動するために直接使用され、そのような要求を受け入れない場合は(requestpath.lastindexof( "。")!= -1){request.getRequestdispatcher( "/web-inf/pagult/perquest/peruster/errer/error/error/error/error/errer/404.jsp")応答);} else {filterchain.dofilter(request、response);}}}}}}エンディングで404を直接go、ハハ、多分あなたはこれが当てはまるかどうかを尋ねるでしょう、静的ファイルはフィルタリングされませんか? *.js、 *.css、... nこのようなタイプのファイルに似ています