問題一覧
1
①-サーブレットの処理中に問題が起こった時に、サーブレットがスローすることができある、一般的な例外を定義します。
ServletException
2
Servletインターフェースには、5つの抽象メソッドが定義されています。 jakarta.servlet.Servletインターフェースのメソッドをすべて選択してくだい
void init, void service(ServletRequest req, ServletResponse res), void destroy(), String getServletInfo(), ServletConfig, getServletConfig()
3
HttpServletクラスのサブクラス内でオーバーライドするdoXxxxメソッドの引数の型は、①と②です。 コンテナは、リクエストを受け取ると、リクエスト処理を行う③を生成します。 ③は、受け取ったHTTPリクエストのヘッダーやパラメータなどの情報をカプセル化した①オブジェクトを生成し、レスポンス情報を書き込む②オブジェクトを生成します。 その後、③は④メソッドを呼び出します。
HttpServletRequest, HttpServletResponse, スレッド, service
4
問題
D
5
TomcatなどのJava EEのアプリケーションサーバーには、個々のアプリケーションサーバーがサポートするサーブレットのバージョンに対応する①が付随しています。 その①は、②に含まれています。 サーブレットAPIのインターフェースの実装クラスが②に含まれているため、サーブレットをコンパイルする際には、サーブレットAPI、すなわち②へのクラスパスを通す必要があります。
ライブラリ, servlet-api.jar
6
問題
D
7
HTTP通信に特化したクラス・インターフェースは、①パッケージに属します。 パッケージ名に②が含まれており、開発者が利用し易いように命名されています。
jakarta.servlet.http, http
8
HTTPメソッドに対応するHtppServletクラスのメソッド HTTP > HttpServletメソッド GET > ① POST > ② HEAD > ③ PUT > ④ DELETE > ⑤ OPTIONS > ⑥ TRACE > ⑦
doGet, doPost, doHead, doPut, doDelete, doOptions, doTrace
9
Servletインターフェースを実装した抽象クラス①では、serviceメソッド以外のメソッドは②されています。
GenericServlet, オーバーライド
10
①-抽象クラス。抽象クラスGenericServletにHTTPを利用する機能を追加したクラスです。 サーブレットが対応するクライアントは、その殆どがブラウザであり、HTTPが使用されているという関係から、通常は、①クラスを継承してサーブレットクラスを作成します。
HttpServlet
11
サーブレットは、コンテナによってインスタンス化され、最終的には破棄されます。 これをサーブレットの①(②)と言います。 Jakarta.servlet.Servletインターフェースで定義されているinit, service, destroyメソッドは、サーブレットのインスタンスの生成から消滅までの間にコンテナから呼び出しを受けるメソッドです。 これらメソッドを③(④)と呼びます。 サーブレットクラスには、コンストラクタの定義も可能ですが、コンテナは引数の内コンストラクタのみを呼び出します。
ライフサイクル, life cycle, ライフサイクルメソッド, life cycle method
12
Java SEと同様に、Java EEにはバージョンがあります。 Java EEのバージョンによって、①や②のバージョンも異なります。 一般に、③には、使用できるJava EEのバージョンに制約がありますので、③を構築するときには、気を付けてください。 今勉強しているサーバーバージョン Tomcat ④
サーブレット, JSP, アプリケーションサーバー, 10.1.x
13
HttpServletRequestオブジェクトは、①の情報を保持しています。 HttpServletResponseオブジェクトは、②の情報を保持しています。
リクエスト, レスポンス
14
パッケージの問題です。 ①-このパッケージに属するクラスおよびインターフェースは、サーブレットクラスとサーブレットコンテナから提供された実行時環境との間の規約を記述・定義します。 ②-このパッケージに属するクラスおよびインターフェースは、HTTPプロトコル下で実行されるサーブレットクラスとサーブレットコンテナから提供された実行環境との間の規約を、記述、定義します。
jakarta.servlet, jakarta.servlet.http
15
コンテナがリクエストを受け取った時、リクエスト対象のサーブレットインスタンスが存在しない場合は、①>②の順にメソッドが処理され、既にインスタンスが存在している場合は②メソッドのみが処理されます。
init, service
16
Jakarta EE(旧JAVA EE) 仕様 APIついての問題です。 ①-ServletRequestインターフェースを拡張して、HTTPサーブレット用の要求情報を提供します。 ②-応答の送信時にHTTP固有の機能を提供するためにServletResponseインターフェイスを拡張します。 ③-Webサイトに適したHTTPサーブレットを作成するために、サブクラスかを前提とする抽象クラスを提供します。
HttpServletRequest, HttpServletResponse, HttpServlet
17
HTTP通信を利用したサーブレットを作成する際、継承するべきクラスを1つ選択してください。
HttpServlet
18
HttpServletクラスには①種のリクエストメソッドに対応したメソッドが用意されており、開発者は、任意に②して、リクエストに応じた処理を記述します。
7, オーバーライド
19
doXxxxメソッドは、引数を2つ持ちます。 引数の①インターフェースと②インターフェースについて解説します。 jakarta.servlet.①インターフェース HTTPリクエストの解析を行うために、ServletRequestインターフェースを継承したサブインターフェースです。 このインターフェースの実装クラスのインスタンスにはHTTPリクエストの情報がカプセル化されています。 jakarta.servlet.②インターフェース リクエスト処理におけるHTTP固有の処理を行う機能をServletResponseインターフェースに追加したサブインターフェースである。 HTTPレスポンスの情報がカプセル化されています。
HttpServletRequest, HttpServletResponse
20
リクエストからレスポンスまでの仕組みついての問題です。
コンテナがリクエストを受け取る, リクエスト処理を統括するスレッドを生成, HTTPリクエストの情報をHttpServletRequestオブジェクトにカプセル化, レスポンス情報をカプセル化したHttpServletResponseオブジェクトを生成, リクエスト対象のリソースであるサーブレットのインスタンスが存在しない場合は、ロードしてインスタンスを生成, スレッドがserviceメソッドを呼び出す。このとき、引数には③と④で生成されたインスタンスの参照が渡される。, serviceメソッドは、リクエストメソッドの種類を判別して、対応するdoXxxxメソッドを呼び出す。このとき、doXxxxメソッドの引数には⑥で渡された参照がそのまま渡される。, doXxxxメソッドの処理の結果はHTTPレスポンスとしてクライアントへ送信される。
21
サーバー側でWebアプリケーションを動作させるためには、実行環境が必要です。この実行環境のことを①と呼びます。 サーブレットはJavaの②として作成され、①によってインスタンス化されます。 ①はクラスのインスタンス化を行うプログラムで、サーバーが受け取ったリクエストをサーブレットへ渡すなどの役割を担います。 更に、サーブレット①は一度生成したインスタンスをそのまま保持し続ける為、初回アクセス以降は、初回よりも早いレスポンスが期待できます。
コンテナ, クラス
22
GenericServletクラスの抽象サブクラスHttpServletでは、①メソッドは実装済みです。 HttpServlet#①メソッドは、クライアントからのリクエストに対して1回呼び出されます。 レスポンス処理の中核となるメソッドです。このメソッドは、コンテナによって呼び出されます。 ①メソッドは、リクエストラインのHTTPメソッドの種類に応じて、対応するdoXxxxメソッドを呼び出します。
service
23
サーブレットAPIインターフェースの実装クラス群が格納されているファイルを1つ選択してください。
servlet-api.jar
24
問題
service
25
リクエストのHTTPメソッドに応じて、対応するdoXxxxメソッドへリクエストを①します。 ①(②)とは、リソースが受け取ったリクエストを、別のリソースへ転送する処理のことです。
ディスパッチ, dispatch
26
Java EEは、Webアプリケーションを実現する包括的な仕様です。 Java EEの仕様には、①と②などの仕様を含みます。 ①は、アプリケーションサーバー上で動作するJavaプログラムです。 ①は次の特徴があります。 *動的な処理が可能。 *Webを対象。 *アプリケーションサーバー上で動作する。 *Javaの③として作成する。
サーブレット, JSP, クラス
27
①#doXxxxメソッドは、serviceメソッドからリクエストを受け取り、処理を行います。 リクエストメソッドごとに用意されている7つのdoXxxxメソッドのメソッド名以外は全て同一です。 以下は、doXxxxメソッドの定義です。 protected void doXxxx(② req, ③ res) throws ④, ⑤
HttpServlet, HttpServletRequest, HttpServletResponse, ServletException, IOException
28
ServLetインターフェースが属しているパッケージを1つ選択してください。
jakarta.servlet
29
doXxxxメソッドは2つの例外①と②をスローします。 この2つの例外について解説します。 ② リクエスト処理中に問題が発生し、処理を継続できない場合にスローされる例外です。 ① リクエスト処理中に入出力エラーが発生した場合にスローされる例外です。
IOException, ServletException
30
HttpServletRequestオブジェクトとHttpServletResponseオブジェクトは、①によって生成されます。
コンテナ
31
Http通信を利用したサーブレットクラスは、①クラス(抽象クラス)のサブクラスとして作成します。
HttpServlet