基于注解配置的MVC
-
接收請(qǐng)求參數(shù)值
Spring MVC 請(qǐng)求提交數(shù)據(jù)到控制器可以用以下3種方法:HttpServletRequest
@RequestParam;
使用自動(dòng)機(jī)封裝成Bean對(duì)象 向頁面?zhèn)髦?br> 當(dāng)Controller組件處理后,需要向Jsp傳值
HttpServletRequest, Session
ModelAndView
ModelMap參數(shù)對(duì)象
@ModelAttribute
- Session存儲(chǔ)
HttpServletRequest 的getSession()方法訪問
- 重定向視圖
SpringMVC默認(rèn)采用轉(zhuǎn)發(fā)方式定位視圖,重定向方式需要使用
RedirectView
redirect前綴
實(shí)戰(zhàn)技巧
- 中文亂碼的解決方案
CharacterEncodingFilter(Post請(qǐng)求)
- 攔截器
實(shí)現(xiàn)HandlerInterceptor接口
preHandle():處理器執(zhí)行前被調(diào)用,返回值為true時(shí),表示會(huì)繼續(xù)調(diào)用其他攔截器和處理器;返回false則表示中斷流程,不會(huì)執(zhí)行后續(xù)攔截器和處理器;
postHandle(): 處理器執(zhí)行后,視圖處理前被調(diào)用,此時(shí)可以通過modelAndView對(duì)象對(duì)模型數(shù)據(jù)或視圖進(jìn)行處理;
afterCompletion(): 整個(gè)請(qǐng)求處理完畢后調(diào)用,如性能監(jiān)控中我們可以在此記錄結(jié)束時(shí)間并輸出消耗時(shí)間,還可以進(jìn)行一些資源清理,只有在preHandle()返回true才執(zhí)行
- 異常處理
SimpleMappingExceptionResolver
實(shí)現(xiàn)HanlderExceptionResolver接口自定義異常處理器
使用@ExceptionHandler注解實(shí)現(xiàn)異常處理
- 文件上傳
CommonMultipartResolver解析器組件
Commons FileUpload和COS FileUpload
- CommonMultipartResolver
調(diào)用common-fileupload.jar功能,將請(qǐng)求提交的文件信息解析出來;
需要引入:common-fileupload.jar和common-io.jar
添加bean定義
- 視圖表單
<form enctype="multipart/form-data"></form>
未完待續(xù)
Good Night!