この記事では、主に、次のように、Restfullに対するSpringMVCのサポートの関連する内容を研究しています。
Restful Architectureは、人気のあるインターネットソフトウェアアーキテクチャです。それは明確に構造化されており、標準に準拠しており、理解しやすく、拡大しやすいため、ますます多くのWebサイトで採用されています。 RESTFULアーキテクチャはURLを指定します。 Restful形式のURLはどのように見えますか?私たちが要求するURLは通常、次のようになります:
http://...../xxx.action?id = 001&type = aaa
そして、RestのURLスタイルはどのように見えますか?一般的には次のようなものです。
http://....../xxx/001
したがって、RESTには非常に明白な機能があります。URLを簡潔にし、パラメーターをURLを介してサーバーに渡します。 SpringMVCは、このRESTスタイルのURLもサポートしています。テストするためにコントローラーを定義しましょう。
//製品情報、出力json、restful@requestmapping( "/itemsview/{id}")public@responsebody itemscustom itemsview(@pathvariable( "id")integer id)slows {itemscustom itescustom = itemsservice.finditemsbyid(id); return itemscustom;} @ResponseBody 、 itemsCustom JSONに変換するために使用される注釈であり、 @PathVariableアノテーションは休息に関連しています。 @RequestMapping(value=”/ itemsView/{id}”)の{id}はプレースホルダーを表します。ここで渡される値は、 @PathVariableがマークされた正式なパラメーターに渡されます。正式なパラメーターがプレースホルダーの変数と同じ場合、注釈で指定できなくなります。そうしないと、このプレースホルダーの変数(つまり、ID)を注釈で指定する必要があります。このようにして、パラメーターをURLから正式なパラメーターに渡すことができます。
しかし、これは機能しておらず、次のように、フロントエンドコントローラーでRESTを構成する必要があります。
<! - SpringMVCのフロントエンドコントローラーDispatcherServlet、REST Configuration-> <Servlet-Name> SpringMVC_REST </servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-conterconfiglotin <param-value> classpath:spring/springmvc.xml </param-value> </init-param> </servlet mapping> <servlet-name> springmvc_rest </servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
すべてのURL(/)の傍受、この構成は、以前に構成されたフロントエンドコントローラーと競合することはなく、共存することができます。この構成の後、ブラウザにhttp:// localhost:8080/springmvc_study/itemview/1を入力して、ブラウザに返されるデータをテストできます。一連のJSONデータが返されることがわかります。
しかし、問題があります。上記の構成を使用した後、すべてのURLが傍受され、静的リソースがインターセプトされます。したがって、DispatcherServletも静的リソースを解析しますが、これによりエラーが発生するため、静的リソースを解析しないように設定する必要があります。のように:
<! - js、css、img ... - > <mvcを含む静的リソースの解析:リソース場所= "/js/" mapping = "/js/**"> </mvc:リソース> <mvc:リソース場所= "/img/" mapping = "/img/**"> </mvc:> </mvc>
他の静的リソースがある場合は、静的リソースを解析しないようにセットアップする必要があります。静的リソースにアクセスするときに、それらに直接アクセスできます。
上記は、Restfullに対するSpringMVCのサポートの簡単な議論に関するこの記事のすべての内容であり、誰にとっても役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!