SpringMVC
SpringMVC三大組件
DispatherServlet springMVC核心組件(中央處理器)
處理器映射器:
初始化配置文件,將所有的controller中@RequestMapping(“first”),請求被DispatcherServlet轉發過來後,就是用用戶請求的資源名稱和服務列表中得資源名稱進行匹配,如果不存在此資源,如果該資源不存在,於是會報404錯誤,如果存在我們訪問的資源,就返回一個handler對象(對象中包含我們服務的具體的代碼信息)
處理器適配器:
根據映射器返回的標記找到具體的類,然後找到類中具體映射方法,執行並返回結果。
視圖解析器:
對處理器映射器返回的結果進行解析,然後將解析的結果呈獻給客戶端。
SpringMVC配置文件的位置
1.如果我們將配置文件放在resources下面,可以任意的給到當前文件設定名稱,同時我們在web.xml中初始化的時候只需要書寫當前配置文件的名稱
2.我們在resources下面創建不同框架的配置文件包,然後我們將我們的配置文件放在其中
contextConfigLocation
classpath:springmvc/springmvc.xml
3.我們可以將配置文件放到WEB-INF中,DispatcherServlet就不需要配置初始化參數了。有一個要求:我們的springmvc.xml配置文件的名稱【Servlet名字】-servlet.xml
SpringMVC配置文件中的url-pattern
/服務器上的靜態資源無法使用
/* 服務器上除了控制器資源之外的所有其他資源都無法訪問了
Springmvc 採用的是/
1.只能使用/springmvc才能夠支持restful
2./新的路徑的攔截形式
3.Tomcat配置了一個servlet
default
org.apache.catalina.servlets.DefaultServlet
debug
0
listings
false
1
default
/
這個時候springmvc配置的servlet的url-pattern會覆蓋服務器上的這個默認servlet,我們服務器上的所有的靜態資源都不能使用了
解決靜態資源不能使用的問題:
mvc:annotation-driven/ springMVC全註解的方式進行springmvc控制器方法的調用
mvc:annotation-driven/和單獨配置我們的適配器和映射是一種簡化配置
表單參數的接受
Servlet:接受表單數據的方式
Request:getParameter…() 我們獲取的數據都是字符串,我們需要自己去書寫我們的類型轉換代碼,然後springmvc就不一樣了,他自動的給你找到對應的類型
1.接受普通數據:
控制器方法:
表單中如果只寫出了參數的聲明,這個時候必須傳遞參數
參數自動類型轉換,請求路徑中參數的key名字必須和代碼中參數的名稱一致
頁面內容:
對應的函數類型
2.普通的pojo對象
控制器方法:
接受普通的java對象
頁面內容:
3.複雜的pojo對象方式的接受
控制器方法:
頁面內容:
4.list集合類型的參數
控制器方法:
頁面內容:
5.map集合類型
控制器方法:
頁面內容:
6.數組類型
控制器代碼:
頁面代碼:
7.時間類型的轉換和傳遞
控制器代碼:
頁面代碼:
配置文件代碼(springmvc配置文件):
配置轉化器函數代碼