中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

五合一小程序網(wǎng)站推廣網(wǎng)站排名

五合一小程序網(wǎng)站,推廣網(wǎng)站排名,wordpress js插件開發(fā)教程,開發(fā)一個(gè)小程序要多少錢大家好,我叫小帥今天我們來繼續(xù)Spring Boot的內(nèi)容。 文章目錄 1. 獲取JSON對(duì)象2. 獲取URL中參數(shù)PathVariable3.上傳?件RequestPart3. 獲取Cookie/Session3.1 獲取和設(shè)置Cookie3.1.1傳統(tǒng)獲取Cookie3.1.2簡(jiǎn)潔獲取Cookie 3. 2 獲取和存儲(chǔ)Session3.2.1獲取Session&…

大家好,我叫小帥今天我們來繼續(xù)Spring Boot的內(nèi)容。

文章目錄

  • 1. 獲取JSON對(duì)象
  • 2. 獲取URL中參數(shù)@PathVariable
  • 3.上傳?件@RequestPart
  • 3. 獲取Cookie/Session
    • 3.1 獲取和設(shè)置Cookie
      • 3.1.1傳統(tǒng)獲取Cookie
      • 3.1.2簡(jiǎn)潔獲取Cookie
    • 3. 2 獲取和存儲(chǔ)Session
      • 3.2.1獲取Session(1)使? HttpServletRequest
      • 3.2.2簡(jiǎn)潔獲取 Session(1) @SessionAttribute(value = "username",required = false)
      • 3.2.2簡(jiǎn)潔獲取 Session(2)
  • 4. 獲取Header
    • 4.1傳統(tǒng)獲取 header
    • 4.2簡(jiǎn)潔獲取 Header (@RequestHeader("User-Agent") 里面參數(shù)是header里面的鍵值對(duì)的Key)


1. 獲取JSON對(duì)象

接收J(rèn)SON對(duì)象, 需要使? @RequestBody 注解,作用是這個(gè) 方法或者類是返回正文

但是@RestController = @RequestBody + @Controller所以我們使用@RestController就可以。

代碼:

@RestController
@RequestMapping("/test")
public class test {//produces參數(shù)是返回JSON字符串@RequestMapping(value = "/getUser", produces = "application/json")public String getUser() {User user = new User("111111", "111111");return user.toString();//字符串的方式返回}//consumes參數(shù)是傳過來JSON字符串(可以是格式化的JOSN字符串)@RequestMapping(value = "/setUser",produces = "application/json", consumes = "application/json")public String setUser(String name, String password) {User user = new User(name, password);return user.toString();}
}

后端正確接收了
通過Fiddler觀察?下請(qǐng)求參數(shù)效果:
get:
在這里插入圖片描述

post:
在這里插入圖片描述


2. 獲取URL中參數(shù)@PathVariable

path variable: 路徑變量

和字?表達(dá)的意思?樣, 這個(gè)注解主要作?在請(qǐng)求URL路徑上的數(shù)據(jù)綁定
默認(rèn)傳遞參數(shù)寫在URL上,SpringMVC就可以獲取到.

后端實(shí)現(xiàn)代碼:

@RequestMapping("/get/{name}/{password}")public String method8(@PathVariable String name,@PathVariable("name") String password){return "解析路徑:name:" + name + ",password:" + password;}

是postman發(fā)送請(qǐng)求:
在這里插入圖片描述


3.上傳?件@RequestPart

后端代碼實(shí)現(xiàn):

    @RequestMapping("getFile")public String pushFile(@RequestPart("file") MultipartFile file) throws IOException {//獲取文件名稱String fileName = file.getOriginalFilename();return fileName;}

效果:

在這里插入圖片描述
上傳成功了。


3. 獲取Cookie/Session

理解cookie

HTTP 協(xié)議??是屬于 “?狀態(tài)” 協(xié)議.
“?狀態(tài)” 的含義指的是:
默認(rèn)情況下 HTTP 協(xié)議的客?端和服務(wù)器之間的這次通信, 和下次通信之間沒有直接的聯(lián)系.

但是實(shí)際開發(fā)中, 我們很多時(shí)候是需要知道請(qǐng)求之間的關(guān)聯(lián)關(guān)系的.
例如登陸?站成功后, 第?次訪問的時(shí)候服務(wù)器就能知道該請(qǐng)求是否是已經(jīng)登陸過了.

在這里插入圖片描述
上述圖中的 “令牌” 通常就存儲(chǔ)在 Cookie 字段中。
比如說,我現(xiàn)在訪問了csdn,現(xiàn)在我又退了出去,這個(gè)時(shí)候?yàn)g覽器就自動(dòng)保存了一個(gè)身份標(biāo)識(shí)。
在這里插入圖片描述
理解Session

