(GT×IT×SP×SA)IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。仕様について別記事「JSP/Servletで画面毎のアクセスカウンターを作成してみた(パート1:仕様説明編)」をご参照下さい。GetAccessCount2メソッドの中で、DB接続やステートメント作成やSQL発行等を行っており、それらを使って指定したアクセスカウンタの値を取得・更新して、更新後の値をセッション内の変数としてセットしています。DBアクセスやSQL発行に必要なクラスのインスタンス化や変数の初期化及び1回目のSQL発行(カウンタ取得)を行っています。・30行目access_countはアクセスカウンタ用の変数です・31行目DbConnectUtilクラスをインスタンス化してDBアクセスに必要なメソッド等を呼べるようにします。・32行~36行目Connection型、Statement型、ResultSet型の変数を初期化しています。ResutSetのrs1はカウンタ更新前の値取得用、rs2はUPDATE用、rs3はカウンタ更新後の値取得用です。・38行~39行目DbConnectUtilのメソッドを使い、初期化したDB接続系の変数をインスタンス化しています。・40行目DbConnectUtilのDbQueryメソッドを用いて、指定した画面の「現在のアクセスカウンタ値」を取得しています。これが次のUPDATE文のWHERE句に使われます。ここの区間でアクセスカウンタのUPDATE文を組み立てて、2回目のSQL文の発行(カウンタ更新)を行っています。・42行~45行目while(rs1.next())でResultSet(SQL発行の結果)の1行目にカーソルが当てています。「rs1」は指定した画面のアクセスカウンタの情報のため、1行しかない事が自明でUPDATE文もその1行分のみ組み立てられます。・49行目DbQueryメソッドを使ってUPDATE文を発行しています。この区間では3回目のSQL発行(カウンタ再取得)とDBオブジェクトのクローズを行っています。・50行~55行目while(rs3.next())でResultSet(SQL発行の結果)の1行目にカーソルが当てています。「rs3」は指定した画面のアクセスカウンタの情報のため、1行しかない事が自明。・59行~61行目Connection/Statement/ResultSetをクローズしています。これらはメモリの解放漏れやカーソルのクローズ漏れを防ぐためにも明示的にclose処理を行います。取得した「更新後のカウンタ値」を取得します。サンプルPGConnectionクラスをインスタンス化する「DbConnect」メソッド、Statementクラスをインスタンス化する「DbStatement」メソッド、SQL発行してResultSetを返却する「DbQuery」等、こちらの記事の「DbConnectTest2」クラスと同等の内容のため、本記事での説明は割愛。サンプルPG解説こちらの記事の「DbConnectTest2」クラスと同等の内容のため、本記事での説明は割愛。サンプルPGユーザーから見える画面JSPのサンプルを紹介します。上記JSPのポイントとなる部分を解説します。12行目でAccessCounter2クラスをインスタンス化し、13行目でその中のGetAccessCount2メソッドを呼び出しています。ポイントとして、引数に「画面ID」を指定する事により指定した画面のIDをピンポイントで更新します。:』と『]』は画面に直接表示するテキストで、その間の『<%=request.getAttribute(“EGDLDNPG”)%>』で指定した画面の「更新後のアクセスカウンタ値」を取得しています。Connectionこのエラーが発生した際の対応については、下記の記事にて解説しているため割愛。コメントをキャンセルメールアドレスが公開されることはありません。...Linuxのテキスト入力で日本語が文字化けした時の対処法と解説Linuxのテキスト入力等で日本語が文字化けした時の対処方法を紹介します。rm・cat・head・tail初めてLinuxを触る人向けにTeraTermのログイン方法からコマンドを入力する方法まで数回にわたり解説していきます。(GT×IT×SP×SA)IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。Reserved.Top。