1. 程式人生 > >Springmvc與第一個案例

Springmvc與第一個案例

JAVAEE體系結構
這裡寫圖片描述
什麼是mvc?

Model1:
這裡寫圖片描述
Model2:
這裡寫圖片描述
Springmvc是什麼?
Springmvc是一個web層mvc框架,類似struts2.
Springmvc和spring?
這裡寫圖片描述
Springmvc是spring的部分。

Springmvc執行流程
Struts2執行流程:
1.strutsPrepareAndExcuteFilter攔截請求(控制層),攔截請求,轉發請求
2.尋找Action執行
3.ActionProxy:strutsActionProxy extends defaultActionProxy
4.ActionMapping去尋找執行類Action
根據mvc設計模式:
自己來設計springmvc?
這裡寫圖片描述

Springmvc入門程式
Springmvc入門程式

建立一個web工程
這裡寫圖片描述
匯入jar
這裡寫圖片描述
配置web.xml
在web.xml配置前端控制器:DispatcherServlet
這裡寫圖片描述

配置springmvc.xml
這裡寫圖片描述
自定義Controller
這裡寫圖片描述
定義檢視頁面
根據檢視解析路徑:WEB-INF/jsps/index.jsp
這裡寫圖片描述
這裡寫圖片描述
根據程式碼分析springmvc執行流程
這裡寫圖片描述
介面卡原始碼
這裡寫圖片描述
處理器對映器

BeanNameUrlHandlerMapping
功能:尋找Controller
根據url請求去匹配bean的name屬性url,從而獲取Controller
這裡寫圖片描述


SimpleUrlHandlerMaping
功能:尋找Controller
根據瀏覽器url匹配簡單url的key,key又Controller的id找到Controller
這裡寫圖片描述
ControllerClassNameHandlerMapping
功能:尋找Controller
根據類名(MyController)類名.do來訪問,類名首字母小寫
這裡寫圖片描述
對映器之間能不能共存?

3個處理器對映器可以共存。

處理器介面卡
SimpleControllerHandlerAdapter
功能:執行controller
呼叫controller裡面方法,返回modelAndView。
這裡寫圖片描述


HttpRequestHandlerAdapter
功能:執行controller
這裡寫圖片描述
2個處理器介面卡能共存?
可以共存

命令控制器
Springmvc通過命令設計模式接受頁面引數。

自定義命令控制器
這裡寫圖片描述
定義javaBean
這裡寫圖片描述
封裝引數頁面
這裡寫圖片描述
跳轉到add頁面
由於add頁面在WEB-INF下面不能直接訪問,需要通過Controller來訪問。
這裡寫圖片描述
在springmvc配置bean
這裡寫圖片描述
中文亂碼解決

Get請求亂碼
這裡寫圖片描述
Post亂碼
Spring編碼過濾器:在web.xml配置
這裡寫圖片描述
時間型別轉換
這裡寫圖片描述

over~~~