0

私の大学のプロジェクトでは、カスタムのJSP /サーブレットMVCアプリケーションを構築する必要があるため、StrutsやSpringなどのフレームワークを使用できません。私はすでにFrontController、Command、Service、DAO、Businessレイヤーを持っています。

サイドバーを使用してWebサイトを作成し、サイドバーに次のウィジェットがあるとします。Members、、。各ウィジェットは、 -> ->を介してデータベースにアクセスします。Who's OnlineRecent CommentsCommandServiceDao

アプリケーション全体で常に情報をサイドバーに表示したい。問題は、これを行う方法がわからないことです。GET / POSTリクエストを処理して情報を表示する方法は知っていますが、それが理にかなっている場合は、GET / POSTリクエストなしで(データベースからの)情報を表示する方法がわかりません。

私が試したいくつかの方法はうまくいきません:

1)からの呼び出しをロードしhomepageて呼び出すと、それらをセッションに保存します。ただし、ユーザーが別のURLからサイトにアクセスした場合、ListUsersはセッションに保存されません。HomeCommandListUsersUserDao

2)個別の作成CommandMembersCommand、、。次に、を使用してを含め、それを取得してを呼び出します。しかし、インクルードはWhosOnlineCommandRecentCommentsCommandJSTL includeFrontControllerCommand.jsp

<jsp:include page="FrontController/members" /> 
Fragment "FrontController/members" was not found at expected path /MyApplication/WebContent/WEB-INF/FrontController/memmbers

3)にアクセスするJavaコードを使用して、ウィジェット( 、 ).jsp'sごとに個別に作成します。次に、を使用します。しかし、どうすればそれを通過させることができますか?jspのJavaは大したことではありませんか?members.jspwhosonline.jspDaoJSTL includeFrontController

4)使用します<jsp:forward page="" /> が、これで空白のページが表示されますか?

私はアイデアがありませんか?

4

2 に答える 2

0

私はあなたが言おうとしていることのすべてを理解していませんでしたが、おそらくサーブレットのデザインパターンが役立つでしょう。通常、フロントコントローラーを使用して、永続ストレージにアクセスし、保存する必要があるものを「セッション」または「リクエスト」スコープの領域に保存します。ただし、「別のWebサイト」についてお話ししたので、「アプリケーション」タイプの領域にデータを保存する必要があると思います。フロントコントローラーとしてサーブレットを使用している場合、この領域はgetServletContext()。setAttribute()によってアクセスされ、後でJSPページはセッションスコープの変数と同じ方法で変数にアクセスできます。フロントコントローラーがサーブレットなのかJSPなのかはわかりませんが、どちらもアプリケーションスコープの変数を格納できるため、問題ではありません。

実際のビジネス環境では、サーブレットは複数のマシン間で共有されることが多く、何度も再起動および停止できるため、これでは不十分です。したがって、永続的な情報はデータベースから直接取得する必要があります。ただし、プロジェクトの場合、アプリケーションスコープの変数にデータを格納するだけで十分です。

私はあなたが説明していたことのかなりの部分を見逃したことを知っていますが、私のポイントは、フロントコントローラーが(いくつかの)永続ストレージにアクセスし、返されたjspページに必要なすべてのデータをセッションまたはリクエストまたはアプリケーション変数(この場合)にロードすることですまた、jspファイルは、これらの変数に格納されているすべてのデータを利用するように書き込むことができます。

于 2012-04-08T23:46:23.183 に答える
0

Java WebアプリケーションのMVCアーキテクチャについては、このチュートリアルを確認してください。あなたがいくつかの洞察を得ることができることを願っています

http://www.javaranch.com/journal/200603/frontman.html

デザインパターンのWebベースのアプリケーション

http://balusc.blogspot.com/2008/07/dao-tutorial-data-layer.html

MVCおよびDAOパターンを使用してJSPページのHTMLでJDBCResultSetを表示する

于 2012-04-09T10:27:16.487 に答える