ログイン

vol.04

vol.04
24問 • 2年前
  • William Wan
  • 通報

    問題一覧

  • 1

    サーバーからクライアントへデータを送信する際、そのデータを①のメッセージボディに格納します。 HTTP通信を使用したサーブレットでは、①の情報は、②オブジェクトに格納されています。 つまり、クライアントへデータを送信するためには、①のメッセージボディにデータを書き込む処理をサーブレットクラスに記述する必要があります。

    HTTPレスポンス, HttpServletResponse

  • 2

    プログラミング用語で、①(②)とは「連続したデータの流れ」または「データを送る道」のことです。 この①には、データを読み込む③①(④②)とデータを書き出す⑤①(⑥②)の2種類が存在します。 ①はデータの読み書きを行う対象には無関係な一般的概念です。 データの入出力先の代表的な例として、キーボードやディスプレイ、ディスクなどの⑦があります。 これらの⑦のどれを使うにしても、データ入出力には共通した処理事項があります。 Javaでは、この共通処理部分の機能をクラスとして構築した論理デバイスが①の実体です。

    ストリーム, Stream, 入力, Input, 出力, Output, 物理デバイス

  • 3

    ストリームは101010000100・・・といった①データの流れです。 プログラムでデータを何らかの形式で読み込むときは、①データを扱いたい形式に変換して読み込む必要があります。 データを「文字」として読み込書きする用途は頻繁にあるため、Javaでは、文字/文字列として読み書きする為の②が別途用意されています。

    バイト, クラス

  • 4

    ①⓪(②⑥) データをあるがままに出力する。 例えば基本データ型の値をバイナリ形式で出力する。③⓪ともよばれます。 ④⓪(⑤⑥) 基本的にテキストベースの入出力を行う。 ④⓪でも基本データ型の出力を行うことができるが、その場合も値を文字に変換して出力する。

    ストリーム, バイト, Byte, バイナリ, 文字, Character, Stream

  • 5

    クライアントに送信されるレスポンスは、①、②、③、④から構成されます。 Java EEでは、レスポンスは⑤オブジェクトとして表現されます。 即ち、クライアントへ送信したいデータを⑤オブジェクトに書き込みます。

    ステータスライン, ヘッダー, 空白行, メッセージボディ, HttpServletResponse

  • 6

    メッセージボディへデータを書き込むためには、メッセージボディへの①が必要となります。 つまり、レスポンスのメッセージボディにデータを書き込むためには、以下の手順を踏むこととなります。 手順1. メッセージボディへの②①を取得する 手順2. 作成した②①を通して、③を書き込む

    ストリーム, 出力, データ

  • 7

    メッセージボディへの出力ストリームを取得するメソッドは、①インターフェイスで定義されています。 ② ③() レスポンスのメッセージボディへの文字ストリームであるjava.io.②クラスのオブジェクトを返します。 レスポンスのメッセージボディへ文字を書き込みたい場合にこのメソッドを利用します。 ④ ⑤() レスポンスのメッセージボディへのバイトストリームであるjakarta.servlet.④オブジェクトを返します。 レスポンスのメッセージボディバイナリデータを書き込みたい(ZIPファイルやExcelなどのバイナリファイルを送信したい)場合にこのメソッドを利用します。

    ServletResponse, PrintWriter, getWriter, ServletOutputStream, getOutputStream

  • 8

    ①オブジェクトの参照がresに代入されているとします。 例1 ② out = res.③(); コード「res.③()」によって、文字出力ストリームを取得しています。 ③メソッドの戻り値は、②型で、ストリームへの参照が返されます。 変数outがストリームを表していると考えてください。 つまり、変数outを使用して、レスポンスへデータを書き込みます。 例2 ④ out = res.⑤(); コード「res.⑤」によって、バイナリ出力ストリームを取得しています。 ⑤メソッドの戻り値は、④型で、ストリームへの参照が返されます。 変数outがストリームを表していると考えてください。 つまり、変数outを使用して、レスポンスへデータを書き込みます。

    HttpServletResponse, PrintWriter, getWriter, ServletOutputStream, getOutputStream

  • 9

    出力ストリームを通してデータを書き込むには、 ①への参照.print(書き込みたい②); と記述します。

    出力ストリーム, データ

  • 10

    ①オブジェクトの参照がresに代入されているとします。 例2 ② out = res.③(); out.print("Hello"); out.print("World"); 上記のコードは、④ストリームによって、2つの文字列「Hello」と「World」を書き込んでいます。

    HttpServletResponse, PrintWriter, getWriter, 文字出力

  • 11

    ServletOutputSteamクラスとPrintWriterクラスは、①です。 これらの①の実装は、②が用意しています。 getWriterメソッドとgetOutputStreamメソッドは、②が用意した①の参照を戻り値として返します。 開発者は、動的束縛・多態性のおかげて、これらクラスの③サブクラスが何であるかは、気にせずコードを記述することができます。

    抽象クラス, コンテナ, 具象

  • 12

    ストリームは、利用する際に①(⑤)、利用がおわったら②(⑥)処理が必要する。 ストリームが開きっぱなしだと、③が解消されず、インスタンスが④上に残ったままになります。

    開き, 閉じる, リソース, メモリ, オープン, クローズ

  • 13

    サーブレットの仕様に、「レスポンスオブジェクトのクローズ」という、①メソッドや②メソッドによって作成したストリームのクローズ処理に関する次のような規定があります 「レスポンスが閉じられる時、コンテナはレスポンスバッファに残っているすべてのコンテンツをクライアントへ直ちにフラッシュしなければならない。 サーブレットがリクエストを満たし、レスポンスオブジェクトが閉じられることを示すのは、以下のイベントです。 *サーブレットの③メソッドが終了したとき。 *レスポンスの④メソッドで指定されたコンテンツの量がレスポンスに書き込まれたとき。 *sendErrorメソッドが呼ばれたとき。 *sendRedirectメソッドが呼ばれたとき。」 つまり、コンテナがレスポンスオブジェクトを消去するタイミングが規定されており、開発者はストリームの⑤処理をコンテナに任せていいということです。 したがって、サーブレットのコード内にクローズ処理を記述しなくてもいいということになります。

    getWriter, getOutputStream, service, setContentLength, クローズ

  • 14

    サーブレットを利用して画像ファイルから画像データを取得するには、①クラスを利用します。 画像ファイルは、ファイルパスにより指定しますが、コンテキストパスまでのファイルパスは、②()メソッドで取得されるServletContextオブジェクトの③メソッドにより取得できます。 その後、画像データをレスポンス内に含め、それをクライアントへ送信する場合は④クラスを利用します。 ④オブジェクトは、⑤オブジェクトの参照を通して、⑥のメソッドを呼び出して取得できます。

    FileInputStream, getServletContext, getRealPath, ServletOutputStream, HttpServletResponse, getOutputStream

  • 15

    ①(②)は、Webサイトの内容で利用する一連の設定のことです。 JavaによるWebアプリケーション開発で頻繁に使用する①として、MIMEタイプと文字セット(Character Set)があります。

    コンテンツタイプ, Content Type

  • 16

    ①(②)は、拡張子とファイルのデータ型(データの種類)を関連付ける規格です。 ①は「メインタイプ名/サブタイプ名」の形式で構成されます。 例えば、HTMLファイルとして読み取る/読み込ませたいデータの①は「③/④」と記述します。

    MIMEタイプ, MIME type, text, html

  • 17

    主なMIMEタイプが以下です。 テキスト ①/④ HTML文書 ①/⑤ CSS ①/⑥ JPEG画像 ②/⑦ PDF文書 ③/⑧

    text, image, application, plain, html, css, jpeg, pdf

  • 18

    サーバーに文字列データを送信する場合、またはその逆のクライアントに文字列データを送信する場合、文字列データは①のビット列に変換されて、送信されます。 文字列からビット列へ変換することを②(③)といいます。 そのビット列を受け取ったサーバーは、そのビット列を解釈し、文字列を取得します。 ビット列から文字列への変換を④(⑤)といいます。 エンコード・デコードには、文字列コードが使用されています。

    2進数, エンコード, Encode, デコード, Decode

  • 19

    エンコードとデコードの際に使用する文字コードが一致していなければ、①が起こります。 特に②文字を使用する際には注意しなければいけません。

    文字化け, 全角

  • 20

    ① 日本語Windows環境で利用される文字コードです。 ② Unicodeを元にした文字コードの1つで、国際標準として推奨されています。

    Shift_JIS, UTF-8

  • 21

    Webアプリケーションを作成している際に起きるトラブルとして多いのが①です。 特にデータの入出力、メール送信などの処理では①が発生しやすいです。 ①が起こる原因としては、Webアプリケーションの構成要素である②、③、④などの間で入出力の⑤が正しく設定されていないことがあげられます。

    文字化け, WEBブラウザ, WEBサーバー, データベースサーバー, 文字コード

  • 22

    Java EEでは、レスポンスのコンテンツタイプを設定するメソッドが用意されています。 コンテンツタイプの設定は、①インターフェイスで定義されている②メソッドで行います。 ②メソッドは、doXxxxメソッドの第1引数に渡される③オブジェクトに対して②メソッドを呼び出します。

    ServletResponse, setContentType, HttpServletResponse

  • 23

    メソッドの問題 ① ②(③ type) - クライアントへのレスポンスのコンテンツタイプを設定します。引数にコンテンツタイプを指定します。 ① ④(③ type) - クライアントへのレスポンスの文字コードを設定します。引数に文字コードを指定します。 上記2つのメソッドを利用する際、レスポンスへの④を取得する前に設定しなければ正しく反映されないことに注意してください。

    void, setContentType, String, 出力ストリーム

  • 24

    MIMEタイプにHTMLを指定 res.①("②/③"); MIMEタイプに単純なテキストを指定 res.①("②/④"); MIMEタイプにHTML、文字コードにUTF-8を指定 res.①("②/③"); res.⑤("⑥"); MIMEタイプにHTML、文字セットにWindows-31Jを指定 res.①("②/③; ⑦");

    setContentType, text, html, plain, setCharacterEncoding, UTF-8, charset=Windows-31J

  • テスト問題

    テスト問題

    William Wan · 23問 · 2年前

    テスト問題

    テスト問題

    23問 • 2年前
    William Wan

    算数問題

    算数問題

    William Wan · 10問 · 2年前

    算数問題

    算数問題

    10問 • 2年前
    William Wan

    English

    English

    William Wan · 32問 · 2年前

    English

    English

    32問 • 2年前
    William Wan

    漢字

    漢字

    William Wan · 23問 · 2年前

    漢字

    漢字

    23問 • 2年前
    William Wan

    クイズ

    クイズ

    William Wan · 9問 · 2年前

    クイズ

    クイズ

    9問 • 2年前
    William Wan

    第1章

    第1章

    William Wan · 9問 · 2年前

    第1章

    第1章

    9問 • 2年前
    William Wan

    第2章

    第2章

    William Wan · 5問 · 2年前

    第2章

    第2章

    5問 • 2年前
    William Wan

    vol.1

    vol.1

    William Wan · 18問 · 2年前

    vol.1

    vol.1

    18問 • 2年前
    William Wan

    vol.01

    vol.01

    William Wan · 18問 · 2年前

    vol.01

    vol.01

    18問 • 2年前
    William Wan

    vol.01

    vol.01

    William Wan · 35問 · 2年前

    vol.01

    vol.01

    35問 • 2年前
    William Wan

    Vocarb

    Vocarb

    William Wan · 8問 · 2年前

    Vocarb

    Vocarb

    8問 • 2年前
    William Wan

    vol.01

    vol.01

    William Wan · 37問 · 2年前

    vol.01

    vol.01

    37問 • 2年前
    William Wan

    Interface

    Interface

    William Wan · 14問 · 2年前

    Interface

    Interface

    14問 • 2年前
    William Wan

    vol.02

    vol.02

    William Wan · 15問 · 2年前

    vol.02

    vol.02

    15問 • 2年前
    William Wan

    vol.01 記述編

    vol.01 記述編

    William Wan · 23問 · 2年前

    vol.01 記述編

    vol.01 記述編

    23問 • 2年前
    William Wan

    vol.02

    vol.02

    William Wan · 12問 · 2年前

    vol.02

    vol.02

    12問 • 2年前
    William Wan

    vol.02 用語

    vol.02 用語

    William Wan · 16問 · 2年前

    vol.02 用語

    vol.02 用語

    16問 • 2年前
    William Wan

    10章

    10章

    William Wan · 5問 · 2年前

    10章

    10章

    5問 • 2年前
    William Wan

    vol.03

    vol.03

    William Wan · 48問 · 2年前

    vol.03

    vol.03

    48問 • 2年前
    William Wan

    vol.02

    vol.02

    William Wan · 50問 · 2年前

    vol.02

    vol.02

    50問 • 2年前
    William Wan

    vol.03

    vol.03

    William Wan · 31問 · 2年前

    vol.03

    vol.03

    31問 • 2年前
    William Wan

    演算問題

    演算問題

    William Wan · 61問 · 2年前

    演算問題

    演算問題

    61問 • 2年前
    William Wan

    用語問題

    用語問題

    William Wan · 46問 · 2年前

    用語問題

    用語問題

    46問 • 2年前
    William Wan

    vol.03

    vol.03

    William Wan · 20問 · 2年前

    vol.03

    vol.03

    20問 • 2年前
    William Wan

    vol.05

    vol.05

    William Wan · 21問 · 2年前

    vol.05

    vol.05

    21問 • 2年前
    William Wan

    vol.01

    vol.01

    William Wan · 26問 · 2年前

    vol.01

    vol.01

    26問 • 2年前
    William Wan

    vol.03

    vol.03

    William Wan · 27問 · 2年前

    vol.03

    vol.03

    27問 • 2年前
    William Wan

    ミニドリル

    ミニドリル

    William Wan · 9問 · 2年前

    ミニドリル

    ミニドリル

    9問 • 2年前
    William Wan

    vol.06

    vol.06

    William Wan · 9問 · 2年前

    vol.06

    vol.06

    9問 • 2年前
    William Wan

    vol.07

    vol.07

    William Wan · 7問 · 2年前

    vol.07

    vol.07

    7問 • 2年前
    William Wan

    期末テスト向け

    期末テスト向け

    William Wan · 12問 · 1年前

    期末テスト向け

    期末テスト向け

    12問 • 1年前
    William Wan

    先生からの練習問題

    先生からの練習問題

    William Wan · 8問 · 1年前

    先生からの練習問題

    先生からの練習問題

    8問 • 1年前
    William Wan

    問題一覧

  • 1

    サーバーからクライアントへデータを送信する際、そのデータを①のメッセージボディに格納します。 HTTP通信を使用したサーブレットでは、①の情報は、②オブジェクトに格納されています。 つまり、クライアントへデータを送信するためには、①のメッセージボディにデータを書き込む処理をサーブレットクラスに記述する必要があります。

    HTTPレスポンス, HttpServletResponse

  • 2

    プログラミング用語で、①(②)とは「連続したデータの流れ」または「データを送る道」のことです。 この①には、データを読み込む③①(④②)とデータを書き出す⑤①(⑥②)の2種類が存在します。 ①はデータの読み書きを行う対象には無関係な一般的概念です。 データの入出力先の代表的な例として、キーボードやディスプレイ、ディスクなどの⑦があります。 これらの⑦のどれを使うにしても、データ入出力には共通した処理事項があります。 Javaでは、この共通処理部分の機能をクラスとして構築した論理デバイスが①の実体です。

    ストリーム, Stream, 入力, Input, 出力, Output, 物理デバイス

  • 3

    ストリームは101010000100・・・といった①データの流れです。 プログラムでデータを何らかの形式で読み込むときは、①データを扱いたい形式に変換して読み込む必要があります。 データを「文字」として読み込書きする用途は頻繁にあるため、Javaでは、文字/文字列として読み書きする為の②が別途用意されています。

    バイト, クラス

  • 4

    ①⓪(②⑥) データをあるがままに出力する。 例えば基本データ型の値をバイナリ形式で出力する。③⓪ともよばれます。 ④⓪(⑤⑥) 基本的にテキストベースの入出力を行う。 ④⓪でも基本データ型の出力を行うことができるが、その場合も値を文字に変換して出力する。

    ストリーム, バイト, Byte, バイナリ, 文字, Character, Stream

  • 5

    クライアントに送信されるレスポンスは、①、②、③、④から構成されます。 Java EEでは、レスポンスは⑤オブジェクトとして表現されます。 即ち、クライアントへ送信したいデータを⑤オブジェクトに書き込みます。

    ステータスライン, ヘッダー, 空白行, メッセージボディ, HttpServletResponse

  • 6

    メッセージボディへデータを書き込むためには、メッセージボディへの①が必要となります。 つまり、レスポンスのメッセージボディにデータを書き込むためには、以下の手順を踏むこととなります。 手順1. メッセージボディへの②①を取得する 手順2. 作成した②①を通して、③を書き込む

    ストリーム, 出力, データ

  • 7

    メッセージボディへの出力ストリームを取得するメソッドは、①インターフェイスで定義されています。 ② ③() レスポンスのメッセージボディへの文字ストリームであるjava.io.②クラスのオブジェクトを返します。 レスポンスのメッセージボディへ文字を書き込みたい場合にこのメソッドを利用します。 ④ ⑤() レスポンスのメッセージボディへのバイトストリームであるjakarta.servlet.④オブジェクトを返します。 レスポンスのメッセージボディバイナリデータを書き込みたい(ZIPファイルやExcelなどのバイナリファイルを送信したい)場合にこのメソッドを利用します。

    ServletResponse, PrintWriter, getWriter, ServletOutputStream, getOutputStream

  • 8

    ①オブジェクトの参照がresに代入されているとします。 例1 ② out = res.③(); コード「res.③()」によって、文字出力ストリームを取得しています。 ③メソッドの戻り値は、②型で、ストリームへの参照が返されます。 変数outがストリームを表していると考えてください。 つまり、変数outを使用して、レスポンスへデータを書き込みます。 例2 ④ out = res.⑤(); コード「res.⑤」によって、バイナリ出力ストリームを取得しています。 ⑤メソッドの戻り値は、④型で、ストリームへの参照が返されます。 変数outがストリームを表していると考えてください。 つまり、変数outを使用して、レスポンスへデータを書き込みます。

    HttpServletResponse, PrintWriter, getWriter, ServletOutputStream, getOutputStream

  • 9

    出力ストリームを通してデータを書き込むには、 ①への参照.print(書き込みたい②); と記述します。

    出力ストリーム, データ

  • 10

    ①オブジェクトの参照がresに代入されているとします。 例2 ② out = res.③(); out.print("Hello"); out.print("World"); 上記のコードは、④ストリームによって、2つの文字列「Hello」と「World」を書き込んでいます。

    HttpServletResponse, PrintWriter, getWriter, 文字出力

  • 11

    ServletOutputSteamクラスとPrintWriterクラスは、①です。 これらの①の実装は、②が用意しています。 getWriterメソッドとgetOutputStreamメソッドは、②が用意した①の参照を戻り値として返します。 開発者は、動的束縛・多態性のおかげて、これらクラスの③サブクラスが何であるかは、気にせずコードを記述することができます。

    抽象クラス, コンテナ, 具象

  • 12

    ストリームは、利用する際に①(⑤)、利用がおわったら②(⑥)処理が必要する。 ストリームが開きっぱなしだと、③が解消されず、インスタンスが④上に残ったままになります。

    開き, 閉じる, リソース, メモリ, オープン, クローズ

  • 13

    サーブレットの仕様に、「レスポンスオブジェクトのクローズ」という、①メソッドや②メソッドによって作成したストリームのクローズ処理に関する次のような規定があります 「レスポンスが閉じられる時、コンテナはレスポンスバッファに残っているすべてのコンテンツをクライアントへ直ちにフラッシュしなければならない。 サーブレットがリクエストを満たし、レスポンスオブジェクトが閉じられることを示すのは、以下のイベントです。 *サーブレットの③メソッドが終了したとき。 *レスポンスの④メソッドで指定されたコンテンツの量がレスポンスに書き込まれたとき。 *sendErrorメソッドが呼ばれたとき。 *sendRedirectメソッドが呼ばれたとき。」 つまり、コンテナがレスポンスオブジェクトを消去するタイミングが規定されており、開発者はストリームの⑤処理をコンテナに任せていいということです。 したがって、サーブレットのコード内にクローズ処理を記述しなくてもいいということになります。

    getWriter, getOutputStream, service, setContentLength, クローズ

  • 14

    サーブレットを利用して画像ファイルから画像データを取得するには、①クラスを利用します。 画像ファイルは、ファイルパスにより指定しますが、コンテキストパスまでのファイルパスは、②()メソッドで取得されるServletContextオブジェクトの③メソッドにより取得できます。 その後、画像データをレスポンス内に含め、それをクライアントへ送信する場合は④クラスを利用します。 ④オブジェクトは、⑤オブジェクトの参照を通して、⑥のメソッドを呼び出して取得できます。

    FileInputStream, getServletContext, getRealPath, ServletOutputStream, HttpServletResponse, getOutputStream

  • 15

    ①(②)は、Webサイトの内容で利用する一連の設定のことです。 JavaによるWebアプリケーション開発で頻繁に使用する①として、MIMEタイプと文字セット(Character Set)があります。

    コンテンツタイプ, Content Type

  • 16

    ①(②)は、拡張子とファイルのデータ型(データの種類)を関連付ける規格です。 ①は「メインタイプ名/サブタイプ名」の形式で構成されます。 例えば、HTMLファイルとして読み取る/読み込ませたいデータの①は「③/④」と記述します。

    MIMEタイプ, MIME type, text, html

  • 17

    主なMIMEタイプが以下です。 テキスト ①/④ HTML文書 ①/⑤ CSS ①/⑥ JPEG画像 ②/⑦ PDF文書 ③/⑧

    text, image, application, plain, html, css, jpeg, pdf

  • 18

    サーバーに文字列データを送信する場合、またはその逆のクライアントに文字列データを送信する場合、文字列データは①のビット列に変換されて、送信されます。 文字列からビット列へ変換することを②(③)といいます。 そのビット列を受け取ったサーバーは、そのビット列を解釈し、文字列を取得します。 ビット列から文字列への変換を④(⑤)といいます。 エンコード・デコードには、文字列コードが使用されています。

    2進数, エンコード, Encode, デコード, Decode

  • 19

    エンコードとデコードの際に使用する文字コードが一致していなければ、①が起こります。 特に②文字を使用する際には注意しなければいけません。

    文字化け, 全角

  • 20

    ① 日本語Windows環境で利用される文字コードです。 ② Unicodeを元にした文字コードの1つで、国際標準として推奨されています。

    Shift_JIS, UTF-8

  • 21

    Webアプリケーションを作成している際に起きるトラブルとして多いのが①です。 特にデータの入出力、メール送信などの処理では①が発生しやすいです。 ①が起こる原因としては、Webアプリケーションの構成要素である②、③、④などの間で入出力の⑤が正しく設定されていないことがあげられます。

    文字化け, WEBブラウザ, WEBサーバー, データベースサーバー, 文字コード

  • 22

    Java EEでは、レスポンスのコンテンツタイプを設定するメソッドが用意されています。 コンテンツタイプの設定は、①インターフェイスで定義されている②メソッドで行います。 ②メソッドは、doXxxxメソッドの第1引数に渡される③オブジェクトに対して②メソッドを呼び出します。

    ServletResponse, setContentType, HttpServletResponse

  • 23

    メソッドの問題 ① ②(③ type) - クライアントへのレスポンスのコンテンツタイプを設定します。引数にコンテンツタイプを指定します。 ① ④(③ type) - クライアントへのレスポンスの文字コードを設定します。引数に文字コードを指定します。 上記2つのメソッドを利用する際、レスポンスへの④を取得する前に設定しなければ正しく反映されないことに注意してください。

    void, setContentType, String, 出力ストリーム

  • 24

    MIMEタイプにHTMLを指定 res.①("②/③"); MIMEタイプに単純なテキストを指定 res.①("②/④"); MIMEタイプにHTML、文字コードにUTF-8を指定 res.①("②/③"); res.⑤("⑥"); MIMEタイプにHTML、文字セットにWindows-31Jを指定 res.①("②/③; ⑦");

    setContentType, text, html, plain, setCharacterEncoding, UTF-8, charset=Windows-31J