サーバーサイドJava:JSPを使用した高度なフォーム処理
通常、フォーム処理にはバックグラウンドで動作する複数のコンポーネントが含まれ、各コンポーネントは状態管理、データ検証、データベースアクセスなどの個別のタスクを担当します。Perlスクリプトとサーブレットを使用したフォーム処理を示す例は多数ありますが、この目的でJSPを使用することはほとんど注目されていません。これには理由があります。JSPはかなり新しいテクノロジーであるという事実は別として、多くの人は、JSPがJavaBeansまたはサーブレットのいずれかから供給された動的コンテンツのプレゼンテーションを処理するのに主に適していると考えています。ただし、すぐにわかるように、JSPとJavaBeansの組み合わせは、HTMLフォームを処理するときに考慮すべき力になる可能性があります。
この記事では、JSPを使用したユーザー登録フォームの処理について説明します。JSPの基本的なプログラミングの信条の1つは、可能な限り多くの処理をJavaBeanコンポーネントに委任することです。私のJSPフォーム処理の実装は、いくつかの興味深い機能を示します。ユーザーが入力した登録情報の基本的なデータ検証を提供するだけでなく、ステートフルな動作も示します。これにより、ユーザーが送信サイクルをループし、最後にすべての入力要素に正しいデータを入力するときに、フォームの入力要素に検証済みのデータを事前に入力できます。それで、これ以上面倒なことはせずに、例に飛び込みましょう。
リスト1を見てください。これは、図1に表示されている簡単な登録フォームをユーザーに提示します。
リスト1.register.html
ユーザー登録 *必須フィールド |
|
---|---|
ファーストネーム* | 苗字* |
Eメール* | 郵便番号* |
ユーザー名* | |
パスワード* | パスワードを認証する* |
どんな音楽に興味がありますか? ロックポップブルーグラス ブルースジャズカントリー |
|
特別セールのメール通知を受け取りますか? はい・いいえ |
|
図1は、ブラウザーに表示されるユーザー登録フォームを示しています。