處理器方法可以包含以下四類參數(shù),這些參數(shù)會在系統(tǒng)調(diào)用時由系統(tǒng)自動賦值,即程序員可在方法內(nèi)直接使用。
● HttpServletRequest
● HttpServletResponse
● HttpSession
● 請求中所攜帶的請求參數(shù)
只要保證請求參數(shù)名與該請求處理方法的參數(shù)名相同即可。
項目:receiveParameters-property。在 requestMapping-method 基礎(chǔ)上修改。
Step1:修改 index 頁面

Step2:修改處理器類 MyController

Step3:添加 show 頁面
在/WEB-INF/jsp 下添加 show.jsp 頁面。

對于前面所接收的請求參數(shù),若含有中文,則會出現(xiàn)中文亂碼問題。Spring 對于請求參數(shù)中的中文亂碼問題,給出了專門的字符集過濾器:spring-web-4.3.9.RELEASE.jar 的org.springframework.web.filter 包下的 CharacterEncodingFilter 類。

在 web.xml 中注冊字符集過濾器,即可解決 Spring 的請求參數(shù)的中文亂碼問題。不過,最好將該過濾器注冊在其它過濾器之前。因為過濾器的執(zhí)行是按照其注冊順序進行的。直接在項目 receiveParameters-property 上進行修改。

打開 CharacterEncodingFilter 類的源碼,發(fā)現(xiàn)有三個 set 方法。

字符集設(shè)置核心方法:

所謂校正請求參數(shù)名,是指若請求 URL 所攜帶的參數(shù)名稱與處理方法中指定的參數(shù)名不相同時,則需在處理方法參數(shù)前,添加一個注解@RequestParam(“請求參數(shù)名”),指定請求 URL 所攜帶參數(shù)的名稱。該注解是對處理器方法參數(shù)進行修飾的。value 屬性指定請求參數(shù)的名稱。
項目:receiveParameters-params。在 receiveParameters-property 基礎(chǔ)上修改。
Step1:修改 index 頁面
將表單中的參數(shù)名稱修改的與原來不一樣。

Step2:修改處理器類 MyController

將處理器方法的參數(shù)定義為一個對象,只要保證請求參數(shù)名與這個對象的屬性同名即可。
項目:receiveParameters-object。在 receiveParameters-property 基礎(chǔ)上修改。
Step1:定義類 Student

Step2:修改處理器類 MyController

Step3:修改 show 頁面