J 2 EE初級学習プロジェクト——jsp+jdbc+servlet+MVC開発モデル実現の小プロジェクト


まず、本プロジェクトのニーズと具体的に実現する機能と方法の一覧を紹介します.
1.ユーザー登録:設定したユーザー名、パスワード、パスワードを入力後、フォームをサーブレット層に提出し、サーブレット層はユーザー名、パスワードを取得し、登録したサーブレット層のUserRegisterを制御する.JAvaでは、登録情報を正常に保存できるかどうかを判断するregisterメソッドを作成し、主にdoPostメソッドとregisterメソッドを実装します.
実装手順:Viewレイヤ-->ユーザが入力した情報をJavabeanオブジェクトとして保存してから、登録したユーザ名とパスワードの検証を行い、サーブレットはまず正当かどうかを判断する->doPost呼び出しregisterメソッドは、ユーザ名がregister{サービスレイヤを含むsave【Daoレイヤを含むsave(save内でDaoレイヤを呼び出すcheckメソッド)】}->を使用してViewレイヤに戻る
Javabeanオブジェクト:
まずUserエンティティクラスを作成し、構築メソッドを書き換えて、このメソッドでuserNameとuserPasswordパラメータを直接呼び出すことができます.
Dao層:
save(User):ユーザーが登録し、データベースに情報を入力します(容易に実現できます).
check(User user):ユーザー名とパスワードの検証を行い、ユーザーがログインlogメソッドを行ったときに検証(登録済み)、入力が正しいかどうかを検証します.
check(String userName):saveメソッドで呼び出されます.(未登録)データベースに既に本ユーザ名があるか否かを判断し、ある場合は「ユーザ名が使用されている」と表示し、ない場合は下位判定に飛び込む.
サービス層:
save(User):Dao層のデータをカプセル化し,登録機能をさらに実現する.
 
サーブレット層:
register(String userName,String userPassword):registerメソッドでは、ユーザーの登録情報をJavabeanに渡してオブジェクトをカプセル化し、サービス層のsaveメソッドを呼び出してオブジェクトを保存し、booleanタイプに戻ります.
doPost(HttpServertRequest req,HttpServertResponse resp):registerメソッドを呼び出し、フォームのパラメータを取得して、ユーザー名とパスワードが合法かどうか、パスワード、確認パスワードが一致しているかどうかを判断します.
①合法的かつ一致し、保存できるかどうかを見て、成功を証明し、成功提示情報と成功ページジャンプ(転送要求)を返す.そうでない場合、ユーザー名は繰り返し、失敗したプロンプト情報を返し、失敗したインタフェースにジャンプします.
②不正または不一致は、失敗情報とジャンプ失敗インタフェースを返します.
Viewレイヤ:
操作を実行し、情報表示を返します.
2.ユーザーログイン:
実装手順:Viewレイヤ->入力したログイン情報をUserLoginのサーブレットレイヤに渡す->まずログイン情報をJavabeanでオブジェクトカプセル化->doPost呼び出しloginメソッドでユーザー名とパスワードの検証を行い、ユーザーが管理者ユーザー名と一致しているかどうかを検証します.一貫して管理者インタフェースに入る->サーブレット層のloginメソッド{サービス層のlogメソッド【UserDao層のcheckメソッド(LogDao層のsaveメソッド)】}->View層に戻る
Javabeanレイヤ:
まずUserエンティティクラスを作成し、構築メソッドを書き換えて、メソッドでuserNameとuserPasswordを直接呼び出すことができます.
Dao層:
LogDao層:
save(ログ):「ユーザー登録」と登録日のログ情報をデータベースに保存する
UserDaoレイヤ:
check(User):このuserNameがデータベースに存在するかどうかを検索し、パスワードとユーザーの検証を行います.
サービス層:
log(User):ユーザーのユーザー名とパスワードを確認し、データベースにログ情報を入力します.
サーブレット層:
doPost(HttpServeretRequest req,HttpServeretResponse resp):管理者であり、ユーザー名とパスワードの正確性を確認します.管理者ログインの場合:ユーザー名のメッセージ情報を取得し、ユーザー名とメッセージ情報をセッションに格納します.
3.訪問者の伝言:
実装手順:Viewレイヤ->Javabeanオブジェクトを作成し、カプセル化->Daoレイヤでデータのビジネスロジック処理(save,getMessage,remove)->ServiceレイヤでDaoレイヤのデータ処理をさらにカプセル化し、saveメソッドでDaoレイヤのsaveを呼び出し、getMessageメソッドでDaoレイヤのgetMessageメソッドを呼び出し、removeMessageメソッドでDaoレイヤのremoveメソッドを呼び出し、サーブレット・レイヤへの呼び出し->サーブレット・レイヤsaveMessageメソッドサーブレット・レイヤのsaveメソッドの呼び出し
Javabeanオブジェクト:
Messageエンティティクラスを作成し、コンストラクションメソッドを書き換えて、メソッドでcontactとmessageを直接呼び出すことができます.
Dao層:
save(Message message):メッセージ情報をデータベースに格納
getMessageList():すべての訪問者のメッセージを読み出してListにカプセル化する
remove(int messageId):メッセージのIDからメッセージを削除する
サービス層:
save(Message message):顧客メッセージと対応するログ情報を挿入し、Daoレイヤのsaveメソッドを呼び出し、さらにカプセル化する
getMessageList():DaoレイヤのgetMessageListメソッドを呼び出してカプセル化する
removeMessage(int messageId):メッセージを削除し、対応するログ情報を挿入し、Daoレイヤのremoveメソッドを呼び出す
Viewレイヤ:
取得したQQ番号とメッセージ情報をJavabeanオブジェクトに転送
サーブレット層:
doPost(HttpServeretRequest req,HttpServeretResponse resp):Viewレイヤからのパラメータを取得し、メッセージと連絡先が合法かどうかを検証し、メッセージの保存を行います.
saveMessage(String contact,String message):Serviceレイヤのsaveメソッドを呼び出します.
4.ニュース配信:(主に管理者の行為)
基本的な手順は上記と似ていて、拡張しません.
管理者が管理するニュース表示機能が追加されました.
サーブレット層:
NewsDisplay.JAva—>checkServiceContext()アプリケーションに記録があるかどうかをチェックし、ない場合はすべてのニュースセットをアプリケーションに注入します(ここでは、記事を追加するたびにデータベースを巡回してニュースリストを再表示するのと同じですが、現在は初級段階なので、良い解決策には慣れていません.より良い方法を提供してほしいと思っています)—>
 
