ホームページ  >  記事  >  Java  >  サーブレットに関する面接の質問に答える方法

サーブレットに関する面接の質問に答える方法

(*-*)浩
(*-*)浩オリジナル
2019-05-17 14:19:312818ブラウズ

面接官によって重視する方向性は異なりますが、サーブレットについて質問すると、次のような内容が聞かれる可能性が高いので参考にしてください。

サーブレットに関する面接の質問に答える方法

1. サーブレットのライフ サイクル

初期化: Web コンテナはサーブレットをロードし、init() メソッドを呼び出します。

リクエストの処理: service() メソッドを許可します。service() は、リクエストに対応する doXXX メソッド (doGet または doPost) を自動的に実行します。

破棄: サービスの終了後、Web コンテナはサーブレットのdistory() メソッドを使用してサーブレットを破棄します

2. JSP とサーブレットの違いは何ですか。

jsp は本質的にはサーブレットですが、この 2 つは異なる方法で作成されます。サーブレットは Java プログラム コードで構成され、プロセス制御とトランザクション処理に使用されますが、jsp は html タグと jsp タグで構成されます、動的な Web ページを簡単に作成できます。 JSP とサーブレットには主に 2 つの違いがあります。 コンパイル: JSP を変更すると、コンパイルなしですぐに効果を確認できますが、サーブレットにはコンパイルが必要です。変換: jsp は動的 Web 開発テクノロジであり、サーバー側で実行されるスクリプト言語です。一方、サーブレットは Web サーバー プログラミング テクノロジであるため、jsp は実行時にサーブレットに変換されます。

3. get と post の違いは何ですか?

get パラメータは URL を通じて渡され、post はリクエスト本文に配置されます。

get リクエスト パラメータには長さの制限があります。パラメータが URL で公開されるため、post は

get ほど安全ではありません。

Get リクエストは URL エンコードのみ可能です。 Post は複数のエンコーディングをサポートしています。

Get リクエスト パラメーターは閲覧履歴に完全に保持されますが、post は保持されません。

Get と post は本質的に tcp リンクであり、違いはありません。ただし、HTTP 規制とブラウザ/サーバーの制限により、アプリケーション プロセスにはいくつかの違いがあります。

get は 1 つの TCP データ パケットを生成し、post は 2 つの TCP データ パケットを生成します。

4. doGet メソッドと doPost メソッドの 2 つのパラメータは何ですか?

HttpServletRequest: リクエストに関連する情報をカプセル化します

HttpServletResponse:応答 関連情報

5. jsp の組み込みオブジェクトとは何ですか?

request: クライアントによって要求された情報が含まれます

response:サーバーからクライアントに返される情報が含まれます。 応答情報

session: リクエストに関連するセッション期間

pageContext: Web ページのプロパティの管理

application: サーバー起動の作成、サーバーのシャットダウン停止、複数のアプリケーションの情報の保存

out: クライアントにデータを送信

config: サーブレットのアーキテクチャ コンポーネント

page: Web ページを指しますそれ自体

例外: エラー ページ

6 にのみ使用できます。4 つのスコープ

ページ: ページ

リクエスト: request

session: セッション

application: サーバーの開始から停止まで

7. jsp## の動的インクルードと静的インクルードの違いは何ですか?

#動的インクルードは jsp:include action< ;jsp:include page="include.jsp"lush="true"/> で実装されており、インクルードされたファイルの変更を常にチェックします。動的ページであり、パラメータを取ることができます。

#静的インクルードは include 疑似コードを使用して実装されており、インクルードされたファイルの変更はチェックされません。静的インターフェイスのインクルードに適しています

8. 転送とリダイレクトの違い

転送とリダイレクト:

最初のポイント: アドレス バーから見ると、転送はサーバーがリソースを要求することを意味し、サーバーはターゲットアドレスの URL に直接アクセスし、ターゲット URL の応答コンテンツを読み取り、ブラウザーに送信します。ブラウザーはサーバーから送信されたコンテンツがどこから来たのかを知りません。そのため、アドレスバーは元の URL のままです。 。リダイレクトとは、サーバーがロジックに基づいてステータス コードを送信し、ブラウザーにそのアドレスを再度要求するように指示し、アドレス バーに新しい URL が表示されることを意味します。

2 点目: データ共有に関しては、転送ページと転送先ページはリクエスト内のデータを共有しますが、リダイレクトではデータを共有できません。

3 番目のポイント: 実行場所の観点からは、ログイン時に forward が一般的に使用され、役割に応じて対応するモジュールに転送されます。

リダイレクトは通常、ユーザーがログアウトしてログインしてホームページに戻ったり、他のページにジャンプしたりするときに使用されます。

4 番目のポイント: 効率の観点からは、フォワードは高く、リダイレクトは低くなります。

以上がサーブレットに関する面接の質問に答える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。