javascript
使用Spring Boot搭建HelloWorld Web页面(含HTTP协议分析)
目錄
?
?
理論
演示
解析
?
理論
Spring Boot優點:
1. 快速創建獨立運行的Spring項目,以及與主流框架集成;
2. 使用嵌入式的Servlet容器,應用無需打包成WAR包;
3. starters自動依賴與版本控制;
4. 大量的自動配置,簡化開發,也可修改默認值;
5. 無需配置XML,無代碼生成,開箱即可;
6. 準生產環境的運行時應用監控;
7. 與云計算的天然集成;
?
微服務:架構風格
一個應用應該是一組小型服務;可以通過HTTP方式進行互通;
?
?
演示
在Spring 官網下載項目;
下載好后,使用IDEA打開:
構建如下Package和Class
源碼如下:
HelloController.java
package com.IT1995.demo.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;@Controller public class HelloController {@ResponseBody@RequestMapping("/hello")public String hello(){return "Hello World!";} }跑起來后,進入web網站:
下面演示打包:
當maven中存在這個時候(用上面的操作肯定會有):
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>IDEA如下打包:
雙擊后:
關閉IDEA中的運行。
直接用Java調用jar包:
命令:java -jar xxxx.jar
?
同樣Web能訪問:
?
?
解析
這里我們看下web網站:
從中可以看出這個hello的請求返回的類型是一個document;
從中可以發現,他是通過GET方法進行請求的!
?
這里猜測,如果使用POST請求,能不能得到相同的效果:
答案是可以的!
下面來解析下響應頭的信息:
Content-Type : text/plain;charset=UTF-8
首部字段Content-Type說明實體主體內對象的媒體類型。和首部字段Accept一樣,字段值用type/subtype形式賦值。
參數charset使用iso-8859-1或euc-jp等字符集進行賦值;
?
下面解析下請求頭的Accept首部
Accept: text/html, application/xhtml+xml, application/xml;q=0.9,*/*;q=0.8
Accept首部字段通知服務器,用戶代理能夠處理的媒體類型以及每天類型的相對優先級。可以使用type/subtype這種形式,一次指定多種媒體類型;
舉個例子:
文本文件:
text/html,text/plain,text/css ...
application/xhtml+xml,application/xml ...
?
圖片文件:
image/jpeg,image/gif,image/png ...
?
視頻信息
video/mpeg, video/quicktime ...
?
應用程序使用的二進制文件
application/octet-stream, application/zip ...
?
比如瀏覽器不支持PNG圖片格式,Accept就不指定image/png,而是指定image/gif和image/jpeg等圖片類型。
若想要給顯示的媒體類型增加優先級,使用q=來額外表示權重,用;分開,范圍為0~1,可以精確到小數點后3位,1為最大,不指定時候默認為1.0。
當服務器提供多種內容時,將會優先返回權重值最高的媒體信息。
其中上面的? */*就是接收任意類型。
HTTP/1.1 200 Content-Type: text/plain;charset=UTF-8 Content-Length: 12 Date: Sat, 02 Mar 2019 05:19:28 GMTHello World!及,內容為text/pain,字符集為UTF-8,長度為12,并且有時間,內容為Hello World!
?
?
總結
以上是生活随笔為你收集整理的使用Spring Boot搭建HelloWorld Web页面(含HTTP协议分析)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot笔记-注册后发送邮箱
- 下一篇: Maven工作笔记-在内网环境下开发Sp