Javaプログラマ書かれたインタビュー集第5章にJava Web:5.1サーブレットとJSP(13-17質問)

5.1.13 JSPディレクティブが含まとの違いは何であるかでアクションを含めます

主な役割は、とき(タイトル、フッター、ナビゲーションなど)のアプリケーションのすべてのページの一部例えば、全く同じで、現在のファイルで使用するために、現在のファイルに別のファイルの導入を含むものです、同じ抽出ライトの一部個別のファイルとみなされ、導入の仕方によって含むことができます。

使用方法は2つあります、次のとおり命令を含むとアクションが含まれます。命令は使用含み:<@%をファイル= "なtest.jsp" %を含める>、アクションのメソッドを使用しては含まれます。<jsp:ページ= "なtest.jsp" フラッシュを含める= "真">の<jsp: paramの名前= "名前" 値= "値" /> </ JSP:>含まれています。

基本と含む命令との間の差が呼び出され、動作時間の両方を含みます。命令コンパイルフェーズ、すなわち、コンパイル時に、コンパイラが配置されているターゲット・ファイルへの位置指令によって指示命令の内容をコピーする命令である含む、最終的なファイルに別の命令は、実行時に1つだけのファイルがあります。換言すれば、コンテンツは、ファイル内容の変更がサーブレットを含むことができ、状況は静的なページを含むために、例えば、したがって、適切なコンパイルに書き換えする必要がコンパイル時にJSPファイルに挿入されたファイルに含まれる命令を含みます。

アクションは、構文が、ランタイムが含まれるメインページが要求されたとき、それが使用されるページは、2つのメソッド呼び出しに似たファイル、および動的なページを含む状況にしたがって、より適切に関与含めるとなりますです。また、以下の3点に2つの違いがあります。

1)操作が含まれるときに変数を要求、セッション、アプリケーションスコープ内に配置されていない限り、ページ内の変数の宣言は、他のファイルのために利用可能であり、使用中の命令、現在のページとページを含む共有することができるが含まれます変数。

ディレクティブが含ま使用している場合2)、JSPページJSP構文の新世代は、変数名の衝突を避ける必要があり、要件を満たすために、アクションが含まれており、使用中に、変数名の競合は存在しません。

インクルードされるファイルを修正するためのアクションを含む、それはすぐに有効になります; 3)命令は、ファイルを修正するために含まれますが、メインページには、クラスのメインページを変更したり、削除しない限り、すぐには反映されません含まれています。

両方の方法が適用される場合の利点を考慮すると、優先行動の使用を含む、メンテナンス上のアクションを含みます。メインページは、メソッドまたはフィールドまたはセットを使用するファイルを含むのみで定義されたファイルのヘッダページ応答表面を含んでいる場合、それは使用されるべきであるが、例えば、著作権情報及びナビゲーション部は、多くのサイトが部分的であり、命令を含みます同じことは、それぞれが、その後、<%で-clude @%>参照命令に、別のファイルの内容を考慮することが可能である、ファイルに表示されます。


5.1.14どのような会話トラッキング技術

Webアプリケーションの開発では、多くの場合、あなたは、データの共有やパラメータを行うことができるようにする必要がありますが、転送に専用のメカニズムを持っている必要がありますので、異なるページ間で渡すことができ、およびセッションのデータが別の場所で使用することができるとデータを保存します。

いわゆるセッションは、接続口にし、サーバから参照すると、クライアントは、クライアントへのサーバーの応答への要求は、全体のプロセスを要求します。

HTTPは、クライアント間でサーバによる通信であるため、HTTPはステートレスプロトコル自体で接続が応答の完了後に切断されると、それは顧客情報保存、すなわち、次の要求は、それが接続の再確立する必要があることはできません、接続の確立までも同じユーザーが、そのため、セッションの経過をモニターするために、最善の方法は、セッションの追跡技術を使用するかどうかを判断する必要があります。

具体的には、セッションのトラッキング技術は、次の4つのものがあります。

1)ページ。関連するオブジェクトと属性のページを代表して。コンパイルされたJavaサーブレットクラスのページ(それがどんな命令で含めることができますが、アクションが含まれていませんでした)表現。これは、両方のサーブレットが含まれており、サーブレット、JSPページにコンパイルされます。

2)要求。Webクライアントに代わって、関連するオブジェクトと属性の要求が送信されます。リクエストが複数のページにまたがることも、Webコンポーネントの数を必要とします。

3)セッション。ユーザーの代わりにとWebクライアントの経験に関連するオブジェクトと属性のために、Webセッションは、多くの場合、複数のクライアント要求をまたがることができます。

4)アプリケーション。複数のページ、リクエスト、およびグローバルセッションスコープを含む複数のWebアプリケーション、全体で本質的であるWebアプリケーション全体、関連付けられたオブジェクトと属性の代表。

一般的なペンの質問:

あなたが唯一の複数のページにまたがってデータを共有したい場合は、()のスコープを使用することができます。

A.request、セッションB.applicationセッション

C.request、アプリケーションD.pageContext要求

答え:A. 上記の説明を参照してください。


エンコードの文字列を指定する方法5.1.15 Web開発者

