2011-01-13 8 views
0

ページ上にいくつかの質問に答えなければならないようにアプリケーションを設計している場合は、数十ページあります。どのようなJavaライブラリとツールを使用していますか、そのようなサイトを書くのに役立つその他の推奨事項があります。ウィザード/アンケートの種類のアプリケーション用の一般的なJ2EEアーキテクチャ

要件:

  • ユーザーは、いつでもアプリケーションを終了して
  • ユーザーを返すことができなければなりませんが、前の質問に基づいて

可能なノートを最初から最後までナビゲートすることができなければならないと潜在的な問題: - Struts2 +またはその他のj2eeフレームワークの使用 - スプリングコアの使用可能 - 休止状態のユーザー - Oracleバックエンド

  • 各ページのデータベースに保存しますか?

  • オプション(JMSの使用)はページの完了を待ちます。

  • (ステージングテーブルのような)一時的なデータストアのいくつかの種類が原因要求にユーザアクティビティの状態をキャプチャするために必要とされる

答えて

0

Spring Webflowこの種のものはいいですし、私はすでに他の目的のために使っているので、この状況で使っています。あなたが以前にそれを使用していない場合、それはあなたがそれを持っている唯一の(即時の)使用であるなら、私は少し重いかもしれません。

webflowの「フォーム」オブジェクトには、複数のページにまたがって分割された複数のフォームのデータを含めることができ、各ページはオブジェクト全体の一部のみを埋め込みます。

いつでも終了するには、各ページ/移行時にフォームオブジェクトを保持する必要があります。私は、完成したフォームと同じテーブルに保存することに傾いていますが、完全な= falseと最後のアクティビティタイムスタンプの列を持っています。

0

-

ユーザーは、いつでもアプリケーション を終了することができなければならないと

を返します(あなたはWeb層を使用しているので)あなたのHTTPSessionに(WizardData命名たとえば、)関連する値オブジェクト内のすべてのユーザーのアクションをキャプチャすることができます。各ページにデータを保存する必要はありません。代わりに、 "next"または "previous"のセッションでWizardDataを更新してください。ユーザーがウィザードのアクティビティを完了したら、データベーステーブル(j2ee/spring/hibernate)に情報を保存します。

ユーザーがアクティビティを終了していない(ログアウトまたはナビゲートしていない)場合は、ユーザーがログアウトするかセッションが無効になるまで、セッション中にWizardDataを保持することができます。いずれの場合も、WizardDataをuseridをキーとしたステージング表に保存してください。したがって、ユーザーがログインし直すか、ログインしてウィザードを開始すると、ウィザードステージを取得できます。

IMHOを使用すると、JMSを使用すると、このような機能が実装されます。レイヤーと複雑さを追加している間は、実装が容易になりません。

関連する問題