Servlet获得Http请求,GET/POST
Servlet獲得Http請求 Http請求信息格式 請求行(方法提交方式,URI,Http協議版本) GET方式提交:URI會包含查詢字符串 POST方式提交:URI不會包含查詢字符串
請求頭 Host:IP地址:端口號 User-Agent:用戶網頁瀏覽器類型 Accept:請求提交的文件包含類型 Keep-Alive:保持連接時間 空行(空格) 消息體 POST提交方式特有,包含查詢字符串 get與post的區別 提交數據類型 get:文本信息 post:文本信息,二進制文件 提交數據長度 get:不超過255個字符 post:無限制 提交數據可見性 get:作為URL地址的一部分,顯示在瀏覽器地址欄 post:作為請求的消息體,不可見 提交數據緩存 get:緩存在瀏覽器URL歷史狀態中 post:不會被瀏覽器緩存 獲得請求信息 請求頭 getMethod():獲得請求提交方法 getRequestURI():獲得URI資源(僅端口號后面的部分內容,不包括協議名、主機名、端口號) getRequestURL():獲得URL資源 getQueryString():獲得請求URL后面的查詢字符串 getContextPath():獲得請求URI資源上下文路徑 getServletPath():獲得Servlet的映射路徑(如/ccb.do) 請求行 getHeader("參數"):獲取請求行消息類型 User-Agent:瀏覽器版本 Host:訪問IP地址 Keep-Alive:連接時間(生存時間) 消息體 getParameter(parameterName)獲得表單參數的值 getParameterValues(parameterName)獲得同名表單參數的值 文件上傳 原理:將文件在表單中以二進制流方式裝入提交信息傳送至Web服務器 操作步驟 將表單傳輸方式設置為二進制流enctype="multipart/form-data" HttpServletRequest對象調用getInputStream()獲得請求輸入流 Servlet解析流,通過HttpServletResponse的對象調用getOutputStream(),持久化為對應類型文件 請求轉發 原理:客戶端只發一次請求,服務器自動將新連接轉接到用戶想要的位置,最后斷開連接 request.getRequestDispatcher("文件路徑或URL")獲得對話 轉發 response.forward(ServletRequest,ServletResponse)轉發完成服務器關閉連接,僅包含轉接后內容 response.include(ServletRequest,ServletResponse)轉發完成保持服務器連接,包含轉接前和轉接后內容 可使用request.setAttribute()和request.getAttribute()獲得請求作用域 與請求重定向的區別 請求重定向使用HttpServletResponse的方法;內部轉發使用HttpServletRequest的方法 請求重定向客戶端向服務器發送了2次請求,由客戶端實現; 內部轉發客戶端只發送1次請求,轉發過程由服務器端實現 請求重定向URL地址顯示的是第二次請求的地址,無法獲得請求作用域;內部轉發URL地址顯示的是服務器URL地址,可獲得請求作用域存取對象
轉載于:https://www.cnblogs.com/Zengc-33/p/5908220.html
總結
以上是生活随笔為你收集整理的Servlet获得Http请求,GET/POST的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BaseActivity的抽取
- 下一篇: 眼见为实:.NET类库中的DateTim