手動設定
DispatcherServletのコントローラの1.web.xml構成
またSpringMVC要求駆動型のWebベースのフレームワーク、及びフロントコントローラデザインパターンを使用します。DispatcherServletのフロントコントローラは、コントローラである限り、のweb.xmlルール] [URLパターンファイル、要求がフロントコントローラ(のDispatcherServlet)に引き渡されますが、彼らは要求に応じて、フロントエンドコントローラを行いません任意の処置に記載の【の】対応するURLマッピング規則他のページコントローラに委託処理要求。フロントコントローラは、統一されたアクセスポイントとして、グローバルフロー制御。
ContextConfigLocation値指定された位置プロファイルspringmvc
<! - SpringMVC遠位コントローラ- > < サーブレット> < サーブレット名> SpringMVC </ サーブレット名> < サーブレットクラス> org.springframework.web.servlet.DispatcherServlet </ サーブレットクラス> < INIT-PARAM > <! - contextConfigLocation設定springmvcロードされた設定ファイルを、何の設定はデフォルトの/ WEB-INF /サーブレット名の-servlet.xmlによってロードされていない場合は- > < PARAM名> contextConfigLocation </ PARAM名> < PARAM値> CLASSPATH:春/ springmvc.xml </PARAM値> </ INIT-PARAM > </ サーブレット> < サーブレット・マッピング> < サーブレット名> SpringMVC </ サーブレット名> <! - まず:. *アクションがDispatcherServletの.actionを終了することによって解決される- > <! - <URLパターン> *を。アクション</のurl-pattern> - > <! - 第二:;この方法でRESTfulなスタイルのURLを使用して達成することができます/すべてのアクセスアドレス解決のためのDispatcherServletの決意によっては、静的な設定ファイルがのDispatcherServletが解決せ必要です- > < URLパターン> / </ URLパターン> </ のservlet-mapping >
春は手動でのServletContext初期化パラメータを使用する必要がある、プロファイルの場所を指定します
<! - 手動でプロファイルバネの場所を指定し、するServletContext初期化パラメータを使用する必要があります- > < 文脈のparam > < PARAM名> contextConfigLocation </ PARAM名> < PARAM-値> CLASSPATH:春/ファイルのアプリケーションDAO .xmlファイル、CLASSPATH:春/ファイルアプリケーションservice.xmlに、CLASSPATH:春/ファイルアプリケーションtransaction.xml </ PARAM値> </ コンテキストPARAM >
モニターのServletContextオブジェクトを作成するために提供設定リスナーの春、のServletContextで私たちを入れて春のコンテナを作成します
< リスナー> <! - 設定リスナーが、我々は、ばねウェブ4.3.8.RELEASE.jarを導くために必要とするServletContext上の春のコンテナを作成し、モニタServletContextオブジェクトを作成するために設けられたバネ デフォルト:この設定は、位置だけをロードすることができるが、スプリングの設定ファイルWEB-INFディレクトリで、(手動で他の位置に設定ファイルの場所を指定する必要がありますので、春のコンフィギュレーション・ファイル)ファイル名はapplicationContext.xmlをしなければなりません - > < リスナークラス> org.springframework.web.context.ContextLoaderListener </ リスナクラス> </ リスナー>
2 。Springmvc.xmlは、プロセッサ1、プロセッサ・アダプタ2. 3.マッパービューリゾルバに配置された(デフォルトのJSTLの使用に注意してください、一つはJSTLパッケージでなければなりません)
接頭辞と接尾辞二つの特性上パーサー構成図、図クラスパスコントローラは、ファイル名のみを提供するように、ビューリゾルバは自動的に接頭辞と接尾辞を追加します。
リゾルバは、これら二つの属性を考慮して設定されている:例えば
、<プロパティ名=「接頭辞」値 =「/ WEB-INF / JSP /」> </プロパティ> <プロパティ名=「サフィックス」値=「JSP」> </プロパティ>
2.Controllerクラスバック提供されるビューのModelAndView名返さ: modelAndView.setViewName(「アイテム」)、
アクセスコントローラ後3を正常にアクセスURLは..... / WEB-INF / JSP / items.jsp
<! - コントローラーを構成する際豆マッパー名を指定するには、プロセッサを構成し、URL名を豆のルックアップとして- > < 豆のクラス=「org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping」> </ 豆> <! - プロセッサアダプタを設定し、すべてのプロセッサがHandlerAdapterインタフェースアダプタを実装されています- > < 豆のクラス=「org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter」> </ 豆> <! - ;ビューリゾルバ解析JSP、デフォルトJSTLのラベル、パッケージは、JSTLを有効にする必要があります - > < 豆のクラス= "org.springframework.web.servlet.view.InternalResourceViewResolver" > <! - ビューの接頭辞セット- > < プロパティ名= "接頭辞" 値= "/ WEB-INF / JSP /" > </ プロパティ> <! - セットビューのサフィックス- > < プロパティ名= "サフィックス" 値"JSP" = > </ プロパティ> <! - 接尾辞がmodelAndView.setViewName(「」)が指定される前と後に、自動的に周りの接頭辞と接尾辞を追加します- > </ 豆>
3.ライト・コントローラのJavaコード
手動構成コントローラによって達成されるコントローラインタフェースに対応するJavaクラス、及びオーバーライド実装
パブリック クラス ItemController 実装コントローラー{ @オーバーライド 公共のModelAndViewのhandleRequest(HttpServletRequestのリクエスト、HttpServletResponseの応答)がスロー例外{ 名前のString = "一般名" ; // 戻り値のModelAndView のModelAndViewのModelAndView = 新新のModelAndView(); // 対応はのsetAttribute(の要請); modelAndView.addObject( "名前" 、名); // ビューの指定 modelAndView.setViewName( "アイテム" ;) リターンのModelAndViewを。 } }
springmvc.xmlのコントローラの設定
<! - 配置Controlle - > < 豆の名前= "/ queryItems.action" クラス= "cn.controller.ItemController" > </ 豆>
II。注釈方法
同じコントローラの複数1.web.xml構成と手動構成のweb.xml
2.springmvc.xmlマッパー構成された注釈やメモアダプタ
一つの方法:
<! - (注解)映射器- > < 豆のクラス= "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" > </ 豆> <! - (注解)适配器- > < 豆のクラス= "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" > </ 豆>
第二の方法:
<! - 使用<MVC:注釈駆動型>注釈マップは、トップノートとアダプターを交換することができ、それは方法を結合パラメータのデフォルト数をロードします 例えば、JSONパーサー変換が実際の開発と、デフォルトでロードされた- > < MVC:注釈ドリブン> </ MVC:注釈ドリブン>
Javaコードのコントローラによって達成3.書き込みノート
// 使用@Controllerは、Aコントローラで示す @Controller // のURL分類管理、ルートパスを定義することができ、そのようなアクセスは、例えば、URL /商品/ queryItemsあるより @RequestMapping(「/商品」) パブリック クラスAnnotationController { @Autowired プライベートItemService itemService。 / ** *クエリーアイテム * @Param itemQueryVo * @Return * / // @RequestMappingとURLマッピング実装、URLに対応する方法で、同一の一般的なメソッド名と値 @RequestMapping( "/ queryItems" ) 公衆のModelAndView queryItems(ItemQueryVo itemQueryVo){ ModelAndViewのModelAndView = 新しいのModelAndView(); 一覧 <ItemCustom> itemsList = itemService.findItemsList(itemQueryVo)。 // 相当于リクエスト的にsetAttribute(); modelAndView.addObject( "itemsList" 、itemsList)。 // 指定视图 modelAndView.setViewName( "項目/ itemsList" ); 返すのModelAndViewを。 }
4.springmvc.xml構成される注釈コントローラ
<! - 単一のスキャン- > <! - <beanクラス= "cn.controller.AnnotationController"> </豆> - >
<! - スキャンパッケージ- > < コンテキスト:スキャンコンポーネントベース-package = "cn.controller" > </ コンテキスト:コンポーネントスキャン>