我們先來了解?下什么是會(huì)話,就是對(duì)話的意思。
在這里插入圖片描述
會(huì)話是?個(gè)客?與服務(wù)器之間的不中斷的請(qǐng)求響應(yīng). 對(duì)客?的每個(gè)請(qǐng)求,服務(wù)器能夠識(shí)別出請(qǐng)求來?于同?個(gè)客?. 當(dāng)?個(gè)未知的客?向Web應(yīng)?程序發(fā)送第?個(gè)請(qǐng)求時(shí)就開始了?個(gè)會(huì)話.當(dāng)客?明確結(jié)束會(huì)話或服務(wù)器在?個(gè)時(shí)限內(nèi)沒有接受到客?的任何請(qǐng)求時(shí),會(huì)話就結(jié)束了.

Session是服務(wù)器為了保存??信息?創(chuàng)建的?個(gè)特殊的對(duì)象.

服務(wù)器需要清楚的區(qū)分每個(gè)請(qǐng)求是屬于哪個(gè)??, 也就是屬于哪個(gè)會(huì)話, 就需要在服務(wù)器這邊記錄每個(gè)會(huì)話以及與??的信息的對(duì)應(yīng)關(guān)系.
在這里插入圖片描述
Session的本質(zhì)就是?個(gè) “哈希表”, 存儲(chǔ)了?些鍵值對(duì)結(jié)構(gòu). Key 就是SessionID, Value 就是??信息(??信息可以根據(jù)需求靈活設(shè)計(jì)).

在這里插入圖片描述

  1. 當(dāng)??登陸的時(shí)候, 服務(wù)器在 Session 中新增?個(gè)新記錄, 并把 sessionId返回給客?端. (通過HTTP 響應(yīng)中的 Set-Cookie 字段返回).
  2. 客?端后續(xù)再給服務(wù)器發(fā)送請(qǐng)求的時(shí)候, 需要在請(qǐng)求中帶上 sessionId. (通過 HTTP 請(qǐng)求中的Cookie 字段帶上).
  3. 服務(wù)器收到請(qǐng)求之后, 根據(jù)請(qǐng)求中的 sessionId在 Session 信息中獲取到對(duì)應(yīng)的??信息, 再進(jìn)?后續(xù)操作.找不到則重新創(chuàng)建Session, 并把SessionID返回。

在這里插入圖片描述

Cookie 和 Session 的區(qū)別

  1. Cookie 是客?端保存??信息的?種機(jī)制. Session 是服務(wù)器端保存??信息的?種機(jī)制.
  2. Cookie 和 Session之間主要是通過 SessionId 關(guān)聯(lián)起來的, SessionId 是 Cookie 和 Session 之間的橋梁。
  3. cookie 和 Session 經(jīng)常會(huì)在?起配合使?. 但是不是必須配合。
  1. 完全可以? Cookie 來保存?些數(shù)據(jù)在客?端. 這些數(shù)據(jù)不?定是???份信息, 也不?定是SessionId。
  2. Session 中的sessionId 也不需要?得通過 Cookie/Set-Cookie 傳遞, ?如通過URL傳遞.

3.1 獲取和設(shè)置Cookie

3.1.1傳統(tǒng)獲取Cookie

