日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Web专题(一)

發布時間:2024/4/17 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Web专题(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.GET請求和POST請求 2.RESTFUL API 3.Session VS Cookie 4.Forward VS Redirect GET請求和POST請求 可以簡單的認為HHTP中的POST GET PUT DELETE對應著CRUD 區別: 1)從語義上講GET更偏向于查詢操作,即GET請求不會對后臺數據產生影響;而POST則不同 2)一般來講GET請求是冪等的 Ps看到一個關于冪等很好的定義 abs(a) = abs(abs(a)) 3)GET將數據放在url上,而POST將數據放在HTTP body中;POST相對安全 4)如果使用POST就無法保存書簽
RESTFUL API 參考鏈接:https://juejin.im/entry/59e460c951882542f578f2f0 1)URL表示資源;兩種方式 /employees & /employees/56 2)名詞+方法替換動詞url /createEmployee -> POST + /employees /updateEmployee -> PUT /employees/56 3)條件篩選時,使用?添加條件 GET /employees?state=internal&maturity=senior 4)非資源請求使用動詞url GET /calculate?para2=23&para2=432
?POST(創建)GET(讀取)?PUT(更新)DELETE(刪除)
/employees創建一個新員工列出所有員工批量更新員工信息刪除所有員工
/employees/56(錯誤)獲取56號員工的信息更新56號員工的信息刪除56號員工

Session & Cookie HTTP是一個無狀態協議,如何維持同一個用戶的會話? 對于客戶的第一個請求,容器會生成一個唯一的sessionId給到客戶端,客戶再以后的每一個請求中發回這個sessionId,這樣容器就知道客戶的身份了 客戶端和容器如何交換SessionId? 最常用的方法是通過cookie,在服務端給到客戶端的response中,header中有一個叫Set-Cookie的屬性,用于存放JSESSIONID;在客戶端到服務端的request中,header中有一個叫Cookie的屬性,用于存放JSESSIONID 如果禁用cookie這套機制怎么玩的轉? 用戶禁用cookie后,會忽視response的header中的Set-Cookie;此時需要換一種辦法來交換sessionId 1)URL重寫 origin url + ;jsessionid=1231231 注意這里是服務端返回給客戶端的,在響應發回的html中(比如href) 2)表單隱藏 分布式環境如何實現session共享? 參考鏈接:https://blog.csdn.net/u010028869/article/details/50773174?ref=myread 1)nginx對特定的sessionId進行映射,即一個用戶的請求只會交給一個固定的機器處理 優點:無須對session做任何處理只要存在本機即可 缺點:如果某臺機器掛掉,那么這臺機器保存session的用戶都要重新登錄 2)session復制,即所有的服務器共享session,任何一個服務器上session發生改變,都同步到其他服務器 優點:容錯性較好,即使機器掛掉也ok 缺點:容易造成網絡堵塞 3)session第三方共享,redis(集群) or db(集群) Forward VS Redirect 二者都可以稱為請求轉發,前者稱為直接請求轉發,后者稱為間接請求轉發 Redirect:客戶端發送一個http請求,服務端Servlet1處理,之后執行response.sendRedirect("target url"),之后客戶端再次向target url發送http請求 Forward:客戶端發送一個http請求,服務端Servlet1處理,之后調用requestDispatcher.forward(request,response),進行請求轉發,直接轉發到Servlet2處理,最后處理完成后將response返回到客戶端 舉個例子:Servlet將模型傳遞到jsp就是通過forward RequestDispatcher view = request.getRequestDispatcher("result.jsp"); view.forward(request,response);

  

轉載于:https://www.cnblogs.com/luyu1993/p/9245152.html

總結

以上是生活随笔為你收集整理的Java Web专题(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。