Spring MVCチュートリアル

Spring MVCチュートリアル、title = "Spring MVCチュートリアル"

上に構築されたJava Model-View-Contraller(MVC) Webフレームワークであるhttp://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc[Spring MVC]Spring Inversion of Control(IoC)フレームワークを使用しています。

1. Spring MVC Hello World

Spring MVCフレームワークを素早く開始するためのいくつかのこんにちは世界の例。

  • リンク://spring-mvc/gradle-spring-mvc-web-project-example/[Gradle -

Spring 4 MVC Hello Worldの例(XML設定)]** link://spring-mvc/gradle-spring-4-mvc-hello-world-example-annotation/[Gradle

  • Spring 4 MVC Hello Worldの例(@JavaConfig + Servlet 3)]** link://spring3/spring-3-mvc-hello-world-example/[Maven - Spring 3 MVC

Hello Worldの例(XML設定)]** link://spring3/spring-3-mvc-hello-world-example-annotation/[Maven -

Spring 3 MVC Hello Worldの例(@JavaConfig + Servlet 3)]** Spring 3のRESTの例(Working)

  • Spring 4のRESTの例(Working)

  • link://spring-mvc/spring-mvc-hello-world-example/[ @ Deprecated -

Maven Spring 2.5.6 MVC hello worldの例]** link://spring-mvc/spring-mvc-hello-world-annotation-example/[ @ Deprecated

  • Maven Spring 2.5.6 MVC hello worldアノテーションの例]

    • 新しい

    • link://spring-mvc/spring-4-mvc-ajax-hello-world-example/[Spring 4 MVC

Ajaxの例]** link://spring-mvc/spring-mvc-form-handling-example/[Spring 4フォーム

取り扱い例]** link://spring-mvc/spring-mvc-logback-slf4j-example/[Spring 4ログバック

例]** …​

ハンドラマッピング

Webリクエスト(URL)がControllerハンドラにどのようにマッピングされるかを定義します。

  • link://spring-mvc/spring-mvc-beannameurlhandlermapping-example/[BeanNameUrlHandlerMapping

例]要求されたURLをコプロセッサーの名前にマップします。

  • link://spring-mvc/spring-mvc-controllerclassnamehandlermapping-example/[ControllerClassNameHandlerMapping

例]慣例を使用して、要求されたURLをControllerにマップします。

  • link://spring-mvc/spring-mvc-simpleurlhandlermapping-example/[SimpleUrlHandlerMapping

例]開発者がURLパターンとハンドラマッピングのマッピングを明示的に指定できるようにします。

  • link://spring-mvc/configure-the-handler-mapping-priority-in-spring-mvc/[Configure

ハンドラマッピング優先度]+複数のビューハンドラマッピングが適用されている場合は、競合の問題を避けるために優先度を宣言する必要があります。

3.コントローラー

Webリクエストを処理するコントローラクラス。

  • link://spring-mvc/spring-mvc-multiactioncontroller-example/[MultiActionController

example]+関連するアクションを1つのコントローラークラスにグループ化します。

  • link://spring-mvc/spring-mvc-multiactioncontroller-annotation-example/[MultiActionController

アノテーションの例]@RequestMappingアノテーションを使用してマルチアクションコントローラ、彼は最高の簡単なソリューションです。

  • link://spring-mvc/spring-mvc-propertiesメソッド名リゾルバ - 例/[PropertiesMethodNameResolver

例]+ MultiActionControllerコントローラクラスのための柔軟なメソッド名リゾルバ。要求されたURLとメソッド名の間のマッピングを明示的に定義することができます。

  • link://spring-mvc/spring-mvc-parametermethodnameresolver-example/[ParameterMethodNameResolver

例]MultiActionControllerコントローラクラスの別のメソッド名リゾルバ。要求されたパラメータ名を使用してURLをメソッド名にマップできます。

