(重要)Http請求和HttpServletRequest中獲得對應引數的方法
https://blog.csdn.net/oncealong/article/details/51383563#commentsedit
Http請求
GET /firstSample/hello HTTP/1.1 請求行
Host: localhost:8080 請求頭
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.6
Cookie:
空行
name=oncealong&password=123456 (可選)實體內容,在post請求時用於提交
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
一個Http請求可以分為請求行, 請求頭, 和可選的實體內容, 我們分別來看下http和HttpServletRequest中的方法如何對應.
請求行
GET /firstSample/hello HTTP/1.1
GET: 請求方式, 其中常見的額有GET 、 POST、 HEAD、 TRACE、 PUT、 CONNECT 、DELETE
/firstSample/hello : 可以使用url和uri. url只能用於網路
HTTP/1.1: 協議版本. 之前還有http/1.0, 在一次連線中只能傳送一次請求. 現在都是使用http1.1, 可以在一次連線中傳送多次請求.
HttpServletRequest中用於獲取請求行的方法:
request.getMethod(); //請求方式
request.getRequetURI(); //request.getRequetURL() 請求資源
request.getProtocol(); //請求http協議版本
- 1
- 2
- 3
請求頭
Host: localhost:8080 (必須的)當前請求訪問的目標地址(主機:埠)
Connection: keep-alive 瀏覽器跟伺服器連線狀態。close: 連線關閉 keep-alive:儲存連線。
Cache-Control: max-age=0 在0秒內不會重新訪問伺服器,也就是頁面立即失效。
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
DNT: 1
Accept-Encoding: gzip, deflate, sdch 瀏覽器接受的資料壓縮格式
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.6 瀏覽器接受的語言
Cookie: 瀏覽器儲存的cookie資訊
HttpServletRequest中用於獲取請求頭的方法:
request.getHeader("name") //根據name,獲取對應請求頭資料
request.getHeaderNames() //獲取所有的請求頭名稱
- 1
- 2
- 3
實體內容
name=oncealong&password=123456
實體內容,在post請求時引數放在實體內容中
HttpServletRequest中用於獲取請求實體內容的方法:
request.getInputStream() //獲取實體內容資料
- 1
對於get方式, 要獲取提交的引數需要使用request.getQueryString();
方法,這樣造成API的不一致, 很麻煩. 所以最好使用如下統一方便的獲取引數的方式:
request.getParameter("引數名"); //根據引數名獲取引數值(注意,只能獲取一個值的引數)
request.getParameterValue("引數名“); //根據引數名獲取引數值(可以獲取多個值的引數)
request.getParameterNames(); //獲取所有引數名稱列表
相關推薦
(重要)Http請求和HttpServletRequest中獲得對應引數的方法
https://blog.csdn.net/oncealong/article/details/51383563#commentseditHttp請求GET /firstSample/hello HTTP/1.1 請求行 Host: localhost:8080
HTTP深入淺出之http請求和15中以上的請求方式
HTTP(HyperText Transfer Protocol)是一套計算機通過網路進行通訊的規則。計算機專家設計出HTTP,使HTTP客戶(如Web瀏覽器)能夠從HTTP伺服器(Web伺服器)請求資訊和服務,HTTP目前協議的版本是1.1.HTTP是一種無狀態的協議,無狀態是指Web瀏覽器和Web伺服器
獲取HttpServletRequest中的所有引數方法
在controller中建立一個空Map然後將該map和request傳到下面的方法中: public static void putParametersIntoMap(HttpServletRequest request ,Map<String, Object> paramMap)
爬蟲基礎(http請求和html結構)
要使用selenium還是使用其他方式抓取網頁的內容,都必須對網頁的架構比較熟悉。我們來看看如何定位網頁的內容。 http的請求和響應 我們下面用Chrome為例來講解抓包,windows下用F12來調出開發者模式來審查網頁元素。 注意看到點選network;下面一
web 會話超時,請求(http請求和ajax非同步請求)處理
@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) throws IOException, ServletException {HttpServletRe
NodeMCU網路請求http請求和Https請求的示例程式碼(C++開發)
沒什麼可說的就是開發中需要做https請求,但是幾乎沒有找到例子。最後就研究開原始碼標頭檔案、等文件。實現了https請求。看到過一個部落格用的#include <WiFiClientSecure.h>但是那個封裝有問題。請求返回特別慢。後來看到NodeMCU有自
String類中常用的方法(重要)
循環 類型 demo width 尋找 str2 子字符串 replace table 1.字符串與字節 public String(byte[] byte); 將全部字節變成字符串 public String (byte[] byte,int offset,in
深入理解計算機系統(2.8)---浮點數的舍入,Java中的舍入例子以及浮點數運算(重要)
https://www.cnblogs.com/zuoxiaolong/p/computer12.html 前言 上一章我們簡單介紹了IEEE浮點標準,本次我們主要講解一下浮點運算舍入的問題,以及簡單的介紹浮點數的運算。 之前我們已經提到過,有很多小數是二進位制
jsp中的basePath和path (絕對路徑 相對路徑)(重要)
在JSP中的如果使用 “相對路徑” 則有可能會出現問題. 因為網頁中的 “相對路徑” , 他是相對於 “URL請求的地址” 去尋找資源. 上面這句話是什麼意思呢 ? 舉個例子: 假如我們有一個專案: MyApp 在該專案下, 有一個jsp資料夾 該資料夾下
eclipse中的classpath :db.proprties(重要)
你仔細看config的圖示。這個圖標表示該目錄是原始檔夾。編譯後原始檔夾的非java檔案會被copy到classes目錄。 你可以右鍵 選擇 build path ,然後可以把一些目錄加入成為原始檔夾,或者移出原始檔夾。 無論有幾個原始檔夾,最後都會被加到classe
SpringMVC中controller接收Json資料(重要)!
SpringMVC中controller接收Json資料 1.jsp頁面傳送ajax的post請求: function postJson(){ var json = {"username" : "imp", "password" : "123456"};
微信小程式(一)http://v.juhe.cn不在合法域名列表中
登入微信公眾平臺。點選設定,在request合法域名下填入你所用到的第三方域名。具體如下: 此時,儲存重新整理頁面。回到你的微信開發者工具,清除快取,重新編譯,開啟專案詳情頁面。可以看到合法域名已經更新了。 到這一步已經配置完畢了。 執行程式
hibernate基於annotation(註解)的方式建立資料庫表以及儲存資料到資料庫表中(重要)
在這裡建立專案後要把相關jar包與資料庫相關的jar包引入,並且配置好hibernate.cfg.xml檔案,這個專案採用的資料庫名稱是hibernate_anno.再建立一個實體類User,我們用的是註解的方式,所以不用像上篇文章中建立一個實體類的配置檔案,可以直接在實體類
HTTP協議(2)HTTP協議中的請求資訊
1:請求行 請求行分為三部分: 請求方式:GET、POST 資源路徑:/servlet/request http協議版本:http/1.1HTTP/0.9 :只接受GET一種請求方法,沒有在通訊中指定版本號,且不支援請求頭。由於該版本不支援POST方法,因此客戶端無法向
20.Spring-Boot中RabbitMQ的使用之概念原理理解(重要)
RabbitMQ 即一個訊息佇列,主要是用來實現應用程式的非同步和解耦,同時也能起到訊息緩衝,訊息分發的作用。 AMQP,即Advanced Message Queuing Protocol,一個提供統一訊息服務的應用層標準高階訊息佇列協議,是應用層協議的一個開放標準,為面向
Java對數組的操作(三)—比較兩個數組中的元素是否同樣的最簡單方法
con data println test popu pan equal main spa 呵呵呵,實現Java比較兩個數組中的元素是否同樣的功能你是怎麽做的?看以下最簡單方法: import java.util.Arrays;
學習用Node.js和Elasticsearch構建搜索引擎(6):實際項目中常用命令使用記錄
nds 黃色 ati cat htm action last shard open 1、檢測集群是否健康。 curl -XGET ‘localhost:9200/_cat/health?v‘#後面加一個v表示讓輸出內容表格顯示表頭 綠色表示一切正常,黃色表示所有
(四)Asp.net web api中的坑-【api的返回值】
技術分享 要求 data 都是 blog pan odi handle 自己 void無返回值 IHttpActionResult HttpResponseMessage 自定義類型 我這裏並不想贅述這些返回類型, 可以參考博文http://blog.csdn.net/
文件上傳的思考 (轉) http://blog.csdn.net/ncafei/article/details/53401961
內容 html csdn 大小寫 eva 最大 設備 改變 tar 文件上傳校驗 客戶端JavaScript校驗(一般只校驗後綴名) 一般都是在網頁上寫一段javascript腳本,校驗上傳文件的後綴名,有白名單形式也有黑名單形式。 判斷方式:在瀏覽加載文
log4net 使用總結- (1)在ASP.NET MVC 中使用
站點 href 還需 配置文件 str nag org src stat 1. 去官網下載log4net.dll,增加引用到站點下(你也可以通過nuget 安裝) http://logging.apache.org/log4net/download_log4net.cgi