第五章說說web服務-動力節(jié)點springboot3

動力節(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

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

step2: 創(chuàng)建Controller

在根包的下面抬闯,創(chuàng)建子包controller井辆,并創(chuàng)建QuickController

@Controllerpublic class QuickController { @RequestMapping("/exam/quick") public String quick(Model model){ //業(yè)務處理結果數據,放入到Model模型 model.addAttribute("title", "Web開發(fā)"); model.addAttribute("time", LocalDateTime.now()); return "quick"; }}

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;}

@Controllerpublic class JSONViewController { //HttpServletResponse @RequestMapping("/exam/json") public void exam1(HttpServletResponse response) throws IOException { String data="{\"name\":\"lisi\",\"age\":20}"; response.getWriter().println(data); } //@ResponseBody @RequestMapping("/exam/json2") @ResponseBody public User exam2() { User user = new User(); user.setName("張三"); user.setAge(22); return user; }}

注意:從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的引用。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末唉俗,一起剝皮案震驚了整個濱河市嗤朴,隨后出現的幾起案子,更是在濱河造成了極大的恐慌虫溜,老刑警劉巖雹姊,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異衡楞,居然都是意外死亡吱雏,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門瘾境,熙熙樓的掌柜王于貴愁眉苦臉地迎上來歧杏,“玉大人,你說我怎么就攤上這事迷守∪蓿” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵兑凿,是天一觀的道長凯力。 經常有香客問我,道長礼华,這世上最難降的妖魔是什么咐鹤? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮圣絮,結果婚禮上祈惶,老公的妹妹穿的比我還像新娘。我一直安慰自己晨雳,他們只是感情好行瑞,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著餐禁,像睡著了一般血久。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上帮非,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天氧吐,我揣著相機與錄音讹蘑,去河邊找鬼。 笑死筑舅,一個胖子當著我的面吹牛座慰,可吹牛的內容都是我干的。 我是一名探鬼主播翠拣,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼版仔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了误墓?” 一聲冷哼從身側響起蛮粮,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谜慌,沒想到半個月后然想,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡欣范,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年变泄,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恼琼。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡妨蛹,死狀恐怖,靈堂內的尸體忽然破棺而出驳癌,到底是詐尸還是另有隱情滑燃,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布颓鲜,位于F島的核電站表窘,受9級特大地震影響,放射性物質發(fā)生泄漏甜滨。R本人自食惡果不足惜乐严,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衣摩。 院中可真熱鬧昂验,春花似錦、人聲如沸艾扮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泡嘴。三九已至甫恩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酌予,已是汗流浹背磺箕。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工奖慌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人松靡。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓简僧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親雕欺。 傳聞我的和親對象是個殘疾皇子岛马,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內容