springmvc參數(shù)封裝原理?
(1)前端控制器DispatcherServlet(配置即可)
功能:中央處理器,接收請求,自己不做任何處理,而是將請求發(fā)送給其他組件進(jìn)行處理。DispatcherServlet 是整個流程的控制中心。
(2)處理器映射器HandlerMapping(配置即可)
功能:根據(jù)DispatcherServlet發(fā)送的url請求路徑查找Handler
常見的處理器映射器
:BeanNameUrlHandlerMapping,SimpleUrlHandlerMapping,
ControllerClassNameHandlerMapping,DefaultAnnotationHandlerMapping(不建議使用)
(3)處理器適配器HandlerAdapter(配置即可)
功能:按照特定規(guī)則(HandlerAdapter要求的規(guī)則)去執(zhí)行Handler。
通過HandlerAdapter對處理器進(jìn)行執(zhí)行,這是適配器模式的應(yīng)用,通過擴(kuò)展多個適配器對更多類型的處理器進(jìn)行執(zhí)行。
常見的處理器適配器
:HttpRequestHandlerAdapter,SimpleControllerHandlerAdapter,AnnotationMethodHandlerAdapter
(4)處理器Handler即Controller(程序猿編寫)
功能:編寫Handler時按照HandlerAdapter的要求去做,這樣適配器才可以去正確執(zhí)行Handler。
(5)視圖解析器ViewReslover(配置即可)
功能:進(jìn)行視圖解析,根據(jù)邏輯視圖名解析成真正的視圖。
ViewResolver負(fù)責(zé)將處理結(jié)果生成View視圖,ViewResolver首先根據(jù)邏輯視圖名解析成物理視圖名即具體的頁面地址,再生成View視圖對象,最后對View進(jìn)行渲染將處理結(jié)果通過頁面展示給用戶。
springmvc框架提供了多種View視圖類型,如:jstlView、freemarkerView、pdfView...
(6)視圖View(程序猿編寫)
View是一個接口,實(shí)現(xiàn)類支持不同的View類型(jsp、freemarker、pdf...)