黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Servlet教程

Servlet服務(wù)器HTTP響應(yīng)

正如前面的章節(jié)中討論的那樣,當(dāng)一個(gè) Web 服務(wù)器響應(yīng)一個(gè) HTTP 請(qǐng)求時(shí),響應(yīng)通常包括一個(gè)狀態(tài)行、一些響應(yīng)報(bào)頭、一個(gè)空行和文檔。一個(gè)典型的響應(yīng)如下所示:

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
  (Blank Line)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>

狀態(tài)行包括 HTTP 版本(在本例中為 HTTP/1.1)、一個(gè)狀態(tài)碼(在本例中為 200)和一個(gè)對(duì)應(yīng)于狀態(tài)碼的短消息(在本例中為 OK)。

下表總結(jié)了從 Web 服務(wù)器端返回到瀏覽器的最有用的 HTTP 1.1 響應(yīng)報(bào)頭,您會(huì)在 Web 編程中頻繁地使用它們:

頭信息

描述

Allow

這個(gè)頭信息指定服務(wù)器支持的請(qǐng)求方法(GET、POST 等)。

Cache-Control

這個(gè)頭信息指定響應(yīng)文檔在何種情況下可以安全地緩存。可能的值有:public、private 或 no-cache 等。Public 意味著文檔是可緩存,Private 意味著文檔是單個(gè)用戶私用文檔,且只能存儲(chǔ)在私有(非共享)緩存中,no-cache 意味著文檔不應(yīng)被緩存。

Connection

這個(gè)頭信息指示瀏覽器是否使用持久 HTTP 連接。值 close 指示瀏覽器不使用持久 HTTP 連接,值 keep-alive 意味著使用持久連接。

Content-Disposition

這個(gè)頭信息可以讓您請(qǐng)求瀏覽器要求用戶以給定名稱的文件把響應(yīng)保存到磁盤(pán)。

Content-Encoding

在傳輸過(guò)程中,這個(gè)頭信息指定頁(yè)面的編碼方式。

Content-Language

這個(gè)頭信息表示文檔編寫(xiě)所使用的語(yǔ)言。例如,en、en-us、ru 等。

Content-Length

這個(gè)頭信息指示響應(yīng)中的字節(jié)數(shù)。只有當(dāng)瀏覽器使用持久(keep-alive)HTTP 連接時(shí)才需要這些信息。

Content-Type

這個(gè)頭信息提供了響應(yīng)文檔的 MIME(Multipurpose Internet Mail Extension)類型。

Expires

這個(gè)頭信息指定內(nèi)容過(guò)期的時(shí)間,在這之后內(nèi)容不再被緩存。

Last-Modified

這個(gè)頭信息指示文檔的最后修改時(shí)間。然后,客戶端可以緩存文件,并在以后的請(qǐng)求中通過(guò) If-Modified-Since 請(qǐng)求頭信息提供一個(gè)日期。

Location

這個(gè)頭信息應(yīng)被包含在所有的帶有狀態(tài)碼的響應(yīng)中。在 300s 內(nèi),這會(huì)通知瀏覽器文檔的地址。瀏覽器會(huì)自動(dòng)重新連接到這個(gè)位置,并獲取新的文檔。

Refresh

這個(gè)頭信息指定瀏覽器應(yīng)該如何盡快請(qǐng)求更新的頁(yè)面。您可以指定頁(yè)面刷新的秒數(shù)。

Retry-After

這個(gè)頭信息可以與 503(Service Unavailable 服務(wù)不可用)響應(yīng)配合使用,這會(huì)告訴客戶端多久就可以重復(fù)它的請(qǐng)求。

Set-Cookie

這個(gè)頭信息指定一個(gè)與頁(yè)面關(guān)聯(lián)的 cookie。

設(shè)置 HTTP 響應(yīng)報(bào)頭的方法

下面的方法可用于在 Servlet 程序中設(shè)置 HTTP 響應(yīng)報(bào)頭。這些方法通過(guò) HttpServletResponse 對(duì)象可用。

序5

方法 & 描述

1

String encodeRedirectURL(String url)

為 sendRedirect 方法中使用的指定的 URL 進(jìn)行編碼,或者如果編碼不是必需的,則返回 URL 未改變。

2

String encodeURL(String url)

對(duì)包含 session 會(huì)話 ID 的指定 URL 進(jìn)行編碼,或者如果編碼不是必需的,則返回 URL 未改變。

3

boolean containsHeader(String name)

返回一個(gè)布爾值,指示是否已經(jīng)設(shè)置已命名的響應(yīng)報(bào)頭。

4

boolean isCommitted()

返回一個(gè)布爾值,指示響應(yīng)是否已經(jīng)提交。

5

void addCookie(Cookie cookie)

把指定的 cookie 添加到響應(yīng)。

6

void addDateHeader(String name, long date)

添加一個(gè)帶有給定的名稱和日期值的響應(yīng)報(bào)頭。

7

void addHeader(String name, String value)

添加一個(gè)帶有給定的名稱和值的響應(yīng)報(bào)頭。

8

void addIntHeader(String name, int value)

添加一個(gè)帶有給定的名稱和整數(shù)值的響應(yīng)報(bào)頭。

9

void flushBuffer()

強(qiáng)制任何在緩沖區(qū)中的內(nèi)容被寫(xiě)入到客戶端。

10

void reset()

清除緩沖區(qū)中存在的任何數(shù)據(jù),包括狀態(tài)碼和頭。

11

void resetBuffer()

清除響應(yīng)中基礎(chǔ)緩沖區(qū)的內(nèi)容,不清除狀態(tài)碼和頭。

