動力節(jié)點SpringBoot3- 第五章 說說Web服務
5 說說Web服務
基于瀏覽器的B/S結構應用十分流行。Spring Boot非常適合Web應用開發(fā)抒钱。可以使用嵌入式Tomcat酌儒、Jetty阅羹、Undertow或Netty創(chuàng)建一個自包含的HTTP服務器。一個Spring Boot的Web應用能夠自己獨立運行矾克,不依賴需要安裝的Tomcat页慷,Jetty等。
Spring Boot可以創(chuàng)建兩種類型的Web應用
[if !supportLists]·?[endif]基于Servlet體系的Spring Web MVC應用
[if !supportLists]·?[endif]使用spring-boot-starter-webflux模塊來構建響應式,非阻塞的Web應用程序
Spring WebFlux是單獨一個體系的內容酒繁,其他課程來說滓彰。 當前文檔講解 Spring Web MVC。又被稱為“Spring MVC”州袒。Spring MVC是“model view controller”的框架揭绑。專注web應用開發(fā)。我們快速的創(chuàng)建控制器(Controller)郎哭,接受來自瀏覽器或其他客戶端的請求他匪。并將業(yè)務代碼的處理結果返回給請求方。
Spring MVC處理請求:
5.1 高效構建Web應用
創(chuàng)建Web應用夸研,Lession12-quick-web邦蜜。 依賴選擇spring-web 包含了Spring MVC , Restful, Tomcat這些功能。再選擇Thymeleaf(視圖技術陈惰,代替jsp),Lombok依賴畦徘。包名 com.****.quickweb。
項目結構:
5.1.1 html頁面視圖
step1: Maven依賴
spring-web starter
step2: 創(chuàng)建Controller
在根包的下面抬闯,創(chuàng)建子包controller井辆,并創(chuàng)建QuickController
step3: 創(chuàng)建視圖
step4:代碼編寫完成溶握,現在運行啟動類杯缺,在瀏覽器訪問exam/quick url地址
編寫Spring MVC的應用分成三步:
[if !supportLists]1.?[endif]編寫請求頁面(在瀏覽器直接模擬的請求)
[if !supportLists]2.?[endif]編寫Controller
[if !supportLists]3.?[endif]編寫視圖頁面
5.1.2 JSON視圖
上面的例子以Html文件作為視圖,可以編寫復雜的交互的頁面睡榆,CSS美化數據萍肆。除了帶有頁面的數據,還有一種只需要數據的視圖胀屿。比如手機應用app塘揣,app的數據來自服務器應用處理結果。app內的數據顯示和服務器無關宿崭,只需要數據就可以了亲铡。主流方式是服務器返回json格式數據給手機app應用。我們可以通過原始的HttpServletResponse應該數據給請求方葡兑。 借助Spring MVC能夠無感知的處理json奖蔓。
step1:創(chuàng)建Controller
@Datapublic class User { private String name; private Integer age;}
注意:從Spring6. Spring Boot3開始 javax包名稱,修改為jakarta讹堤。
原來:
javax.servlet.http.HttpServletRequest;
修改后:
jakarta.servlet.http.HttpServletRequest;
step2:瀏覽器測試兩個地址
構建前-后端分離項目經常采用這種方式吆鹤。
5.1.3 給項目加favicon
什么是favicon.ico :
favicon.ico是網站的縮略標志,可以顯示在瀏覽器標簽、地址欄左邊和收藏夾,是展示網站個性的logo標志洲守。
我們自己的網站定制logo疑务。首先找一個在線工具創(chuàng)建favicon.ico沾凄。比如https://quanxin.org/favicon , 用文字知允,圖片生成我們需要的內容搭独。生成的logo文件名稱是favicon.ico
step1:將生成的favicon.ico拷貝項目的resources/ 或 resources/static/ 目錄。
step2:在你的視圖文件廊镜,加入對favicon.ico的引用。