在web.xml檔案中配置url對映請求
spring
org.springframework.web.servlet.dispatcherservlet 1
spring
*.html
在初始化時 框架會嘗試從webcontent/web-inf目錄下名為[servlet-name]-servlet.xml
dispatcherservlet:
它是前端控制器設計模式的實現 負責職責的分派 控制流程:
1、檔案上傳解析,如果請求型別是 multipart 將通過 multipartresolver 進行檔案上傳解析;
handlerinterceptor ***);
3、 通過 handleradapter 支援多種型別的處理器(handlerexecutionchain 中的處理器);
4、通過 viewresolver 解析邏輯檢視名到具體檢視實現;
5、本地化解析;
6、渲染具體的檢視等;
7、如果執行過程中遇到異常將交給 handlerexceptionresolver 來解析。
我們也可以配置自己的初始化引數來覆蓋預設的配置
如:contextconfiglocation :
傳給上下文例項(由 contextclass 指定)的字串,用來指定上下文的位置。
這個字串可以被分成多個字串(使用逗號作為分隔符) 來支援多個上下文
(在多上下文的情況下,如果同乙個 bean 被定義兩次,後面乙個優先)。
chapter2
org.springframework.web.servlet.dispatcherservlet
1contextconfiglocation
classpath:spring-servlet-config.xml
用此方式配置時,框架將載入「classpath:spring-servlet-config.xml」來進行初始化上下
文而不是「/web-inf/[servlet 名字]-servlet.xml」。
一: dispatcherservlet中使用的特殊的bean 這些bean在dispatcherservlet啟動時就自動註冊了
無需我們再次手動註冊
1、controller:處理器/頁面控制器,做的是 mvc 中的 c 的事情,但控制邏輯轉移到前端控制器了,用於對請求進行
處理;名字對映,對映成功的 bean 就是此處的處理器;
3、handleradapter:handleradapter 將會把處理器包裝為介面卡,從而支援多種型別的處理器,即介面卡設計模式的
應用,從而很容易支援很多態別的處理器;如 ******controllerhandleradapter 將對實現了 controller 介面的
bean 進行適配,並且掉處理器的 handlerequest 方法進行功能處理;
4、viewresolver:viewresolver將把邏輯檢視名解析為具體的view,通過這種策略模式,很容易更換其他檢視技術;
如internalresourceviewresolver將邏輯檢視名對映為jsp檢視;
5、localresover:本地化解析,因為 spring 支援國際化,因此 localresover 解析客戶端的 locale 資訊從而方便進行國
際化;6、themeresovler:主題解析,通過它來實現乙個頁面多套風格,即常見的類似於軟體**效果;
7、multipartresolver:檔案上傳解析,用於支援檔案上傳;
8、handlerexceptionresolver:處理器異常解析,可以將異常對映到相應的統一錯誤介面,從而顯示使用者友好的
介面(而不是給使用者看到具體的錯誤資訊);
9、requesttoviewnametranslator:當處理器沒有返回邏輯檢視名等相關資訊時,自動將請求 url 對映為邏輯視
圖名;10、flashmapmanager:用於管理 flashmap 的策略介面,flashmap 用於儲存乙個請求的輸出,當進入另乙個請求時
作為該請求的輸入,通常用於重定向場景,
二:註解式控制器
常用的註解:@controller:用於標識是處理器類;
@requestparam:請求引數到處理器功能處理方法的方法引數上的繫結;
@modelattribute:請求引數到命令物件的繫結;
@sessionattributes:用於宣告 session 級別儲存的屬性,放置在處理器類上,通常列出模型屬性(如
@modelattribute)對應的名稱,則這些屬性會透明的儲存到 session 中;
@initbinder:自定義資料繫結註冊支援,用於將請求引數轉換到命令物件屬性的對應型別;
1、控制器實現
//通過在乙個pojo類上放置@controller和@requestmaping 就把乙個pojo類變身為處理器
@controller
public class helloworldcontroller
}三、url路徑對映
(1)普通url路徑對映
@requestmaping(value=)
多個url路徑可以對映到同乙個處理器的功能處理
(2)uri模板模式對映
@requestmaping(value=「/users/」)
佔位符 請求url可以是"/users/12345"或者「/users/abcd」
以此類推
(3)ant風格的url路徑對映
中的「/users/」模式優先對映到】
也就是ant風格和uri模板變數風格可混用;
四、請求方法對映限定
展示表單一般為get請求方法 提交表單一般為post請求方法
@controller
public class requestmethodcontroller
public string submit()
}
spring mvc 學習筆記
今天主要學習spring mvc 框架的內容,以及相關的配置,如果有 不對,希望大家可以給指正,小弟在這裡先謝謝大家!spring在servlet初始化的時候通常有2種載入配置檔案的方式,一種是spring中在servlelt中配置檔案的方式,另外就是web.xml配置乙個 進行配置檔案的載入。第一...
SpringMVC 學習筆記
一 什麼是springmvc springmvc是spring框架的乙個模組,springmvc和spring無需通過中間整合層進行開發。springmvc是乙個基於mvc的web框架。spring web mvc和struts2都屬於表現層的框架,它是spring框架的一部分,我們可以從sprin...
Spring MVC 學習筆記
springmvc中各個部件簡介 相對於同為 mvc的 struts 來說,它是乙個輕量級的框架,但它能實現的內容有很多,例如 所有的請求都通過springmvc統一的入口dispatcherservlet,可以用其進行資源和許可權的管理 過濾器,filter 可以檢查使用者請求 日誌記錄 對非標準...