ムークラスのネットワークコースサイト:https://www.imooc.com/learn/166。
5-1章はじめに
(1)JavaBeanのプロファイル(2)JavaBeanの設計原理(3)JSPの方法JavaBeansを使用する(4)<JSP:useBeans>(5)の<jsp:getPropertyメソッド>(6)の<jsp:setPropertyを>(7)JavaBeanの4スコープの範囲(8)MODEL1入門(9)プロジェクト
5-2 JavaBeanの紹介と設計原則
ある特定の仕様を満たすJavaBeansのJavaクラス。JavaBeanを使用する利点は、書き込みコードの重複を解決するためのコードの冗長性、明確な機能的な区別を減らし、コードのメンテナンス性を向上することです。
JavaBeansの設計原理:(1)公的クラス、引数なしで(2)パブリックコンストラクタ、(3)プライベート性、(4)ゲッターとセッターメソッド。
例:
//クラスのデザイン学生
パブリッククラス生徒{
プライベート文字列名;
プライベートint型の年齢;
パブリック学生(){}
公共ボイドのsetName(文字列名){this.name =名。}
パブリック文字列のgetName(){this.nameを返します。}
公共のボイドsetAge(int型の年齢){this.age =年齢; }
公共INT getAge(){戻りthis.age。}
}
5-4のJavaBeanを作成する一般的な方法を使用しました
JSPページのJavaBeanを使用する方法:
1は、通常のJavaクラスと同様に、JavaBeanのインスタンスを作成します。
日食で右クリックして、ソース/ GetterおよびSetterの生成。
5-5のuseBeanアクション要素
2は、一般的にJavaBeansを使用してJSPページのJSPアクション・タグで使用されています
(1)useBeans動作(2)setproperty操作(3)のgetProperty操作
<jsp:useBeans>
アクション:JSPページをインスタンス化やJavaBeanが指定した範囲内で使用します:
<jsp:useBeanのID = "プロンプト、" クラス= "Javaクラス名" スコープ= "スコープ" />
<jsp:それはラベルであることのJSPアクション。彼の名前のuseBeanの後に書き込みアクション、それがuseBeanタグであることを示しています。クラスは、完全な名前(パッケージ名+クラス名)Javaクラスでなければなりません。
これら2つのプロパティをオブジェクトへの割り当てがないので、それはnullです。
5-6のsetProperty
<jsp:setPropertyを>
役割:JavaBeanプロパティーには、オブジェクトの割り当て、4つの形態の合計をインスタンス化されています。
<jsp:のsetProperty名= "JavaBeanのインスタンス名" プロパティ= "*" />(フォームに関連付けられています)
<jsp:のsetProperty名= "JavaBeanのインスタンス名" プロパティ= "JavaBeanの属性名" />(フォームに関連付けられています)
<jsp:setPropertyを名= "JavaBeanのインスタンス名" プロパティ= "JavaBeanの属性名" 値= "BeanValue" />(手動設定)
<jsp:のsetProperty名=「JavaBeanのインスタンス名」プロパティ=「プロパティ名」PARAM =「パラメータ名要求オブジェクト」/>(複数のパラメータ関連する要求)
演習の例:
(1)<JSP:のsetProperty名= "JavaBeanのインスタンス名" プロパティ= "*" />(フォームに関連付けられています)
(2)<JSP:のsetProperty名= "JavaBeanのインスタンス名" プロパティ= "JavaBeanの属性名" />(フォームに関連付けられています)
部分一致。
(3)<JSP:のsetProperty名= "JavaBeanのインスタンス名" プロパティ= "JavaBeanの属性名" 値= "BeanValue" />(手動設定)
これは、フォームとは何の関係もありません。
(4)<JSP:のsetProperty名= "JavaBeanのインスタンス名" プロパティ= "プロパティ名" PARAM = "パラメータ名要求オブジェクト" />(reuqestに関連するパラメータ)
それでもzhangsan、123456ログインで。
フォームには、ユーザー名を設定する方法で再利用することができます。
5-7のgetProperty
アクション・タグの<jsp:getPropertyメソッド>
役割:指定されたJavaBeanオブジェクトのプロパティ値を取得します。
<jsp:getPropertyメソッド名= "JavaBeanのインスタンス名" プロパティ= "属性名" />
スコープの5-8のJavaBean 4
注:使用useBeans scope属性は、JavaBeanの範囲を指定するために使用することができます。
ページ//現在のページのみで有効。
リクエスト// JavaBeanのオブジェクトがHttpRequest.getAttribute()メソッドによって達成することができます。
セッション//のJavaBeanオブジェクトはHttpSession.getAttribute()メソッドによって達成することができます。
application.getAttributeてJavaBeanのオブジェクトを取得するためにappalication //缶()メソッド。
(1)アプリケーションオブジェクトの範囲
または組み込みオブジェクトJSPアプリケーションを使用します。
(2)セッションオブジェクトの範囲
リクエストオブジェクトの範囲(3):
理由:<a href="testScope.jsp"> </a>のハイパーリンクでdoLogin.jspは、要求が全くmyUsersオブジェクトが存在しないリクエスト・オブジェクトにtestScope.jspので、新しい要求の同等の、リダイレクトされますA。
ソリューション:私たちは要求して楽しみにしています:
要求が直接転送testScopeページにジャンプされ、アドレスバーのアドレスは変更されていません。同じリクエストは、オブジェクト内のmyUsersはまだ要求します。
そのため、リクエストオブジェクトのスコープは、JavaBeanが動作します。
(4)対象ページの範囲:
変更:
ページ範囲は、現在のページでのみ有効、最小です。ページオブジェクト、中testScope.jspでは、指定されたオブジェクトのない「myUsers」はありません。
5-10 MODEL1プロフィール
開発JavaWebアプリケーションはMODEL1とモデル2に分けることができます。
MODEL1旧モデルは、Webアプリケーション全体を登場:ほぼ完全にJSPページの構成、JSPページは、クライアント要求、応じて直接処理の要求を受信します。
短所:界面層は、(それは、私たちのJSPページです)、Webアプリケーションの拡張性と保守性が非常に悪い、コードのビジネスロジックのコードとデータアクセス層の多くでいっぱい。
JavaBeanの仕様は、このように大幅にメンテナンス性を高め、データのJavaBean JSPページを利用したり、パッケージのJavaBeanビジネスロジックのコードを呼び出すことができます。
MODEL1は単純に、JSP + JavaBeansの開発モデルを置きます。
示されているように、階層的な考え方は、これは簡単な3層構造です。界面層は、当社のJSPページで、ビジネスロジックは、第3層は、当社のデータベース層(当社のデータベースへのアクセス権を持つのJavaBeans)で、私たちのJavaBeansのです。
プロジェクトの5-12段階
使用JSP + JavaBeanの完全なユーザーログイン機能。
com.daoパッケージ構造、構築されたUsersDAOクラス、階層的なアイデアcom.poパッケージのビルド、構築されたユーザーのクラスに応じて(1)。
(2)レビューdoLogin.jsp:
図は、プロジェクトdoLogin.jspの前にあります。
効果:
もし間違ったパスワード、123456:
ユーザー名とパスワードがにしている場合:
この時点で、第5章の終わり。