、springMVCフローチャートは省略されています
第二に、springmvcを説明するための簡単なデモを書きます
2.1 springMVCのjarパッケージの導入に関連します
2.2 DispatcherServletの設定でのweb.xml
<servlet> <! - springmvc的配置文件必须在【サーブレット名】-servlet.xml - > の<servlet-name>のspringMVC </サーブレット名> <servlet- クラス > org.springframework.web.servlet。 DispatcherServletの</ servlet- クラス > < - -のDispatcherServlet加载指定的springmvc的配置文件!> の<init-param>の の<param-name>のcontextConfigLocation </ PARAM名> の<param-value>のクラスパス:springMVCアノテーション。 XML </ PARAM値> </ initの-param>の </サーブレット> <のservlet-mapping> の<servlet-name>のspringMVC </サーブレット名> の<url-pattern> *。やります <
2.3設定springmvcプロフィール
<?XMLバージョン= " 1.0 "エンコード= "UTF-8 "?> <ビーンズのxmlns = " http://www.springframework.org/schema/beans " のxmlns:XSI = " http://www.w3.org / 2001 / XMLスキーマ・インスタンス" のxsi:schemaLocationの = " http://www.springframework.org/schema/beans HTTP:// www.springframework.org/schema/beans/spring-beans.xsd「> <! - handlerMappingを設定すると、彼らは、デフォルトの設定handlerMapping handlerMappingの持っていない場合 のクラスを表す何のため:豆 はCtrl + Shiftキー+ Tを: クラスのソースとパスを探します- > <豆 />クラス = " org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping " > </豆> <! -注册自己的コントローラ类- > <Bean名= " /my.do " クラス = " com.zhiyou100.xz .controller.MyController1 " > </豆> <! -配置视图解析器- > <豆のクラス = " org.springframework.web.servlet.view.InternalResourceViewResolver " > <プロパティ名= " 接頭辞"値= " / WEB-INF /ビュー/ " <プロパティ名= "サフィックス"値= " .jspという" /> </豆> </豆>
2.4コントローラクラスを作成します。
パブリック クラスMyController1はAbstractController {延び @Overrideは 保護のModelAndView handleRequestInternalを(HttpServletRequestのarg0に、HttpServletResponseのARG1)が例外{スロー のModelAndViewのMV = 新規のModelAndViewを()。 mv.setViewName(" ログイン"); // /WEB-INF/view/login.jsp mv.addObject(" ユーザ名"、" Hello Worldの!"); // 功能类似于のsetAttribute在要求中の システム。アウト .println(" ==== ==== mycontroller1 "); 返すMVを。 } }
三、springmvcプロセス
- 要求しているクライアント。http:// localhost:8080 / springmvc -01 / my.do
- リーチのweb.xml ファイルのDispatcherServletを。かどうかをチェックし、URLの要件
- DispatcherServletは照会しますspringmvc プロファイルを。検索Beanの名前に基づいて対応するコントローラを。HandlerMappingを探します
- 私のクラスを見つけるMyController。このクラスのHandleRequestInternal実行方法
- ModelAndViewによるとspringmvcビューリゾルバの設定ファイルを探して返さ
- ビュー名と接頭辞と接尾辞はモザイクを作りました。クライアントへのページのショーのスプライシング
第四に、共通HandlerMapping
BeanNameUrlHandlerMapping 4.1 応じた豆を、対応する名前タグを見つけるために、コントローラのクラスを
4.2 SimpleUrlHandlerMapping ビーンのIDに対応する見つけるためにコントローラクラス。
4.3 ControllerClassNameHandlerMapping よれコントローラのクラスの対応する名前を見つけるためにコントローラ。
第五に、注釈の代わりの構成情報を使用します
5.1 AOPのjarパッケージを追加します。
5.2コントローラクラスを作成します
org.springframework.stereotype.Controllerインポート、 インポートorg.springframework.web.bind.annotation.RequestMapping; @Controller // <beanクラス= "com.zhiyou100.xz.controller.annotation.MyController1">と同等 のパブリック クラスMyController1 { @ RequestMapping(" /list.do ")// @RequestMapping:表現がアクセスするためのアドレスである パブリック文字列リストを(){ 。システムOUT .println(" 検索" ); リターン " ログイン" ; } }
第六に、springmvc許容パラメータによって行われます
com.zhiyou100.xz.controller.bean.Userインポート; @Controller @ RequestMapping(" ユーザー/ " ) パブリック クラスMyController1 { @ RequestMapping(" /list.do ")// @RequestMapping:表現がアクセスするためのアドレスである 公共の文字列をリスト(文字列名、int型年齢){ // パラメータ名とパラメータは、要求と同じでなければならない システム。OUT .println(「名:」 +名+ 「;年齢:」 + 年齢); リターン 「ログイン」; } @ RequestMapping(「/list2.do 」)// @RequestMapping:表現がアクセスするためのアドレスである 公共 {文字列リスト(ユーザーユーザー)// パラメータとパラメータ名が同じ要求する必要があります 。システムをOUT .println(ユーザー); / / 同じエンティティクラスプロパティ名の名前への要求のパラメータ リターン 「ログイン」; } }
注意:
文字化けは、パラメータを受け入れます。フィルタを使用します。(カスタムフィルタを 使用することもできる springmvc フィルタによって提供されます)