<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之旅 廣告
                # Java Servlet HTTP 標頭 > 原文: [http://zetcode.com/articles/javaservlethttpheaders/](http://zetcode.com/articles/javaservlethttpheaders/) 在本教程中,我們討論 HTTP 標頭,并展示如何在 Java Servlet 和 JSP 文件中顯示 HTTP 標頭。 HTTP 標頭字段是超文本傳輸??協議(HTTP)中請求和響應消息的標頭部分的組成部分。 它們定義 HTTP 事務的操作參數。 HTTP 標頭允許客戶端和服務器將附加信息與請求或響應一起傳遞。 它們用于各種任務,例如認證,cookie,緩存,連接管理或內容協商。 例如,`User-Agent`指定用戶 aget(發出請求的客戶端應用,例如瀏覽器),`Date`指定消息生成的日期和時間。 標頭有幾種類型: * 常規標頭 - 適用于請求和響應,但與最終在正文中傳輸的數據無關。 * 請求標頭 - 包含有關要獲取的資源或客戶端本身的更多信息。 * 響應標頭 - 包含有關響應的其他信息,例如響應的位置或服務器本身(名稱和版本等)。 * 實體標頭 - 包含有關實體主體的更多信息,例如其內容長度或 MIME 類型。 ## 使用 Java Servlet 顯示標頭字段 在第一個示例中,我們在 servlet 中顯示 HTTP 標頭。 `ShowHeaders.java` ```java package com.zetcode.web; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(name = "ShowHeaders", urlPatterns = {"/ShowHeaders"}) public class ShowHeaders extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try (PrintWriter out = response.getWriter()) { response.setContentType("text/html"); out.println("<!DOCTYPE html>"); out.println("<html lang=\"en\">"); out.println("<head>"); out.println("<title>HTTP headers</title>"); out.println("<body>"); out.println("<p>Headers</p>"); Enumeration<String> headerNames = request.getHeaderNames(); out.println("<ol>"); while (headerNames.hasMoreElements()) { out.print("<li>"); String headerName = headerNames.nextElement(); out.print(headerName + " = "); String headerValue = request.getHeader(headerName); out.print(headerValue); out.println("</li>"); } out.println("</ol>"); out.println("</body>"); out.println("</html>"); } } } ``` `ShowHeaders` servlet 找出客戶端發送的 HTTP 標頭,并將它們發送回 HTML 文件中。 ```java PrintWriter out = response.getWriter() ``` 我們直接寫到`PrintWriter`。 請注意,雖然可以直接寫,但現代 Java Web 應用使用 Thymeleaf,FreeMarker 或 JSP 之類的模板來創建 HTML 頁面。 ```java response.setContentType("text/html"); ``` 響應的內容類型設置為`text/html`。 ```java Enumeration<String> headerNames = request.getHeaderNames(); ``` 我們使用`getHeaderNames()`方法獲得標題名稱。 它返回字符串的枚舉。 ```java String headerName = headerNames.nextElement(); ``` 我們使用`nextElement()`方法從枚舉中獲取下一個標頭名稱。 ```java String headerValue = request.getHeader(headerName); ``` 使用`getHeader()`,我們獲得標頭值。 ## 在 JSP 文件中顯示標頭字段 在第二個示例中,我們在 JSP 文件中顯示 HTTP 標頭。 我們還使用 JSTL 庫。 `showHeaders.jsp` ```java <%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %> <!DOCTYPE html> <html lang="en"> <head> <title>HTTP headers</title> </head> <body> <p>HTTP headers:</p> <ol> <c:forEach var="nextHeader" items="${header}"> <li><c:out value="${nextHeader.key}" /> = <c:out value="${nextHeader.value}" /></li> </c:forEach> </ol> </body> </html> ``` JSP 文件具有`header`隱式對象,該對象是標頭名稱及其值的映射。 ```java <c:forEach var="nextHeader" items="${header}"> <li><c:out value="${nextHeader.key}" /> = <c:out value="${nextHeader.value}" /></li> </c:forEach> ``` 使用 JSTL 的`forEach`標記,我們遍歷映射并顯示標頭名稱及其值。 在本教程中,我們使用了 HTTP 標頭字段。 您可能也對以下相關教程感興趣: [Java `RequestDispatcher`](/java/requestdispatcher/) , [Java servlet 復選框教程](/articles/javaservletcheckbox/), [Java servlet 圖像教程](/articles/javaservletimage/), [Servlet FreeMarker `JdbcTemplate`教程](/articles/servletfreemarker/) , [Spring Boot 中的服務圖像文件](/articles/springbootserveimage/), [Java 教程](/lang/java/), [jQuery DatePicker教程](/articles/jquerydatepicker/)或 [Stripes 教程](/java/stripes/)。
                  <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>

                              哎呀哎呀视频在线观看