国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring MVC能響應(yīng)HTTP請求的原因?

vboy1010 / 2948人閱讀

摘要:很多面試官喜歡問這個問題一個的項目文件里,開發(fā)人員沒有開發(fā)自己的,只通過注解定義了方法能響應(yīng)發(fā)向的請求。再次訪問,斷點觸發(fā)。因此給面試官的答案為框架仍然需要,但這個是由框架提供,無需應(yīng)用開發(fā)人員重復(fù)實現(xiàn)。

很多Java面試官喜歡問這個問題:

一個Spring MVC的項目文件里,開發(fā)人員沒有開發(fā)自己的Servlet,只通過注解@RequestMapping定義了方法home能響應(yīng)發(fā)向 /mvc/test1的請求。

使用url http://localhost:9098/MavenSandbox/mvc/test1 測試,能觀察到home方法返回的字符串,這背后的工作原理是什么?

我們通過自己的研究來回答。在上述代碼第53行設(shè)置斷點。再次訪問url http://localhost:9098/MavenSandbox/mvc/test1,斷點觸發(fā)。我們觀察調(diào)用棧,發(fā)現(xiàn)有一個棧幀DispatcherServlet.doService(HttpServletRequest, HttpServletResponse)。這個Servlet會負(fù)責(zé)將我們加了@RequestMapping注解的方法里return的字符串加到HttpServletResponse里,這就是為什么我們在瀏覽器里能看到return字符串的原因。

我們看下DispatcherServlet.doService里的HttpServletResponse里是否包含了我們期望的輸出字符串。在調(diào)試器里展開response變量:

response->outputBuffer->bb->buff, 在buff里能看到這個字符串?dāng)?shù)組緩沖:

104是H的ASCII碼,101是e的ASCII碼,108是l的ASCII碼,所以證明了response確實包含了開發(fā)人員在home方法里返回的字符串:hello this is a most simple example

最后,DispatcherServlet從哪里來的?

在Eclipse調(diào)試器里發(fā)現(xiàn),它是Spring框架的標(biāo)準(zhǔn)Servlet:

org.springframework.web.servlet.DispatcherServlet

這個Servlet正是我們在WEB-INF文件夾的web.xml文件里的Servlet。

因此給面試官的答案為:Spring MVC框架仍然需要Servlet,但這個Servlet是由Spring框架提供,無需應(yīng)用開發(fā)人員重復(fù)實現(xiàn)。

要獲取更多Jerry的原創(chuàng)技術(shù)文章,請關(guān)注公眾號"汪子熙"或者掃描下面二維碼:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71810.html

相關(guān)文章

  • SpringMVC入門筆記

    摘要:入門筆記簡介是一種基于的實現(xiàn)了設(shè)計模式的請求驅(qū)動類型的輕量級框架,是系開源項目中的一個,和配合使用。配置在中需要添加使用的和映射規(guī)則。入門較快,而掌握起來相對較難。 SpringMVC入門筆記 1. 簡介 Spring MVC是一種基于Java的實現(xiàn)了Web MVC設(shè)計模式的請求驅(qū)動類型的輕量級Web框架 ,是Spring系開源項目中的一個,和IoC配合使用。通過策略接口,Spring...

    zhaochunqi 評論0 收藏0
  • Spring Boot 參考指南(端點)

    摘要:在發(fā)出經(jīng)過身份驗證的請求時,被認(rèn)為是端點的輸入,因此不會緩存響應(yīng)。自定義端點對或的操作通過使用或通過自動公開。端點范圍請求范圍請求可以用于請求資源的一部分,當(dāng)使用或時,操作將返回一個自動支持范圍請求的。 50. 端點 Actuator端點讓你監(jiān)視和與應(yīng)用程序交互,Spring Boot包含許多內(nèi)置的端點,并允許你添加自己的端點。例如,health端點提供基本的應(yīng)用程序健康信息。 可以啟...

    mozillazg 評論0 收藏0
  • Spring Boot 2 快速教程:WebFlux 快速入門(二)

    摘要:響應(yīng)式編程是基于異步和事件驅(qū)動的非阻塞程序,只是垂直通過在內(nèi)啟動少量線程擴展,而不是水平通過集群擴展。三特性常用的生產(chǎn)的特性如下響應(yīng)式編程模型適用性內(nèi)嵌容器組件還有對日志消息測試及擴展等支持。 摘要: 原創(chuàng)出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關(guān)注和轉(zhuǎn)載,保留摘要,謝謝! 02:WebFlux 快速入門實踐 文章工程: JDK...

    gaara 評論0 收藏0
  • Spring Boot & Spring MVC 異常處理N種方法

    摘要:定制特定異常返回結(jié)果根據(jù)官方文檔的例子,可以使用和對特定異常返回特定的結(jié)果。下面是用瀏覽器和訪問的結(jié)果無輸出注意上方表格的錯誤,產(chǎn)生這個的原因前面已經(jīng)講過。不過需要注意的是,無法通過設(shè)定,由或者容器決定里一律是。 github:https://github.com/chanjarste... 參考文檔: Spring Boot 1.5.4.RELEASE Documentation ...

    h9911 評論0 收藏0
  • 面試題:SpringMVC和Struts2區(qū)別

    摘要:的入口是,而是這里要指出,和是不同的。以前認(rèn)為是的一種特殊,這就導(dǎo)致了二者的機制不同,這里就牽涉到和的區(qū)別了。開發(fā)效率和性能高于。的實現(xiàn)機制有以自己的機制,用的是獨立的方式。 1、Struts2是類級別的攔截, 一個類對應(yīng)一個request上下文,SpringMVC是方法級別的攔截,一個方法對應(yīng)一個request上下文,而方法同時又跟一個url對應(yīng),所以說從架構(gòu)本身上SpringMVC...

    isaced 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<