javascript
Spring MVC 复习笔记01
1. springmvc框架
? ? 1.1 什么是springmvc
? ? ? ? ? spring mvc是spring框架的一個模塊,springmvc和spring無需通過中間整合層進行整合。spring mvc是一個基于mvc的web框架。
? ? ? ? ??
? ??? 1.3 springmvc框架
? ? ? ? ? ??
? ? ? ?第一步:發起請求到前端控制器(DispatcherServlet)
? ? ? ?第二步:前端控制器請求HandlerMapping查找Handler可以根據xml配置、注解進行查找
? ? ? ?第三步:處理器映射器HandlerMapping向前端控制器返回Handler
? ? ? ?第四步:前端控制器調用處理器適配器去執行Handler
? ? ? ?第五步:處理器適配器去執行Handler
? ? ? ?第六步:Handler執行完成給適配器返回ModelAndView
? ? ? ?第七步:處理器適配器向前端控制器返回ModelAndView。ModelAndView是springmvc框架的一個底層對象,包括 Model和view
? ? ? ?第八步:前端控制器請求視圖解析器去進行視圖解析,根據邏輯視圖名解析成真正的視圖(jsp)
? ? ? ?第九步:視圖解析器向前端控制器返回View
? ? ? ?第十步:前端控制器進行視圖渲染。視圖渲染將模型數據(在ModelAndView對象中)填充到request域
? ? ? ?第十一步:前端控制器向用戶響應結果
?
組件:
1). 前端控制器DispatcherServlet(不需要程序員開發)
? ? ?作用接收請求,響應結果,相當于轉發器,中央處理器。有了DispatcherServlet減少了其它組件之間的耦合度。
2). 處理器映射器HandlerMapping(不需要程序員開發)
? ? ?作用:根據請求的url查找Handler
3). 處理器適配器HandlerAdapter
? ? ?作用:按照特定規則(HandlerAdapter要求的規則)去執行Handler?
4). 處理器Handler(需要程序員開發)
? ? ?注意:編寫Handler時按照HandlerAdapter的要求去做,這樣適配器才可以去正確執行Handler
5). 視圖解析器View resolver(不需要程序員開發)
? ? ?作用:進行視圖解析,根據邏輯視圖名解析成真正的視圖(view)
6). 視圖View(需要程序員開發jsp)
? ? ?View是一個接口,實現類支持不同的View類型(jsp、freemarker、pdf...)
?
2. 入門程序
? ???2.2 配置前端控制器
? ? ? ? ? ?在web.xml中配置前端控制器。
? ? ? ? ? ?
? ? ? ?2.4?配置處理器適配器
? ? ? ? ? ? ?在classpath下的springmvc.xml中配置處理器適配器
? ? ? ? ? ? ?
? ? ? ? ? ? ?通過查看原代碼:
? ? ? ? ? ? ?
? ? ??此適配器能執行實現 Controller接口的Handler。
? ? ??
? ? ? 2.5 開發Handler
? ? ? ? ? ? 需要實現 controller接口,才能由org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter適配器執行。? ? ? ? ? ??
public class ItemsController1 implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception {//調用service查找 數據庫,查詢商品列表,這里使用靜態數據模擬List<Items> itemsList = new ArrayList<Items>();//向list中填充靜態數據 Items items_1 = new Items();items_1.setName("聯想筆記本");items_1.setPrice(6000f);items_1.setDetail("ThinkPad T430 聯想筆記本電腦!");Items items_2 = new Items();items_2.setName("蘋果手機");items_2.setPrice(5000f);items_2.setDetail("iphone6蘋果手機!");itemsList.add(items_1);itemsList.add(items_2);//返回ModelAndViewModelAndView modelAndView = new ModelAndView();//相當 于request的setAttribut,在jsp頁面中通過itemsList取數據modelAndView.addObject("itemsList", itemsList);//指定視圖modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");return modelAndView;}} View Code? ? ? 2.6 視圖編寫
? ? ? ?
? ? ? ?2.7 配置Handler
? ? ? ? ? ? 將編寫Handler在spring容器加載。
? ? ? ? ? ??
? ? ? ?2.8 配置處理器映射器
? ? ? ? ? ? ?在classpath下的springmvc.xml中配置處理器映射器
? ? ? ? ? ? ?
? ? ? ? 2.9?配置視圖解析器
? ? ? ? ? ? ?需要配置解析jsp的視圖解析器。
? ? ? ? ? ? ?
? ? ? ? 2.10?部署調試
? ? ? ? ? ? ? ? 訪問地址:http://localhost:8080/springmvcfirst1208/queryItems.action
? ? ? ? ? ? ? ? 處理器映射器根據url找不到Handler,報下邊的錯誤。說明url錯誤。
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ?處理器映射器根據url找到了Handler,轉發的jsp頁面找到,報下邊的錯誤,說明jsp頁面地址錯誤了。
? ? ? ? ? ? ? ?
轉載于:https://www.cnblogs.com/Jtianlin/p/5223865.html
總結
以上是生活随笔為你收集整理的Spring MVC 复习笔记01的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 Docker 搭建 Tomcat
- 下一篇: 生成彩条的MATLAB代码