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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

data spring 指定时区_Spring 框架基础(05):Mvc架构模式,执行流程详解

發布時間:2025/3/15 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 data spring 指定时区_Spring 框架基础(05):Mvc架构模式,执行流程详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文源碼:GitHub || GitEE

一、SpringMvc框架簡介

1、Mvc設計理念

MVC是一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個組件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯,MVC分層有助于管理和架構復雜的應用程序

  • M:代表模型Model

模型就是數據,應用程序的核心。

  • V:代表視圖View

回顯數據的界面,例如JSP就是用來展示模型中的數據。

  • C:代表控制器Controller

控制器的作用就是根據入參,把不同的響應數據(Model),顯示在不同的視圖(View)上。

2、SpringMvc簡介

  • 框架描述

SpringMVC是一種基于Java實現的MVC設計模式的請求驅動類型的輕量級Web框架,出自Spring框架全家桶,與Spring框架無縫整合,使用了MVC架構模式的思想,將Web層進行職責解耦。

  • 框架優點

結構松散,幾乎可以在SpringMVC中使用各類視圖,各個模塊分離而且耦合度非常低,且易于擴展。與Spring無縫集成,且簡單,靈活,容易上手。

二、SpringMvc執行流程

1、流程圖解

2、步驟描述

(1)、發起請求到前端控制器DispatcherServlet;

(2)、前端控制器請求HandlerMapping查找,Handler可以根據xml配置、注解進行查找;

(3)、處理器映射器HandlerMapping向前端控制器返回Handler;

(4)、前端控制器調用處理器適配器去執行Handler;

(5)、處理器適配器去執行Handler ;

(6)、Handler執行完成給適配器返回ModelAndView ;

(7)、處理器適配器向前端控制器返回ModelAndView,ModelAndView是springmvc框架的一個底層對象,包括Model和view;

(8)、前端控制器請求視圖解析器去進行視圖解析,根據邏輯視圖名解析成真正的視圖 ;

(9)、視圖解析器向前端控制器返回View ;

(10)、前端控制器進行視圖渲染,視圖渲染將模型數據(在ModelAndView對象中)填充到request域中;

(11)、前端控制器向用戶響應結果 ;

3、核心組件

  • 前端控制器

DispatcherServlet:請求離開瀏覽器后,最先到達的就是DispatcherServlet,是整個流程控制的中心,作用接收請求,響應結果,相當于轉發器,中央處理器。減少各個組件之間的耦合度。

  • 處理器映射器

HandlerMapping:根據請求的url路由到指定接口,用戶請求找到Handler處理器,springmvc提供不同類型映射器,例如:Xml配置方式,注解方式等。

  • 處理器適配器

HandlerAdapter:按照特定規則去執行Handler,SpringMvc支持多種處理器,各種處理器中的處理方法各不相同,為了解決適應多種處理器,就出現了處理器適配器。

  • 處理器

Handler:處理用戶請求,涉及具體業務邏輯,需要程序員根據業務需求開發。編寫Handler時按照HandlerAdapter的規則開發,這樣適配器才可以正確執行Handler。

  • 視圖解析器

ViewResolver:負責將請求的響應結果生成View,根據邏輯視圖名解析成物理視圖名,就是具體頁面地址,生成View視圖對象,對View進行渲染,通過頁面展示給用戶。

  • 視圖

View:SpringMvc框架提供很多的View視圖類型的支持,包括:jsp、freemarker、pdf等。通過頁面標簽或頁面模版解析模型數據回顯到頁面,需要根據業務開發具體頁面。

三、整合Spring框架配置

1、spring-mvc配置

2、Web.xml配置

spring-mvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1spring-mvc/

3、測試接口

@Controllerpublic class HelloController { @RequestMapping("/getInfo") public @ResponseBody String getInfo (String name){ return name ; }}

4、常用注解說明

  • @Controller

標記一個類是Handler,也就是開發的Controller,然后使用@RequestMapping或其他相關注解(@GetMapping、@PostMapping、@PutMapping、@DeleteMapping),用來關聯請求和Controller方法之間的映射關系,這樣的Controller 就可以被請求訪問。

  • @RequestMapping

處理請求地址映射的注解,可作用于類或方法上。用于類上,表示類中的所有響應請求的方法都是以類上標注地址作為父路徑。

  • @requestParam

主要用于在SpringMvc框架的控制層獲取參數,三個常用參數:defaultValue表示設置默認值,required 通過boolean設置是否是必須要傳入的參數,value值表示傳入的參數名稱。

  • @RequestBody

接收請求體中傳遞給后端的Json字符串數據的,GET方式無請求體,所以使用@RequestBody接收數據時,不能使用GET方式提交數據,需要用POST方式進行提交。

  • @ResponseBody

該注解用于方法的返回對象,可以通過配置轉換器為指定數據響應格式,如果希望返回的數據不是View試圖頁面,而是指定數據格式的時候使用,例如:Json、Xml等。

  • @Autowired

按照類型(byType)裝配依賴對象,默認情況下它要求依賴對象必須存在,如果允許null值,可以設置它的required屬性為false。如果想使用按照名稱(byName)來裝配,可以結合@Qualifier注解一起使用。

  • @Resource

按照ByName自動注入,需要導入包javax.annotation.Resource。@Resource有兩個重要的屬性:name和type,而Spring將@Resource注解的name屬性解析為bean的名字,而type屬性則解析為bean的類型。

  • @PathVariable

用于將請求URL中的模板變量映射到功能處理方法的參數上,即取出uri模板中的變量作為參數。

四、常見參數映射

1、普通映射

@RequestMapping("/getSum")public Integer getSum (int a,int b){ return a+b ;}

測試:

http://localhost:6003/getSum?a=1&b=2

傳參名稱和方法參數保持一致。

2、指定參數名

@RequestMapping("/getInfo")public String getInfo (@RequestParam("name") String var1, @RequestParam("say") String var2){ return var1+":"+var2 ;}

測試:

http://localhost:6003/getInfo?name=cica&say=hello

傳參名和 @RequestParam 指定的參數名要對應。

3、數組參數

@GetMapping("/getArray")public String getArray (String[] ids){ return ids[0]+"-"+ids[1] ;}

測試:

http://localhost:6003/getArray?ids=2&ids=3

傳遞并解析數組類型的參數格式。

4、Map參數

@RequestMapping("/getMap")public String getMap (@RequestParam Map paramMap){ return paramMap.get("name") ;}

測試:

http://localhost:6003/getCityEntity?province=浙江&name=杭州

這里以Post方式將相關參數傳遞CityEntity實體對象中。

5、包裝參數

@PostMapping("/getCityEntity")public CityEntity getCityEntity (CityEntity cityEntity){ return cityEntity ;}

測試:

http://localhost:6003/getCityEntity?province=浙江&name=杭州

這里以Post方式將相關參數傳遞CityEntity實體對象中。

6、Rest風格參數

@GetMapping("/getId/{id}")public String getId (@PathVariable("id") Integer id){ return "id="+id ;}

測試:

http://localhost:6003/getId/1

RestFul 風格參數映射。

往期推薦閱讀:

Spring 框架基礎(01):核心組件總結,基礎環境搭建

Spring 框架基礎(02):Bean的生命周期,作用域,裝配總結

Spring 框架基礎(03):核心思想 IOC 編程說明,案例演示

Spring 框架基礎(04):事務管理機制,和實現方式

總結

以上是生活随笔為你收集整理的data spring 指定时区_Spring 框架基础(05):Mvc架构模式,执行流程详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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