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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

24.JSP 客户端请求

發布時間:2023/12/10 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 24.JSP 客户端请求 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JSP 客戶端請求

當瀏覽器請求一個網頁時,它會向網絡服務器發送一系列不能被直接讀取的信息,因為這些信息是作為HTTP信息頭的一部分來傳送的。您可以查閱HTTP協議來獲得更多的信息。

下表列出了瀏覽器端信息頭的一些重要內容,在以后的網絡編程中將會經常見到這些信息:

信息描述
Accept指定瀏覽器或其他客戶端可以處理的MIME類型。它的值通常為?image/png?或?image/jpeg
Accept-Charset指定瀏覽器要使用的字符集。比如 ISO-8859-1
Accept-Encoding指定編碼類型。它的值通常為?gzip?或compress
Accept-Language指定客戶端首選語言,servlet會優先返回以當前語言構成的結果集,如果servlet支持這種語言的話。比如 en,en-us,ru等等
Authorization在訪問受密碼保護的網頁時識別不同的用戶
Connection表明客戶端是否可以處理HTTP持久連接。持久連接允許客戶端或瀏覽器在一個請求中獲取多個文件。Keep-Alive?表示啟用持久連接
Content-Length僅適用于POST請求,表示 POST 數據的字節數
Cookie返回先前發送給瀏覽器的cookies至服務器
Host指出原始URL中的主機名和端口號
If-Modified-Since表明只有當網頁在指定的日期被修改后客戶端才需要這個網頁。 服務器發送304碼給客戶端,表示沒有更新的資源
If-Unmodified-Since與If-Modified-Since相反, 只有文檔在指定日期后仍未被修改過,操作才會成功
Referer標志著所引用頁面的URL。比如,如果你在頁面1,然后點了個鏈接至頁面2,那么頁面1的URL就會包含在瀏覽器請求頁面2的信息頭中
User-Agent用來區分不同瀏覽器或客戶端發送的請求,并對不同類型的瀏覽器返回不同的內容

HttpServletRequest類

request對象是javax.servlet.http.HttpServletRequest類的實例。每當客戶端請求一個頁面時,JSP引擎就會產生一個新的對象來代表這個請求。

request對象提供了一系列方法來獲取HTTP信息頭,包括表單數據,cookies,HTTP方法等等。

接下來將會介紹一些在JSP編程中常用的獲取HTTP信息頭的方法。詳細內容請見下表:

序號方法& 描述
1Cookie[] getCookies()

?

返回客戶端所有的Cookie的數組
2Enumeration getAttributeNames()

?

返回request對象的所有屬性名稱的集合
3Enumeration getHeaderNames()

?

返回所有HTTP頭的名稱集合
4Enumeration getParameterNames()

?

返回請求中所有參數的集合
5HttpSession getSession()

?

返回request對應的session對象,如果沒有,則創建一個
6HttpSession getSession(boolean create)

?

返回request對應的session對象,如果沒有并且參數create為true,則返回一個新的session對象
7Locale getLocale()

?

返回當前頁的Locale對象,可以在response中設置
8Object getAttribute(String name)

?

返回名稱為name的屬性值,如果不存在則返回null。
9ServletInputStream getInputStream()

?

返回請求的輸入流
10String getAuthType()

?

返回認證方案的名稱,用來保護servlet,比如 "BASIC" 或者 "SSL" 或 null 如果 JSP沒設置保護措施
11String getCharacterEncoding()

?

返回request的字符編碼集名稱
12String getContentType()

?

返回request主體的MIME類型,若未知則返回null
13String getContextPath()

?

返回request URI中指明的上下文路徑
14String getHeader(String name)

?

返回name指定的信息頭
15String getMethod()

?

返回此request中的HTTP方法,比如 GET,,POST,或PUT
16String getParameter(String name)

?

返回此request中name指定的參數,若不存在則返回null
17String getPathInfo()

?

返回任何額外的與此request URL相關的路徑
18String getProtocol()

?

返回此request所使用的協議名和版本
19String getQueryString()

?

返回此 request URL包含的查詢字符串
20String getRemoteAddr()

?

返回客戶端的IP地址
21String getRemoteHost()

?

返回客戶端的完整名稱
22String getRemoteUser()

?

返回客戶端通過登錄認證的用戶,若用戶未認證則返回null
23String getRequestURI()

?

返回request的URI
24String getRequestedSessionId()

?

返回request指定的session ID
25String getServletPath()

?

返回所請求的servlet路徑
26String[] getParameterValues(String name)

?

返回指定名稱的參數的所有值,若不存在則返回null
27boolean isSecure()

?

返回request是否使用了加密通道,比如HTTPS
28int getContentLength()

?

返回request主體所包含的字節數,若未知的返回-1
29int getIntHeader(String name)

?

返回指定名稱的request信息頭的值
30int getServerPort()

?

返回服務器端口號

HTTP信息頭示例

在這個例子中,我們會使用HttpServletRequest類的getHeaderNames()方法來讀取HTTP信息頭。這個方法以枚舉的形式返回當前HTTP請求的頭信息。

獲取Enumeration對象后,用標準的方式來遍歷Enumeration對象,用hasMoreElements()方法來確定什么時候停止,用nextElement()方法來獲得每個參數的名字。

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> </head> <body> <h2>HTTP 頭部請求實例</h2> <table width="100%" border="1" align="center"> <tr bgcolor="#949494"> <th>Header Name</th><th>Header Value(s)</th> </tr> <%Enumeration headerNames = request.getHeaderNames();while(headerNames.hasMoreElements()) {String paramName = (String)headerNames.nextElement();out.print("<tr><td>" + paramName + "</td>\n");String paramValue = request.getHeader(paramName);out.println("<td> " + paramValue + "</td></tr>\n");} %> </table> </body> </html>

訪問main.jsp,將會得到以下結果:

您可以在上面代碼中嘗試HttpServletRequest類的其它方法。

總結

以上是生活随笔為你收集整理的24.JSP 客户端请求的全部內容,希望文章能夠幫你解決所遇到的問題。

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