例]+ ParameterizableViewControllerでは、コントローラクラスのビュー名をハードコードする必要はありません。代わりに、ParameterizableViewControllerのviewNameプロパティを使用してビュー名を指定します。

4.レゾルバを見る

コントローラクラスから物理ビューページまたはJSPページに返された「ビュー名」を解決します。

  • link://spring-mvc/spring-mvc-internalresourceviewresolver-example/[InternalResourceViewResolver

例]+ビュー名(接頭辞+ビュー名+接尾辞)にあらかじめ定義された接頭辞と接尾辞を追加し、最終的な表示ページURLを生成します。

  • link://spring-mvc/spring-mvc-xmlviewresolver-example/[XmlViewResolver

例]ビューBeanをXMLファイルに出力します。

  • link://spring-mvc/spring-mvc-resourcebundleviewresolver-example/[ResourceBundleViewResolver

例]ビューのBeanを ".properties"ファイルに入れます。

  • リンク://spring-mvc/configure-multiple-view-resolvers-priority-in-spring-mvc/[Configure

複数のビューリゾルバの優先順位]+複数のビューリゾルバ戦略が適用されている場合は、競合の問題を避けるために優先順位を宣言する必要があります。

5.フォーム処理

Spring MVCでのフォーム処理。

  • link://spring-mvc/spring-mvc-form-handling-example/[フォームハンドリング

例]Spring MVC、XMLベースのバージョンでのフォーム処理。

  • link://spring-mvc/spring-mvc-form-handling-annotation-example/[フォーム

アノテーションの処理例]Spring MVCでのフォーム処理、アノテーションバージョン。

  • link://spring-mvc/handling-duplicate-form-submission-in-spring-mvc/[取り扱い

フォームの提出を複製する]この「フォームの送信/リダイレクト/取得」デザインパターンは、この重複したフォーム送信問題の一般的な解決方法です。

  • link://spring-mvc/spring-mvc-redirectview-example/[RedirectView

例]別の絶対、コンテキスト相対、または現在の要求相対URLにリダイレクトするビュー。

  • link://spring-mvc/spring-mvc-handling-multipage-forms-with-abstractwizardformcontroller/[ハンドリング

マルチページ/ウィザードフォーム]+マルチページフォームまたはウィザードフォームを処理する方法。

6. Springのフォームタグライブラリ

Springのformタグを介してHTMLフォームのコンポーネントをレンダリングします。

<form:input/>タグ、HTMLテキストボックスフィールドを描画します。

<form:password/>タグ、HTMLパスワードフィールドを表示します。

<form:textarea/>タグ、HTMLテキストエリアを描画します。

  • link://spring-mvc/spring-mvc-checkbox-and-checkboxes-example/[チェックボックス

チェックボックスの例]<form:checkbox/>、<form:checkboxes/>タグは、単一または複数のHTMLチェックボックスをレンダリングします。

  • link://spring-mvc/spring-mvc-radiobutton-and-radiobuttons-example/[Radiobutton

RadioButtons example]+ <form:radiobutton/>、<form:radiobuttons/>タグは、単一または複数のHTMLラジオボタンを描画します。

  • link://spring-mvc/spring-mvc-dropdown-box-example/[ドロップダウンリスト

<form:select/>、<form:option/>、<form:options/>タグ、HTMLドロップダウンボックス、複数の選択ボックス、リストボックスを描画します。

  • link://spring-mvc/spring-mvc-hidden-value-example/[隠し値

例]+ <form:hidden/>タグでHTMLの隠し値フィールドを描画します。

  • link://spring-mvc/spring-mvc-form-errors-tag-example/[フォームエラータグ

example]<form:errors/>タグを使用して、これらのフォームコンポーネントのエラーメッセージを表示します。

  • link://spring-mvc/spring-mvc-file-upload-example/[ファイルアップロード

例]Spring MultipartResolverによるファイルアップロード処理。

7. Spring MVCを他のフレームワークと統合する

