<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 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信息頭的方法。詳細內容請見下表: | **序號** | **方法****&****描述** | | --- | --- | | 1 | **Cookie\[\] getCookies()** 返回客戶端所有的Cookie的數組 | | 2 | **Enumeration getAttributeNames()** 返回request對象的所有屬性名稱的集合 | | 3 | **Enumeration getHeaderNames()** 返回所有HTTP頭的名稱集合 | | 4 | **Enumeration getParameterNames()** 返回請求中所有參數的集合 | | 5 | **HttpSession getSession()** 返回request對應的session對象,如果沒有,則創建一個 | | 6 | **HttpSession getSession(boolean create)** 返回request對應的session對象,如果沒有并且參數create為true,則返回一個新的session對象 | | 7 | **Locale getLocale()** 返回當前頁的Locale對象,可以在response中設置 | | 8 | **Object getAttribute(String name)** 返回名稱為name的屬性值,如果不存在則返回null。 | | 9 | **ServletInputStream getInputStream()** 返回請求的輸入流 | | 10 | **String getAuthType()** 返回認證方案的名稱,用來保護servlet,比如 "BASIC" 或者 "SSL" 或 null 如果 JSP沒設置保護措施 | | 11 | **String getCharacterEncoding()** 返回request的字符編碼集名稱 | | 12 | **String getContentType()** 返回request主體的MIME類型,若未知則返回null | | 13 | **String getContextPath()** 返回request URI中指明的上下文路徑 | | 14 | **String getHeader(String name)** 返回name指定的信息頭 | | 15 | **String getMethod()** 返回此request中的HTTP方法,比如 GET,,POST,或PUT | | 16 | **String getParameter(String name)** 返回此request中name指定的參數,若不存在則返回null | | 17 | **String getPathInfo()** 返回任何額外的與此request URL相關的路徑 | | 18 | **String getProtocol()** 返回此request所使用的協議名和版本 | | 19 | **String getQueryString()** 返回此 request URL包含的查詢字符串 | | 20 | **String getRemoteAddr()** 返回客戶端的IP地址 | | 21 | **String getRemoteHost()** 返回客戶端的完整名稱 | | 22 | **String getRemoteUser()** 返回客戶端通過登錄認證的用戶,若用戶未認證則返回null | | 23 | **String getRequestURI()** 返回request的URI | | 24 | **String getRequestedSessionId()** 返回request指定的session ID | | 25 | **String getServletPath()** 返回所請求的servlet路徑 | | 26 | **String\[\] getParameterValues(String name)** 返回指定名稱的參數的所有值,若不存在則返回null | | 27 | **boolean isSecure()** 返回request是否使用了加密通道,比如HTTPS | | 28 | **int getContentLength()** 返回request主體所包含的字節數,若未知的返回-1 | | 29 | **int getIntHeader(String name)** 返回指定名稱的request信息頭的值 | | 30 | **int 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>JSP教程(cms.yiniuedu.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,將會得到以下結果: ![](https://www.runoob.com/wp-content/uploads/2014/01/jspheadmsg.jpg) 您可以在上面代碼中嘗試HttpServletRequest類的其它方法。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看