Latest web development tutorials

JSPサーバ応答

レスポンスレスポンスは、クライアントに戻し渡すために、主に後処理JSPコンテナの結果です。 あなたは、クライアントに、そのようなクッキー、HTTPヘッダー情報として、状態変数と、送信データによってHTTPレスポンスを設定することができます。

典型的な応答は次のようになります。

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

ステータスラインは、例えば200のようなHTTP / 1.1、ステータスコード、などのHTTPのバージョン情報が含まれ、例えば、OKなどのステータスコードに対応する非常に短いメッセージがあります。

次の表は、レスポンスヘッダHTTP1.1あなたが頻繁に表示されますプログラミングネットワークの最も有用な部分を要約したものです。

レスポンスヘッダ 説明
許可します (など、POSTをGET)サーバがリクエストメソッドをサポートすることを指定します
Cache-Control 応答文書は、治安状況をキャッシュすることができる指定します。 値は、通常ように、官民またはキャッシュなし、とあります。 公開文書をキャッシュできることを意味し、プライベート文書は、単一のユーザー・サービスであり、唯一のプライベートキャッシュを使用することを意味します。 ノーキャッシュは、ドキュメントがキャッシュされないことを意味しません。
接続 永続的なHTTP接続を使用するかどうかをコマンドブラウザ。 近い 指令のブラウザでは、永続的なHTTP接続を使用して、キープアライブ手段を持続的接続を使用していません。
コンテンツの廃棄 ブラウザがディスク上に格納された指定された名前に対応するためにユーザに要求してみましょう
コンテンツのエンコーディング 伝送符号化ルールを指定されたページ
コンテンツ言語 このようなアン、EN-US ,, RUなどとして使用されている言語の記述文書、
コンテンツ長 これは、応答のバイト数を示します。 (キープアライブ)HTTP接続の場合にのみお使いのブラウザでの持続的な有用を使用するには
コンテンツタイプ ドキュメントのMIMEタイプは、使用することを示しています
有効期限 期限切れの指定およびキャッシュから削除された場合
Last-Modifiedの 文書に指定が最後に変更されました。 クライアントは、ドキュメントをキャッシュし、 変更-開始以降の要求に要求ヘッダーを提供することができます
場所 アドレスに応答してステータスコードを持っているすべてを含む300秒、では、ブラウザが自動的に再接続し、新しい文書を検索します
リフレッシュ ブラウザがページ更新を要求する頻度を指定します。
再試行-後 そして、503(サービス利用不可)は、要求が応答を取得する期間をユーザーに伝えるために一緒に使用しました
Set-Cookie 対応するクッキーは、現在のページを示しています

HttpServletResponseのクラス

javax.servlet.http.HttpServletResponseの応答オブジェクトは、クラスのインスタンスです。 サーバがリクエストオブジェクトを作成するように、それは、クライアントの応答を作成します。

応答オブジェクトは、インタフェースのHTTPヘッダー情報を作成するためのプロセスを定義します。 このオブジェクトを使用することにより、開発者はこれに新しいクッキーやタイムスタンプだけでなく、HTTPステータスコードなどを追加することができます。

HttpServletResponseのクラスによって提供されるHTTPレスポンスヘッダのメソッドを設定するために使用される次の表に示します:

SN メソッド 説明
1 文字列のencodeRedirectURL(文字列のURL)

エンコードに使用されるのsendRedirect()URL法について
2 文字列にencodeURL(文字列のURL)

セッションIDを含むURLエンコード、戻り先URL
3 ブールはcontainsHeader(文字列名)

であればそこに指定された応答ヘッダを返します。
4 ブールisCommitted()

応答がクライアントに送信されたかどうかを返します
5 ボイドaddCookie(クッキークッキー)

応答に指定されたCookieを追加します。
6 ボイドaddDateHeader(文字列名、長い日付

レスポンスヘッダーと日付指定した名前を追加します。
7 ボイドのaddHeader(文字列名、文字列値

レスポンスヘッダと値指定した名前を追加します。
8 ボイドaddIntHeader(文字列名、int型の値

指定された名前を持つレスポンスヘッダとint型の値を追加します。
9 flushBufferを無効()

クライアントに書き込まれたキャッシュのいずれかの内容
10 ボイドリセット()

任意のキャッシュをさまざまなステータスコードとレスポンスヘッダを含む任意のデータを、クリア
11 resetBufferを無効()

レスポンスヘッダとステータスコードを含まないクリア基本的なデータ・キャッシュ、
12 無効のsendError(int sc)メソッド

クライアントエラー応答に送信された指定されたステータスコードを使用して、[キャッシュをクリア
13 ボイドのsendError(int型のSC、文字列MSG

指定されたステータスコード、エラーメッセージを使用して、クライアントに応答して送信されます
14 ボイドのsendRedirect(String型の場所)

クライアントに一時的な間接的な応答を送信し、指定されたURLを使用して、
15 ボイドsetBufferSize(int型のサイズ)

応答本体のバッファサイズを設定
16 ボイドのsetCharacterEncoding(String型の文字セット)

UTF-8などのレスポンスコードセット(MIME文字セット)を指定します
17 ボイドsetContentLength(int型のlen)

コンテンツの長さに応じて、HTTPサーブレットを指定し、この方法は、HTTPのContent-Lengthヘッダを設定するために使用しました
18 ボイドsetContentType(String type)メソッドをそのまま

応答がまだ送信されていない場合、次に、応答のコンテンツタイプを設定します
19 ボイドsetDateHeader(文字列名、長い日付

指定した名前で、応答ヘッダーの名前と内容の値を設定
20 ボイドのsetHeader(文字列名、文字列値

指定した名前で、応答ヘッダーの名前と内容の値を設定
21 ボイドsetIntHeader(文字列名、int型の値

指定した名前で、応答ヘッダーの名前と内容の値を設定
22 無効にsetLocale(ロケールLOC)

ロケール設定応答、応答がまだ送信されていない場合、その後
23 ボイドのsetStatus(int sc)メソッド

応答ステータスコードを設定します

HTTPレスポンスヘッダプログラム例

次の例では、デジタル時計をシミュレートするためにsetIntHeader()メソッドとsetRefreshHeader()メソッドを使用しています。

<%@ 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>本教程(w3big.com)</title>
</head>
<body>
<h2>自动刷新实例</h2>
<%
   // 设置每隔5秒自动刷新
   response.setIntHeader("Refresh", 5);
   // 获取当前时间
   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;
   out.println("当前时间: " + CT + "\n");
%>
</body>
</html>

その後、ブラウザを介してアクセスし、上記のコードのmain.jspを保存します。 これは、現在の時刻に5秒ごとに表示されます。

我々は、次のGIFプレゼンテーションチャートを見ることができます:

あなたはまた、私たちはより深い理解を得ることができるようになり、他の方法を使用しようとすると、上記のコードを自分でそれを修正することができます。