サーバーサイドJava:JSPを使用した高度なフォーム処理

通常、フォーム処理にはバックグラウンドで動作する複数のコンポーネントが含まれ、各コンポーネントは状態管理、データ検証、データベースアクセスなどの個別のタスクを担当します。Perlスクリプトとサーブレットを使用したフォーム処理を示す例は多数ありますが、この目的でJSPを使用することはほとんど注目されていません。これには理由があります。JSPはかなり新しいテクノロジーであるという事実は別として、多くの人は、JSPがJavaBeansまたはサーブレットのいずれかから供給された動的コンテンツのプレゼンテーションを処理するのに主に適していると考えています。ただし、すぐにわかるように、JSPとJavaBeansの組み合わせは、HTMLフォームを処理するときに考慮すべき力になる可能性があります。

この記事では、JSPを使用したユーザー登録フォームの処理について説明します。JSPの基本的なプログラミングの信条の1つは、可能な限り多くの処理をJavaBeanコンポーネントに委任することです。私のJSPフォーム処理の実装は、いくつかの興味深い機能を示します。ユーザーが入力した登録情報の基本的なデータ検証を提供するだけでなく、ステートフルな動作も示します。これにより、ユーザーが送信サイクルをループし、最後にすべての入力要素に正しいデータを入力するときに、フォームの入力要素に検証済みのデータを事前に入力できます。それで、これ以上面倒なことはせずに、例に飛び込みましょう。

リスト1を見てください。これは、図1に表示されている簡単な登録フォームをユーザーに提示します。

リスト1.register.html

   
ユーザー登録

*必須フィールド

ファーストネーム*

苗字*

Eメール*

郵便番号*

ユーザー名*

パスワード*

パスワードを認証する*

どんな音楽に興味がありますか?

ロックポップブルーグラス

ブルースジャズカントリー

特別セールのメール通知を受け取りますか?

はい・いいえ

図1は、ブラウザーに表示されるユーザー登録フォームを示しています。