ホームページ  >  記事  >  Java  >  2020 年の新しい Java 面接の質問 - Java Web (1)

2020 年の新しい Java 面接の質問 - Java Web (1)

王林
王林転載
2020-06-15 17:12:582520ブラウズ

2020 年の新しい Java 面接の質問 - Java Web (1)

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

jsp はコンパイル後にサーブレットになります (JSP の本質はサーブレットです。JVM は Java クラスのみを認識でき、JSP コードは認識できません。Web コンテナーは、JSP コードを JVM が識別できるものにコンパイルします。

jsp はページ表示に優れ、サーブレットはロジック制御に優れています。

サーブレットには組み込みオブジェクトがありません。Jsp の組み込みオブジェクトは、HttpServletRequest オブジェクト、HttpServletResponse オブジェクト、および HttpServlet オブジェクトを通じて取得する必要があります。

Jsp はサーブレットを簡略化したものです。Jsp を使用する場合は、プログラマがクライアントに出力する必要がある内容だけを完成させる必要があります。Jsp 内の Java スクリプトをクラスに埋め込む方法は、Jsp コンテナーによって完了します。サーブレットは完全な Java クラスであり、このクラスの Service メソッドはクライアントへの応答を生成するために使用されます。

(推奨関連チュートリアル: java 入門プログラム )

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

JSP には 9 つの組み込みオブジェクトがあります:

  • request: GET または POST リクエストからのパラメータを含むクライアントのリクエストをカプセル化します。

  • ##response: クライアントへのサーバーの応答をカプセル化します;
  • pageContext: このオブジェクトを通じて他のオブジェクトを取得できます;
  • session: ユーザー セッションをカプセル化するオブジェクト;
  • application: サーバーの実行環境をカプセル化するオブジェクト;
  • out:サーバーの応答を出力する出力ストリーム オブジェクト ;
  • config: Web アプリケーションの構成オブジェクト;
  • page: JSP ページ自体(Java プログラムのこれに相当);
  • 例外: ページによってスローされた例外をカプセル化するオブジェクト。
  • (関連ビデオ チュートリアルの推奨事項:
java ビデオ チュートリアル

)

3. JSP の 4 つのスコープについて教えてください。

JSP の 4 つのスコープには、ページ、リクエスト、セッション、アプリケーションが含まれます。特に:

  • page は、ページと属性に関連するオブジェクトを表します。

  • request は、Web クライアントによって発行されたリクエストに関連するオブジェクトと属性を表します。リクエストは複数のページにまたがり、複数の Web コンポーネントが関与する場合があり、ページに表示する必要がある一時データをこのスコープに配置できます。

  • session は、ユーザーとサーバーによって確立されたセッションに関連するオブジェクトと属性を表します。ユーザーに関連するデータは、ユーザー自身のセッションに配置する必要があります。

  • application は、Web アプリケーション全体に関連するオブジェクトとプロパティを表します。基本的に、複数のページ、リクエスト、セッションを含む Web アプリケーション全体にわたるグローバル スコープです。

#4. セッションと Cookie の違いは何ですか?

  • HTTP プロトコルはステートレス プロトコルであるため、サーバーがユーザーのステータスを記録する必要がある場合、特定のユーザーを識別する何らかのメカニズムを使用する必要があります。このメカニズムはセッションです。ショッピング カートなどの一般的なシナリオ 注文ボタンをクリックすると、HTTP プロトコルはステートレスであるため、どのユーザーが操作したかは不明です。そのため、サーバーは特定のユーザーを識別するために特定のセッションを作成する必要があります。このユーザーとユーザーを追跡することで、ショッピング カートに何冊の本が入っているかを知ることができます。このセッションはサーバー側に保存され、一意の識別子を持ちます。サーバー側でセッションを保存するには、メモリ、データベース、ファイルなど、さまざまな方法があります。クラスタリングの際には、セッション転送も考慮する必要があります。大規模な Web サイトでは、通常、ユーザー セッションを保存するための専用のセッション サーバー クラスタが存在します。このとき、セッション情報はメモリに保存され、Memcached などのいくつかのキャッシュ サービスが使用されます。セッション。

  • サーバーが特定の顧客をどのように識別するかについて考えてみましょう。ここでクッキーが登場します。 HTTP リクエストが行われるたびに、クライアントは対応する Cookie 情報をサーバーに送信します。実際、ほとんどのアプリケーションはセッション追跡を実装するために Cookie を使用します。初めてセッションが作成されると、サーバーは HTTP プロトコルでクライアントにセッション ID を Cookie に記録する必要があることを伝えます。これはセッションごとに記録されます。セッション ID がサーバーに送信され、あなたが誰であるかがわかります。誰かが、クライアントのブラウザが Cookie を無効にしている場合はどうすればよいのかと尋ねました。通常、この場合、セッション追跡には URL 書き換えと呼ばれる技術が使用され、HTTP 通信ごとに URL に sid=xxxxx などのパラメータが追加され、サーバーはこれを使用してユーザーを識別します。

  • Cookie は実際にいくつかのユーザーフレンドリーなシナリオで使用できます。Web サイトに一度ログインした後、次回ログインするときにアカウントを再度入力したくないと想像してください。やるべきですか?この情報は Cookie に書き込むことができ、Web サイトにアクセスすると、Web ページのスクリプトがこの情報を読み取り、ユーザー名を自動的に入力するため、ユーザーの作業が容易になります。クッキー名の由来でもある、ユーザーへのちょっとした甘さ。要約すると: セッションはユーザーのステータスを追跡するためにサーバーに保存されるデータ構造です。このデータはクラスター、データベース、およびファイルに保存できます。Cookie はクライアントがユーザー情報を保存するメカニズムであり、一部の情報を記録するために使用されます。ユーザー情報もセッションを実装する方法です。

#5. セッションがどのように機能するかを教えてください。

実際、セッションはサーバー上に存在するハッシュ テーブルに似たファイルです。必要な情報はそこに保存されており、必要なときにすぐに取り出すことができます。これは大きな地図に似ています。内部のキーにはユーザーのセッション ID が格納されます。ユーザーはサーバーにリクエストを送信するときにこのセッション ID を持ちます。このとき、対応する値をそこから抽出することができます。

推奨チュートリアル: Java 面接の質問

以上が2020 年の新しい Java 面接の質問 - Java Web (1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。