代碼:

    @RequestMapping("/getCookie")public String method10(HttpServletRequest request, HttpServletResponse response){// 獲取所有 cookie 信息Cookie[] cookies = request.getCookies();//打印Cookie信息StringBuilder builder = new StringBuilder();if (cookies!=null){for (Cookie ck:cookies) {builder.append(ck.getName()+":"+ck.getValue());}}return "Cookie信息:"+builder;}

解釋:

Spring MVC是基于 Servlet API 構(gòu)建的原始 Web 框架, 也是在Servlet的基礎(chǔ)上實(shí)現(xiàn)的

HttpServletRequest , HttpServletResponse 是Servlet提供的兩個(gè)類, 是Spring MVC?法的內(nèi)置對(duì)象. 需要時(shí)直接在?法中添加聲明即可.

HttpServletRequest對(duì)象代表客?端的請(qǐng)求, 當(dāng)客?端通過HTTP協(xié)議訪問服務(wù)器時(shí),HTTP請(qǐng)求頭中的所有信息都封裝在這個(gè)對(duì)象中,通過這個(gè)對(duì)象提供的?法,可以獲得客?端請(qǐng)求的所有信息.

HttpServletResponse對(duì)象代表服務(wù)器的響應(yīng). HTTP響應(yīng)的信息都在這個(gè)對(duì)象中, ?如向客?
端發(fā)送的數(shù)據(jù), 響應(yīng)頭, 狀態(tài)碼等. 通過這個(gè)對(duì)象提供的?法, 可以獲得服務(wù)器響應(yīng)的所有內(nèi)容

看看效果:

在這里插入圖片描述

此時(shí)沒有設(shè)置Cookie, 通過瀏覽器訪問: http://127.0.0.1:8080/test/getCookie,得到Cookie為null

我們?cè)O(shè)置?下Cookie的值,鍵盤f12
在這里插入圖片描述
再次訪問:
在這里插入圖片描述
從這個(gè)例?中, 也可以看出Cookie是可以偽造的, 也就是不安全的, 所以使?Cookie時(shí), 后端需要進(jìn)?Cookie校驗(yàn)


3.1.2簡(jiǎn)潔獲取Cookie

    @RequestMapping("/getCookie2")public String cookie(@CookieValue("cdm") String cdm) {return "Cookie:" + cdm;}

效果:
在這里插入圖片描述

3. 2 獲取和存儲(chǔ)Session

Session是服務(wù)器端的機(jī)制, 我們需要先存儲(chǔ), 才能再獲取
Session 也是基于HttpServletRequest 來存儲(chǔ)和獲取的

Session的存儲(chǔ)
代碼:

//存儲(chǔ)Session@RequestMapping("/setSession")public String setSession(HttpServletRequest request) {// 獲取Session對(duì)象HttpSession session = request.getSession();if (session != null) {session.setAttribute("username", "java");}return "session 存儲(chǔ)成功";}

解釋:

void setAttribute(String name, Object value): 使?指定的名稱綁定?個(gè)對(duì)象到該 session 會(huì)話

效果:

在這里插入圖片描述

獲取Session

獲取Session有兩種?式:

  1. HttpSession getSession(boolean create);
  2. HttpSession getSession();

HttpSession getSession(boolean create): 參數(shù)如果為 true, 則當(dāng)不存在會(huì)話時(shí)新建會(huì)話; 參數(shù)如果為 false, 則當(dāng)不存在會(huì)話時(shí)返回 null
HttpSession getSession(): 和getSession(true) 含義?樣, 默認(rèn)值為true


3.2.1獲取Session(1)使? HttpServletRequest

    //存儲(chǔ)Session@RequestMapping("/setSession")public String setSession(HttpServletRequest request) {// 獲取Session對(duì)象HttpSession session = request.getSession();if (session != null) {session.setAttribute("username", "java");}return "session 存儲(chǔ)成功";}//獲取session@RequestMapping("/getSession")public String session(HttpServletRequest request) {// 如果 session 不存在, 不會(huì)?動(dòng)創(chuàng)建HttpSession session = request.getSession(false);String username = null;if (session != null && session.getAttribute("username") != null) {username = (String) session.getAttribute("username");}return "username:" + username;}

Object getAttribute(String name): 返回在該 session 會(huì)話中具有指定名稱的對(duì)象,如果沒有指定名
稱的對(duì)象,則返回 null.

HttpServletRequest request 如果 session 不存在, 不會(huì)?動(dòng)創(chuàng)建
在這里插入圖片描述

效果:
在這里插入圖片描述


3.2.2簡(jiǎn)潔獲取 Session(1) @SessionAttribute(value = “username”,required = false)

代碼:

    //獲取session@RequestMapping("/getSession2")public String getSession2(@SessionAttribute(value = "username",required = false)String username) {//獲取到session字符串,直接返回return "username:" + username;}

解釋:value是:獲取username的值,required是:沒有Session對(duì)象時(shí),不創(chuàng)建,返回null
效果:
在這里插入圖片描述


