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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

深入理解springMVC

發布時間:2025/3/8 c/c++ 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入理解springMVC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是spring MVC

Spring MVC屬于SpringFrameWork的后續產品,已經融合在Spring Web Flow里面。Spring 框架提供了構建 Web 應用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構,從而在使用Spring進行WEB開發時,可以選擇使用Spring的SpringMVC框架或集成其他MVC開發框架,如Struts1(現在一般不用),Struts2(一般老項目使用)等。

spring mvc簡介

springmvc是spring的一個模塊,提供web層解決方案(基于mvc設計架構)

采用springmvc的好處

Spring MVC中提供一個DispatcherServlet, 無需額外開發。

springMVC中使用基于xml的配置文件,可以編輯,無需重新編譯應用程序。

springMVC實例化控制器,并根據用戶輸入來構造bean。

springMVC可以自動綁定用戶輸入,并正確的轉換數據類型。例如,springMVC能自動解析字 符串,并設置float或decimal類型的屬性。

springMVC可以檢驗用戶輸入,若校驗不通過,則重定向回輸入表單。輸入校驗是可選的, 支持編碼方式以及聲明。關于這一點,springMVC內置了常見的校驗器。

springMVC是spring框架的一部分。可以利用spring提供的其它能力。

springMVC支持國際化和本地化,支持根據用戶區域顯示多國語言。

springMVC支持多種視圖技術,最常見的JSP技術以及其它技術包括Velocity和FreeMarker。

使用springMVC的優勢

1、清晰的角色分配: 前段控制器(dispatcherServlet) , 請求到處理器映射(handlerMapping), ?處理器適配器(HandlerAdapter), 視圖解析器(ViewResolver),

處理器和頁面控制器(Controller),驗證器(Validator),命令對象(Command),

表單對象(FromObject)

2、分工明細

3、和Spring框架無縫結合

spring mvc框架流程圖

SpringMvc整個的執行流程:

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

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

3、處理器映射器HandlerMapping向前端控制器DispatcherServlet?返回Handler

4、前端控制器DispatcherServlet 調用處理器適配器HandlerAdapter 執行Handler

5、處理器適配器HandlerAdapter 執行Handler

6、Handler執行完給處理器適配器返回ModelAndView

7、處理器適配器向前端控制器返回ModelAndView (ModelAndView 是SpringMvc的底層對象 包括model和view)

8、前端控制器請求視圖解析器去解析視圖

  根據邏輯視圖名解析成真正的視圖(jsp)

9、視圖解析器向前端控制器返回view

10、前端控制器進行視圖渲染

  視圖渲染將模型數據(模型數據在ModelAndView對象中)填充到request域

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

組件:

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常用注解

1. 在 struts-config.xml 文件中加入

2.在 applicationContext.xml 文件中加入

3.cn.base.GetPersonListAction 實現請求響應代碼

可以看出一次請求需求如此多的步驟,在加上一個項目下來有很多這樣的請求響應,將給配置文件管理帶來很大的麻煩。

經過對 Spring 的深入應用, Spring 本身提供的 URL 請求控制,對其天然支持可以讓我們不需要 applicationContext.xml 再次聲明一次 URL 請求 Bean ,即減少了 Struts 的聲明 URL ,達到減少些繁瑣的配置。但只是少了一些而已,同樣也會面臨著配置文件的管理問題。

Spring 注解將給我們的工作帶來些輕松,利用反射機制原理出現的注解就是為了解決配置大量的配置問題。請看下處理一次簡單的請求響應代碼

@Controller --聲明控制器

@RequestMapping("/person") –聲明URL

public class PersonControl extends BaseController {

@Autowired –業務接口注入

private personServices personServices;/*** 獲得人員列表*@param request* @param response* @throws Exception*/

@RequestMapping(params = "method=geList") --即處理/person.do? method=geList方法

public void getnodeList(HttpServletRequest request,HttpServletResponse response) throws Exception { //處理請求//處理響應}}

可以看出,在代碼上加入注解可以省去我們上面說的多個配置文件的工作,達到簡便的 MVC 處理請求響應。

再配上簡單的配置文件聲明,即可輕松處理項目的全部請求控制工作。

歡迎工作一到五年的Java工程師朋友們加入Java架構開發:744677563

本群提供免費的學習指導 架構資料 以及免費的解答

不懂得問題都可以在本群提出來 之后還會有職業生涯規劃以及面試指導

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的深入理解springMVC的全部內容,希望文章能夠幫你解決所遇到的問題。

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