単一のバイト(0〜255)で構成されて符号化のためのISO-8859-1ラテン。GB 2312は、GBKは簡体字中国語、シングルバイトと2バイトをコードする混合で構成され、最上位ビットは1バイトであり、文字を構成する次のバイトは、最上位ビットは、0バイトのASCIIコードです。UTF-8 / UTF-16 / UTF-32は、国際規格UNI-コード符号化され、UTFはUnicode形式に転送意味でユニコード変換フォーマット、すなわちと呼ばれます。前記符号化方式が異なる文字の範囲をコードする異なる長さによって特徴付けられるラテン語を、符号化時にスペースを節約しているため、最も使用されるUTF-8です。

シーケンスに文字列またはバイト配列が誤って使用した場合にエンコードする、正しいデシリアライゼーションのエンコードを選択するために必要な、歪みを取得します。そのため、ウェブアプリケーションの開発を、しばしば遭遇状況がエンコードフォーマット文字列を指定する必要があり、文字化けを防ぐために、最善の方法は、エンコード形式を指定することです。

ISO-8859-1符号化形式で、以下の実施例列出力:

Web開発におけるresponse.setContentType()メソッドを介して表示エンコード形式JSPページを指定することも可能であることに注意してください。


5.1.16 Ajaxは何ですか

アヤックス(非同期JavaScriptとXML、非同期JavaScriptとXML)は、Javaテクノロジー、XML、およびJavaScriptプログラミング技術の組み合わせで、その主な目的は、サーバとのデータの相互作用の少量を交換することにより、増加ページにページを更新せずセックス、それによって、ユーザ体験を向上、応答時間を短縮。Ajax技術を使用した後、ページごとにユーザーが再読み込み、変更をコミットする必要はありません。

クライアントは、サーバ側と頻繁に対話する必要があるときに、伝統的なソフトウェアアーキテクチャの開発を使用するアプリケーションでは、ユーザーがリソース情報のみをサーバから取得するには、ページがリロードされ、何度も見にリロードにページ全体を待ちます。2つのページが同じである現在のHTMLコードのほとんどは、このアプローチは、すべての後、多くのリソースが無駄に情報を繰り返して取得するには、ネットワーク帯域幅の非常に無駄にすることができます。

この場合は、Ajax技術の使用は、多くの利益をもたらす場合:まず、Ajax技術は、コンテンツサーバーに必要なデータのみを送信して検索することができるので、それほど大きくすることにより、ネットワークの負荷のサーバーを削減、データ交換の量を減らすこと、第二にそれ以来SOAP(データ仕様を交換するためのプロトコルの単純なオブジェクトアクセスプロトコル、シンプルオブジェクトアクセスプロトコル)、または他のいくつかのXML Webサービスのインタフェースを使用することにより、クライアントは、サーバー・プロセスからのJavaScriptの応答を使用するだけでなく、ウェブを低減しますサーバ処理時間は、最終的には、システムは、それにより顧客満足度の向上、システムの安定性と可用性を向上させることができます短い応答時間を、持っているので、ページ全体をリロードする必要はありません。

Ajax技術は、クライアント技術、コアJavaScriptオブジェクトのXmlHttpRequestのある、なお、オブジェクトは、ユーザーをブロックすることなく、サーバに要求を行い、応答を処理するためにJavaScriptを使用する開発者を可能にし、非同期リクエスト技術サポート、です。


5.1.17クッキーとセッションの違いは何ですか

クッキーは、スクリプト上のサーバやワークステーションが顧客情報を維持するための方法することができ、HTTPです。これは、ユーザのブラウザユーザーに関する情報を(そのような識別番号、パスワードやその他の情報など)を含めることができ、小さなファイル上のWebサーバーによって維持されています。クライアントとサーバ間のセッションのソリューションとストレージ構造状態を保持するための手段。

情報ストレージの両方が可能なものの、その差もあります。具体的には、2つのは以下の点で異なります。

サーバー上のSES-シオンとサーバ側で保持のプログラムに使用されるメカニズム、すなわち、データ1)クッキー機構は、クライアント・プログラム、即ち、クライアントのブラウザに保存されたデータを保持するために使用されます。

2)クッキーのセキュリティは十分ではありません。クライアントに保存されたクッキー情報ので、他の人が簡単に地元のクッキー、クッキーと詐欺に保存され得ることができ、およびセッション情報がサーバ側に保存されているので、安全です。

3)いくつかの高いクッキーのパフォーマンス。以来セッションは、サーバー上の特定の時間内に保存されますので、ときに、アクセス量が増加し、それがサーバーのパフォーマンスが低下します。

この問題は存在せず、セッション; 4)単クッキー記憶されたデータは4キロバイトを超えることができない、多くのブラウザは、クッキーを保存した20の部位の最大値に制限されています。

他の情報は、クッキー内に配置することができる保持する必要があるながら、上記のポイント差を考慮して、通常の状況下では、ユーザのログイン情報やその他の重要な情報は、セッションに格納されます。

=======================================

終わり

公開された101元の記事 ウォン称賛20 ビュー60000 +

おすすめ

転載: blog.csdn.net/qq_40993412/article/details/104069140