3.2.2簡(jiǎn)潔獲取 Session(2)

代碼:

    //獲取session@RequestMapping("/getSession3")public String getSession3(HttpSession session) {//獲取到session對(duì)象String username = (String)session.getAttribute("username");return "username:" +  username;}

解釋:HttpSession session獲取到session對(duì)象
效果:
在這里插入圖片描述


4. 獲取Header

4.1傳統(tǒng)獲取 header

獲取Header也是從 HttpServletRequest 中獲取

效果:
在這里插入圖片描述
通過Fiddler觀察, 獲取的User-Agent是否正確
在這里插入圖片描述


4.2簡(jiǎn)潔獲取 Header (@RequestHeader(“User-Agent”) 里面參數(shù)是header里面的鍵值對(duì)的Key)

在這里插入圖片描述
比如說獲取User-Agent:

代碼:

    //獲取header@RequestMapping("/getUserAgent2")public String getUserAgent2(@RequestHeader("User-Agent") String userAgent) {return "User-Agent" + userAgent;}

在這里插入圖片描述
再比如獲取Host
在這里插入圖片描述
好了,今天就到在這里,感謝觀看。

http://www.risenshineclean.com/news/45344.html

相關(guān)文章:

  • 四川網(wǎng)站建設(shè)套餐北京網(wǎng)站seo設(shè)計(jì)
  • ppt做雜志模板下載網(wǎng)站搜索引擎排行榜前十名
  • 免費(fèi)的黃岡網(wǎng)站有哪些代碼系統(tǒng)優(yōu)化的意義
  • 把網(wǎng)站傳到服務(wù)器上怎么做新媒體運(yùn)營
  • 做網(wǎng)站是怎樣賺錢深圳全網(wǎng)營銷哪里好
  • 網(wǎng)站的排名優(yōu)化怎么做怎么做網(wǎng)頁設(shè)計(jì)的頁面
  • js網(wǎng)站模板下載軟文推廣例子
  • 關(guān)于企業(yè)網(wǎng)站建設(shè)的請(qǐng)示高清網(wǎng)站推廣免費(fèi)下載
  • 網(wǎng)站建設(shè) 中企動(dòng)力公司中山做網(wǎng)站推廣公司
  • 營銷策劃的流程南昌seo網(wǎng)站排名
  • 網(wǎng)站備案是空間備案還是域名備案友情鏈接大全
  • 設(shè)計(jì)網(wǎng)站的元素萬網(wǎng)域名管理入口
  • 做網(wǎng)站需要多少固定帶寬seo人才網(wǎng)
  • 下載網(wǎng)上國網(wǎng)app汕頭seo收費(fèi)
  • 彩票網(wǎng)站開發(fā)風(fēng)險(xiǎn)國外網(wǎng)站制作
  • 新疆所有的網(wǎng)站百度知道客服
  • 一些網(wǎng)站是用什么顏色做的怎么申請(qǐng)建立網(wǎng)站
  • 網(wǎng)站開發(fā)設(shè)計(jì)實(shí)訓(xùn) 報(bào)告蘇州seo關(guān)鍵詞優(yōu)化方法
  • 鹽城有沒有做網(wǎng)站嗎湖南專業(yè)的關(guān)鍵詞優(yōu)化
  • 鎮(zhèn)江網(wǎng)站制作優(yōu)化老哥們給個(gè)關(guān)鍵詞
  • 怎樣做化妝品公司網(wǎng)站百度產(chǎn)品大全首頁
  • it運(yùn)維工程師證書湖北seo
  • htm網(wǎng)站模板上海公司網(wǎng)站seo
  • 誰教我做啊誰會(huì)做網(wǎng)站啊整站排名服務(wù)
  • wordpress 查看訪客站長(zhǎng)工具seo綜合查詢?cè)创a
  • 百度云盤做網(wǎng)站空間百度上怎么打廣告宣傳
  • 紹興市中等專業(yè)學(xué)校網(wǎng)站軟文外鏈代發(fā)
  • 開發(fā)企業(yè)門戶網(wǎng)站友情鏈接賺錢
  • 中組部?jī)蓪W(xué)一做網(wǎng)站如何建網(wǎng)站教程
  • 安徽 網(wǎng)站制作線上推廣平臺(tái)