/*            newsList  Application,                 ,           
*       。        ,                             。        
*            ,                    。                     
*    。               ,                               。
*/

 
*注意:
1.サービス・レベルでデータをカプセル化するときに使用するデータベースの管理:conn.settAutoCommit(false)->conn.commit()->conn.rollback()->conn.settAutoCommit(true)を自動的にコミットして閉じます.
2.管理者のインタフェースはWEB-INF/inner/ディレクトリに置くべきで、サーバーのジャンプのみを許可する
3.ServletUtil.getConfig(String key)メソッドはconfigという名前を読み込む必要がある.propertiesプロファイルの情報です.このファイルは、Webサイト管理者にデータベース以外のパラメータを構成するために提供されます.中のすべてのデータは、構成が完了した後、前の方法で読み取ることができます.(プレゼンテーションとしては、管理者のユーザー名を決定するために1つの情報のみを構成し、管理者としてデータベース内の任意のユーザーを選択してバックグラウンドにログインできます)
4.サーブレットの部分はすべて完了し、一部のデータチェックの機能は実際の生産環境でJavaScriptに配備してチェックを取り、サーバの圧力を減らす必要があります.しかしservletを用いて作成されたプログラムは一般的に大きくないことを考慮すると,一般的なpcは十分に実行できる.
5.セキュリティ上のユーザー登録、管理者登録、ユーザー登録、メッセージ、ニュース配信などの機能は、ログデータベーステーブルに対応するログを保存します.そのため、サービス・レイヤでデータベース・アイテムを構成する必要があります.物事を配置しなくてもDao層は省略できます.
6.
まとめ:MVC開発モデルの特徴は1層1層(自分の理解、不足点は提出を歓迎する)であり、私の個人的な認識はDao層から最も基本的な業務論理処理を行い、さらにサービス層まで1層のパッケージを行い、パッケージが終わったらサービスlet層に呼び出し、View層にフィードバックして展示する.
セッションとクッキーとアプリケーションの理解について:参考https://www.cnblogs.com/yunian/articles/5736066.html