はじめに:まず、我々はMVCパターンSpringMVCが何であるかを学習する前に理解する必要があります
MVCフルネームはモデルビューコントローラで、モデル(モデル)である - ビュー(ビュー) - 略語コントローラ(コントローラ)は、ソフトウェアの設計モデルです。ビジネスロジックの数を同時に向上させる必要性およびカスタマイズインターフェース及びユーザインタラクションは、ビジネスロジックを書き換える必要がない、メンバーを収集するために、コードを整理するサービスロジック、およびデータインタフェース表示分離方式であります、コーディング時間を短縮します。
デスクトッププログラム中に最初に存在するMVCは、M Cはコントローラであり、Vは、ユーザインターフェースを指し、ビジネスモデルです。(以下は、個人理解の簡略化した流れ図です)
フローチャートSpringMVC
何このフローチャートの詳細な理解
ジャーその中に(ジャクソンを使用するために、後で必要がある)、対応するパケット
- 最初は、クライアントがHTTPにリクエストを送信している:// localhostを:8080 / springmvc-01 / my.do.
- URLの要件を満たしているかどうかを確認するためにweb.xmlファイルに到達DispatherServlet
- DispathcherServletはHanderMapping見つけるspringmvcのプロファイルを照会します
- Bean名に基づいて適切なコントローラを探します
- このクラスhandleRequestInternalの私Mycontrollerクラスの実行方法を探します
-
よるとのModelAndViewはspringmvcビューリゾルバの設定ファイルを探して戻りました。
ビュー名と接頭辞と接尾辞はモザイクを作りました。クライアントへのページのショーのスプライシング
HanderMappingの間で一般的な3があります
1. BeanNameUrlHandlerMappingは、名前のタグに基づいて、対応するコントローラクラスBeanを見つける(つまり、デフォルトのコールの一種)
1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://www.springframework.org/schema/beans 3 http://www.springframework.org/schema/beans/spring-beans.xsd"> 4 5 <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> 6 7 <bean name="/my.do" class="com.zhiyou100.hhz.controller.MyController2"></bean> 8 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 9 <property name="prefix" value="/WEB-INF/view/"/> 10 <property name="suffix" value=".jsp"/> 11 </bean> 12 13 </beans>
2. SimpleUrlHandlerMapping 根据bean的id查找对应的Controller类。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5 http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 7 <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 8 <property name="mappings"> 9 <props> 10 <prop key="/a.do">my1</prop> 11 <prop key="/b.do">my2</prop> 12 </props> 13 </property> 14 15 <bean id="/my1" class="com.zhiyou100.hhz.controller.MyController1"></bean> 16 <bean id="/my2" class="com.zhiyou100.hhz.controller.MyController2"></bean> 17 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 18 <property name="prefix" value="/WEB-INF/view/"/> 19 <property name="suffix" value=".jsp"/> 20 </bean> 21 22 </beans>
3. ControllerClassNameHandlerMapping 根据controller类的名字找到对应的Controller。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5 http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 7 <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean> 8 <bean class="com.zhiyou100.hhz.controller.MyController1"></bean> 9 <bean class="com.zhiyou100.hhz.controller.MyController2"></bean> 10 11 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 12 <property name="prefix" value="/WEB-INF/view/"/> 13 <property name="suffix" value=".jsp"/> 14 </bean> 15 16 </beans>