spring mvc 文件學習筆記

2021-09-30 13:23:16 字數 2963 閱讀 1620

在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 可以檢查使用者請求 日誌記錄 對非標準...