6.1 JavaBeansとは
すでに 90 年代後半には、クラス数が数万、数十万にも及ぶ大規模なサーバー アプリケーションで Java 言語が積極的に使用され始めました。そこで思いついたのが、Java オブジェクトの外観を標準化するというアイデアでした。
Java 言語全体は、柔軟性を失わないように、変更されていません。そうですね、下位互換性などすべてです。その後、彼らは新世代の Java オブジェクトのための多くの基準を開発し、そのようなオブジェクトを Java Bean と呼びました。Java は人気のあるコーヒーのブランドにちなんで名付けられているため、Java Beans は文字通り「コーヒー豆」を意味します。
最も重要な基準は次のとおりです。
- クラスの内部フィールドへのアクセスは、 を経由します
getProperty()
。 - クラス フィールドへのデータの書き込みは、 を経由します
setProperty(value)
。 - クラスには、パラメーターのないパブリック コンストラクターが必要です。
- クラスはシリアル化可能である必要があります。
- クラスには、 メソッド
equals()
とhashCode()
メソッドがオーバーライドされている必要がありますtoString()
。
このアプローチにより、アプリケーションの一貫性が低下しました。常にクリア:
- オブジェクトの作成方法 - パブリックなデフォルトのコンストラクターがあります。
- プロパティ値を取得/設定する方法。
- オブジェクトを転送/保存する方法 (シリアル化を使用します)。
- オブジェクトを比較する方法 (equals() と hashCode() を使用)。
- ログ内のオブジェクトに関する情報を表示する方法 (toString を使用)。
今ではそれが業界標準になっていますが、かつては新しいトレンドでした。誰もがすでにこのように書いているようですが、HttpClient とそのビルダーを覚えていれば、新しい標準が誰かにとって難しいことがわかります。
このようなオブジェクトは、主なセマンティック負荷がデータ ストレージである場合に広く使用されています。たとえば、GUI、データベース、JSP ページなどです。
6.2 JSP と JavaBeans
JSP を採用した理由の 1 つは、フロントエンド開発者にアウトソーシングできることです。そして何?HTML を理解できる人がいる場合は、その人に JSP を書かせます。Java プログラマは自分のパートを作成し、フロントエンド開発者は自分のパートを作成します。すべて問題ありません。
そして、フロントエンド開発者が JSP に埋め込まれた Java コードを理解する必要があるまでは、すべてがうまくいきました。あるいは、さらに悪いことに、そのようなコードを自分で書くことになります。
Java プログラマーもこれには満足していませんでした。そうですね、どのレイアウト設計者がバックエンド開発者なのか教えてください。はい、スクリプト以外は何も書くことができません。はい、プログラミング パラダイム全体では、1 つのファイルに異なる言語を混在させるのは悪い形式だとされています。
そこで、フロントエンド開発者に HTML コードと同様に Java オブジェクトを扱う機会を与えるというアイデアが浮かび上がりました。各 HTML タグも独自のフィールドを持つオブジェクトです。同様の方法で Java オブジェクトを操作してみてはいかがでしょうか?
否や言うほどない。特別なタグを追加しました。
オブジェクトの作成:
<jsp:useBean id="Name" class="Object type" scope="session"/>
このコマンドは、タイプのオブジェクトを作成しobject
、それをsession
という名前の下に置きますName
。
オブジェクトは、アプリケーション (グローバル)、セッション、リクエスト、ページの 4 つのストアのいずれかに保存できます。このようなオブジェクトのプロパティを設定することもできました。
<jsp:setProperty name="Name" property="propName" value="string constant"/>
このようなオブジェクトのプロパティは次のように取得できます。
<jsp:getProperty name="Name" property="propName"/>
タグの使用例:
<body>
<center>
<h2>Using JavaBeans in JSP</h2>
<jsp:useBean id = "test" class = "com.example.TestBean" />
<jsp:setProperty name = "test" property = "message" value = "Hello JSP..." />
<p> What-to do important</p>
<jsp:getProperty name = "test" property = "message" />
</center>
</body>
GO TO FULL VERSION