Spring MVCを他の人と統合する。

  • link://spring-mvc/spring-3-mvc-and-jsr303-valid-example/[Spring 3 MVC

JSR303 @Valid example]Hibernateバリデーター(JSR303実装)を使用してSpring MVCでBeanを検証します。

  • link://spring-mvc/spring-3-mvc-and-rss-feed-example/[Spring 3 MVCと

RSSフィードの例]ROMEを使用してSpring MVCからRSSフィードを生成する。

  • link://spring-mvc/spring-3-mvc-and-xml-example/[Spring 3 MVCとXML

例]JAXBを使用してSpring MVCからXML出力を生成する。

  • link://spring-mvc/spring-3-mvc-and-json-example/[Spring 3 MVCとJSON

例]Jacksonを使用してSpring MVCからJSON出力を生成する。

  • link://spring-mvc/spring-mvc-export-data-to-excel-file-by-abstractexcelview/[Spring

AbstractExcelViewを使用したMVCとExcelファイル]AbstractExcelViewを使用して、Apache POIライブラリ経由でExcelファイルにデータをエクスポートします。

  • link://spring-mvc/spring-mvc-export-data-to-excel-file-as-abstractjexcelview/[Spring

AbstractJExcelViewを使用したMVCとExcelファイル]AbstractJExcelViewを使用して、JExcelAPIライブラリ経由でExcelファイルにデータをエクスポートします。

  • link://spring-mvc/spring-mvc-export-data-to-pdf-file-by-abstractpdfview/[Spring

AbstractPdfViewを使用したMVCとPDFファイル]AbstractPdfViewを使用して、Bruno LowagieのiTextライブラリを介してPdfファイルにデータをエクスポートします。

  • link://spring-mvc/spring-mvc-log4j-integration-example/[Spring MVCと

Log4j integration example]Log4jをSpring MVCアプリケーションに統合する例。

8.よくある質問

いくつかの一般的な使用例。

  • link://spring-mvc/spring-3-mvc-contentnegotiatingviewresolver-example/[Spring

3 MVC ContentNegotiatingViewResolver example]このビューリゾルバは、reuqestedファイル拡張子に基づいて、返されるビューリゾルバを決定します。

  • link://spring-mvc/spring-mvc-exception-handling-example/[例外

処理例]Spring MVCでの例外処理。

  • link://spring-mvc/spring-mvc-handler-interceptors-example/[Handler

インターセプタの例]ハンドラインターセプタを介してWebリクエストをインターセプトします。

  • link://spring-mvc/spring-mvc-internationalization-example/[国際化

例]+複数の言語がSpring MVCでサポートされています。

10.一般的なエラー

Spring MVCの一般的なエラーと解決策。

  • link://spring-mvc/modelandviews-model-value-is-jsp-via-el/[ModelAndView’s

モデル値はELを介してJSPに表示されません]** link://spring-mvc/404-error-code-not-working-in-spring-mvc/[404

エラーコードはSpring MVCで動作していません]** link://spring-mvc/can-change-http-accept-header-use-a-different-locale-resolution-strategy/[Can not change

HTTP受け入れヘッダーを変更する - 異なるロケール解決戦略を使用する]** link://spring-mvc/spring-mvc-failed-to-convert-property-value-in-file-upload-form/[Spring

MVCがファイルアップロードフォームのプロパティ値を変換できませんでした]** link://spring-mvc/spring-mvc-non-bindingresult-plain-target-object-for-bean-name-xxx-available-as-request-attribute-attribute/[どちらでもない

BeanName 'xxx’のBindingResultもプレーンなオブジェクトも 要求属性]** リンク://spring-mvc/classnotfoundexception-com-sun-syndication-feed-wirefeed/[ClassNotFoundException

: com.sun.syndication.feed.WireFeed]** link://spring-mvc/classnotfoundexception-com-thoughtworks-xstream-io-hierarchicalstreamreader/[ClassNotFoundException

: com.thoughtworks.xstream.io.HierarchicalStreamReader]