12

void sendError(int sc)

使用指定的狀態(tài)碼發(fā)送錯(cuò)誤響應(yīng)到客戶端,并清除緩沖區(qū)。

13

void sendError(int sc, String msg)

使用指定的狀態(tài)發(fā)送錯(cuò)誤響應(yīng)到客戶端。

14

void sendRedirect(String location)

使用指定的重定向位置 URL 發(fā)送臨時(shí)重定向響應(yīng)到客戶端。

15

void setBufferSize(int size)

為響應(yīng)主體設(shè)置首選的緩沖區(qū)大小。

16

void setCharacterEncoding(String charset)

設(shè)置被發(fā)送到客戶端的響應(yīng)的字符編碼(MIME 字符集)例如,UTF-8。

17

void setContentLength(int len)

設(shè)置在 HTTP Servlet 響應(yīng)中的內(nèi)容主體的長(zhǎng)度,該方法設(shè)置 HTTP Content-Length 頭。

18

void setContentType(String type)

如果響應(yīng)還未被提交,設(shè)置被發(fā)送到客戶端的響應(yīng)的內(nèi)容類型。

19

void setDateHeader(String name, long date)

設(shè)置一個(gè)帶有給定的名稱和日期值的響應(yīng)報(bào)頭。

20

void setHeader(String name, String value)

設(shè)置一個(gè)帶有給定的名稱和值的響應(yīng)報(bào)頭。

21

void setIntHeader(String name, int value)

設(shè)置一個(gè)帶有給定的名稱和整數(shù)值的響應(yīng)報(bào)頭。

22

void setLocale(Locale loc)

如果響應(yīng)還未被提交,設(shè)置響應(yīng)的區(qū)域。

23

void setStatus(int sc)

為該響應(yīng)設(shè)置狀態(tài)碼。

HTTP Header 響應(yīng)實(shí)例

您已經(jīng)在前面的實(shí)例中看到 setContentType() 方法,下面的實(shí)例也使用了同樣的方法,此外,我們會(huì)用 setIntHeader() 方法來(lái)設(shè)置 Refresh 頭。

// 導(dǎo)入必需的 java 庫(kù)
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
 
// 擴(kuò)展 HttpServlet 類
public class Refresh extends HttpServlet {
 
  // 處理 GET 方法請(qǐng)求的方法
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // 設(shè)置刷新自動(dòng)加載時(shí)間為 5 秒
      response.setIntHeader("Refresh", 5);
 
      // 設(shè)置響應(yīng)內(nèi)容類型
      response.setContentType("text/html");
 
      // Get current time
      Calendar calendar = new GregorianCalendar();
      String am_pm;
      int hour = calendar.get(Calendar.HOUR);
      int minute = calendar.get(Calendar.MINUTE);
      int second = calendar.get(Calendar.SECOND);
      if(calendar.get(Calendar.AM_PM) == 0)
        am_pm = "AM";
      else
        am_pm = "PM";
 
      String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
    
      PrintWriter out = response.getWriter();
      String title = "自動(dòng)刷新 Header 設(shè)置";
      String docType =
      "<!doctype html public \"-//bjpowernode//dtd html 4.0 " +       "transitional//en\">\n";
      out.println(docType +
        "<html>\n" +
        "<head><title>" + title + "</title></head>\n"+
        "<body bgcolor=\"#f0f0f0\">\n" +
        "<h1 align=\"center\">" + title + "</h1>\n" +
        "<p>當(dāng)前時(shí)間是:" + CT + "</p>\n");
  }
  // 處理 POST 方法請(qǐng)求的方法
  public void doPost(HttpServletRequest request,
                     HttpServletResponse response)
      throws ServletException, IOException {
     doGet(request, response);
  }
}

現(xiàn)在,調(diào)用上面的 Servlet,每隔 5 秒會(huì)顯示當(dāng)前系統(tǒng)時(shí)間。只要運(yùn)行 Servlet 并稍等片刻,即可看到如下的結(jié)果:

自動(dòng)刷新 Header 設(shè)置
當(dāng)前時(shí)間是:9:44:50 PM

 

全部教程
主站蜘蛛池模板: 蜜月aⅴ国产精品 | 狠狠操狠狠搞 | 欧美成人午夜在线全部免费 | 国内精品小视频 | 免费永久在线观看污污的网站 | 免费黄色大片视频 | 狠狠久久综合伊人不卡 | 日日草天天干 | 欧美91| 伊人久久大香线 | 九九夜夜 | 日韩网站在线 | 波多野结衣50连精喷在线 | 欧美日韩 在线播放 | 老司机午夜精品视频你懂的 | 精品无人区一区二区三区a 精品午夜国产在线观看不卡 | 26uuu欧美视频在线观看 | 一级毛片无毒不卡直接观看 | 涩涩视频在线观看入口 | 亚洲欧美不卡视频 | 日韩中文字幕久久久经典网 | 波多野结衣中文字幕在线 | 欧美性free hd | 日本日批视频 | 亚洲国产情侣一区二区三区 | 青青草国产免费 | 人成在线免费视频 | 在线播放亚洲精品 | 黄 片在线影院 | 亚洲三级免费观看 | 国产成+人+亚洲+欧美+日韩 | 日本黄色小说网 | 久久精品网站免费观看 | 三级三级三级a级全黄公司的 | 一级免费黄色毛片 | 一本大道视频 | 黄色一级网 | 国产91香蕉视频 | 天堂成人在线视频 | 激情性爽三级成人 | 在线视频亚洲 |