日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

java元婴期(27)----java进阶(springmvc(1)---springmvc框架入门程序(上)(不基于注解开发))

發布時間:2025/3/21 c/c++ 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java元婴期(27)----java进阶(springmvc(1)---springmvc框架入门程序(上)(不基于注解开发)) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

springmvc框架

什么是springmvc

springmvcspring框架的一個模塊,springmvcspring無需通過中間整合層進行整合。(struts2Spring整合的時候需要借助單獨的jar包)

springmvc是一個基于mvc的web框架。

mvc在b/s系統 下的應用

mvc是一個設計模式,mvc在b/s系統 下的應用:

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...)

入門程序

需求

以案例作為驅動。

springmvc和mybaits使用一個案例(商品訂單管理)。

功能需求:商品列表查詢

環境準備

數據庫環境:mysql5.1

java環境:

  • jdk1.7.0_72
  • eclipse indigo
  • springmvc版本:spring3.2
  • 需要spring3.2所有jar(一定包括spring-webmvc-3.2.0.RELEASE.jar)

配置前端控制器

在web.xml中配置前端控制器。

配置處理器適配器

在classpath下的springmvc.xml中配置處理器適配器

通過查看原代碼:???????

此適配器能執行實現 Controller接口的Handler。

開發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;}}

視圖編寫

配置Handler

將編寫Handler在spring容器加載。

配置處理器映射器

在classpath下的springmvc.xml中配置處理器映射器???????

配置視圖解析器

需要配置解析jsp的視圖解析器。

部署調試

訪問地址:http://localhost:8080/springmvcfirst1208/queryItems.action

處理器映射器根據url找不到Handler,報下邊的錯誤。說明url錯誤。

處理器映射器根據url找到了Handler,轉發的jsp頁面找到,報下邊的錯誤,說明jsp頁面地址錯誤了。

?

總結

以上是生活随笔為你收集整理的java元婴期(27)----java进阶(springmvc(1)---springmvc框架入门程序(上)(不基于注解开发))的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。