JavaサーブレットでResponseオブジェクトを使用する方法
サーブレット レスポンス
ServletResponse
このインターフェイスは、HTTP 応答情報を設定および取得するための一連のメソッドを提供します。 ServletResponse
インスタンスは HTTP 応答を表し、この応答には HTML およびその他のコンテンツと、HTTP ステータス コードやヘッダー情報などのステータス情報を含めることができます。
応答本文
ServletResponse
インターフェイスを使用すると、応答本文をクライアントに簡単に送信できます。応答本文は HTTP 応答の主要なコンテンツであり、HTML、CSS、JavaScript、テキスト、またはその他のデータ型を使用できます。一般的に使用されるメソッドの一部を次に示します。
void setContentType(String type)
: 応答本文のタイプを設定します。たとえば、HTML コンテンツを返したい場合は、type
の値としてtext/html
を使用できます。void setCharacterEncoding(String encoding)
: レスポンスボディの文字エンコーディングを設定します。たとえば、UTF-8 でエンコードされた HTML コンテンツを返したい場合は、encoding
の値としてUTF-8
を使用できます。PrintWriter getWriter()
: 文字データをクライアントに送信するためのPrintWriter
インスタンスを取得します。ServletOutputStream getOutputStream()
: クライアントにバイト データを送信するためのServletOutputStream
インスタンスを取得します。
HTML コンテンツを含む応答をクライアントに送信するサンプル コードを次に示します。
@WebServlet("/example") public class ExampleServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Example Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h2>Hello, world!</h2>"); out.println("</body>"); out.println("</html>"); } }
上記のコードでは、最初に response.setContentType を使用します。 ("text/html")
メソッドは、応答本文のタイプを HTML に設定します。次に、response.setCharacterEncoding("UTF-8")
メソッドを使用して、応答本文の文字エンコーディングを UTF-8 に設定します。次に、response.getWriter()
メソッドを使用して PrintWriter
インスタンスを取得し、次に out.println()
メソッドを使用して HTML コンテンツを送信します。クライアント。
応答ヘッダー
HTTP 応答には、応答本文に加えて、応答ヘッダー情報などのメタデータも含めることができます。応答ヘッダー情報は、応答本体タイプ、文字エンコーディング、有効期限など、応答に関する追加情報を提供します。 ServletResponse
インターフェイスを使用すると、応答ヘッダー情報を簡単に設定および取得することもできます。一般的に使用されるメソッドを次に示します。
void setHeader(String name, String value)
: 応答ヘッダー情報を設定します。たとえば、Content-Disposition
ヘッダー情報を設定する場合は、Content-Disposition
をname
、attachment の値として使用できます。 filename="example.txt"
をvalue
の値として使用します。void addHeader(String name, String value)
: 応答ヘッダー情報を追加します。たとえば、Cache-Control
ヘッダーを追加する場合は、Cache-Control
をname
およびno-cache の値として使用できます。
としてvalue
の値。void setIntHeader(String name, int value)
: 応答ヘッダー情報を設定します。値は整数です。たとえば、Content-Length
ヘッダーを設定する場合は、Content-Length
をname
の値として使用し、ファイル サイズを ## として使用できます。 #value値。
void addIntHeader(String name, int value)
: 応答ヘッダー情報を追加します。値は整数です。たとえば、
Expiresヘッダーを追加する場合は、
Expiresを
nameの値として使用し、タイムスタンプを
value の値として使用できます。。
String getHeader(String name)
: 指定した名前のレスポンスヘッダ情報を取得します。たとえば、
Content-Typeヘッダー情報を取得する場合は、
Content-Typeを
nameの値として使用できます。
Collection
getHeaders(String name) : 指定された名前のすべての応答ヘッダー情報を取得します。たとえば、
Set-Cookieヘッダーを取得したい場合は、
nameの値として
Set-Cookieを使用できます。
int getIntHeader(String name)
: 指定された名前の整数の応答ヘッダー情報を取得します。たとえば、
Content-Lengthヘッダー情報を取得する場合は、
Content-Lengthを
nameの値として使用できます。
ServletResponse インターフェイスを使用すると、応答ステータス コードを設定することもできます。一般的に使用されるステータス コードの一部を次に示します。
200
: リクエストが成功し、サーバーがリクエストされたデータを返したことを示します。
302
: 要求されたリソースが新しい場所に移動され、新しい場所が応答ヘッダー情報で返されたことを示します。
404
: 要求されたリソースが存在しないことを示します。
#500
: サーバーがリクエストを処理中にエラーが発生したことを示します。
设置响应状态码的方法如下:
void setStatus(int sc)
:设置响应状态码。例如,如果要设置状态码为 200
,则可以使用 setStatus(200)
。
示例代码
下面是一个示例代码,该代码会向客户端发送一个包含 HTML 内容的响应,并设置响应头信息和状态码:
@WebServlet("/example") public class ExampleServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); response.setStatus(HttpServletResponse.SC_OK); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Example Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h2>Hello, world!</h2>"); out.println("</body>"); out.println("</html>"); } }
在上面的代码中,我们使用 HttpServletResponse.SC_OK
设置响应状态码为 200
。然后,我们使用 response.setHeader("Cache-Control", "no-cache")
方法设置 Cache-Control
头信息为 no-cache
。最后,我们使用 out.println()
方法向客户端发送 HTML 内容。
以上がJavaサーブレットでResponseオブジェクトを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Java のアームストロング番号に関するガイド。ここでは、Java でのアームストロング数の概要とコードの一部について説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです
