springmvc執(zhí)行流程通俗易懂 SpringBoot工作原理?
SpringBoot工作原理?通過瀏覽器訪問springboot的方法一般是springmvc的,即創(chuàng)建相應(yīng)的控制器,在控制器中調(diào)用服務(wù),然后在瀏覽器中發(fā)送相應(yīng)的rmvc架構(gòu)的設(shè)計(jì)思路?MVC設(shè)計(jì)思想
SpringBoot工作原理?
通過瀏覽器訪問springboot的方法一般是springmvc的,即創(chuàng)建相應(yīng)的控制器,在控制器中調(diào)用服務(wù),然后在瀏覽器中發(fā)送相應(yīng)的r
mvc架構(gòu)的設(shè)計(jì)思路?
MVC設(shè)計(jì)思想:將整個(gè)處理流程標(biāo)準(zhǔn)化,將每個(gè)處理步驟分配給不同的組件進(jìn)行處理。
這個(gè)方案實(shí)際上涉及兩個(gè)方面:
l處理流程的規(guī)范化——把處理流程分成幾個(gè)步驟(任務(wù)),用清晰的邏輯主線把所有步驟串聯(lián)起來。
l處理流程的組件化——處理流程中的每一步(任務(wù))都被定義為一個(gè)接口,每個(gè)接口都被賦予不同的實(shí)現(xiàn)。
治療過程的標(biāo)準(zhǔn)化是目的,治療過程的步驟劃分和過程定義是手段。因此,處理流程標(biāo)準(zhǔn)化的主要內(nèi)容是考慮一個(gè)通用Servlet響應(yīng)程序應(yīng)該大致包括的邏輯步驟:
l步驟1-初步處理Http請(qǐng)求,找到對(duì)應(yīng)的控制器處理類(方法)-Handler映射。
l步驟2-調(diào)用相應(yīng)的控制器處理類(方法)來完成業(yè)務(wù)邏輯處理程序適配器。
l步驟3-處理控制器處理類(方法)調(diào)用時(shí)可能出現(xiàn)的異常-handler exc
SpringMVC是怎樣處理請(qǐng)求的?
SpringMVC是基于Java開發(fā)的輕量級(jí)Web MVC框架,是目前主流的MVC框架之一。它比Struts更簡(jiǎn)單、更安全。這種情況下,你在Java Web開發(fā)工作面試中會(huì)經(jīng)常被問到SpringMVC的請(qǐng)求處理流程,很多開發(fā)人員對(duì)此還比較模糊。
SpringMVC請(qǐng)求處理流程
或者解釋一下圖片的流程,流程主要包括:
1.在用戶發(fā)起一個(gè)Web請(qǐng)求后,他到達(dá)一個(gè)Web容器(例如Tomcat/Jetty),服務(wù)器將請(qǐng)求對(duì)象(HttpServletRequest)交給DispatcherServlet。這里的前端控制器是SpringMVC的核心入口,攔截匹配請(qǐng)求。
2.接收到請(qǐng)求后,前置控制器會(huì)在doService()方法中設(shè)置一些屬性,然后將請(qǐng)求交給請(qǐng)求處理程序(request HandlerAdapter)。
3、請(qǐng)求處理適配器找到相應(yīng)的請(qǐng)求處理器(HaNdler)來進(jìn)一步處理請(qǐng)求(其實(shí)就是執(zhí)行這個(gè)請(qǐng)求的業(yè)務(wù)方法)。
4.請(qǐng)求處理器處理完請(qǐng)求后,返回一個(gè)ModelAndView對(duì)象,并再次生成相應(yīng)的頁面給前端控制器,前端控制器將響應(yīng)數(shù)據(jù)返回給客戶端。
以上是SpringMVC請(qǐng)求處理的核心流程,看起來很簡(jiǎn)單,但是內(nèi)部做的事情遠(yuǎn)不止這些。
那個(gè) 這是我的看法。你怎么看待這個(gè)問題?歡迎在下方評(píng)論區(qū)交流~我是科技領(lǐng)域的創(chuàng)作者,有十年互聯(lián)網(wǎng)行業(yè)經(jīng)驗(yàn)。歡迎關(guān)注我了解更多科技知識(shí)!