投稿

12月, 2020の投稿を表示しています

12月15日(火)1、2コマ目

今日、やったこと 課題「かんたんオークションサイト(Java版)」 課題「かんたんオークションサイト(Java版)」 解答例をあげときます。 [DAO]ItemDAOクラス 商品マスタテーブルアクセス用クラス。 [DAO]UserDAOクラス ユーザーマスタテーブルアクセス用クラス。 [DAO]BidDAOクラス (主に)入札データテーブルアクセス用クラス。 [BLL]Serviceクラス 機能提供クラス。 [Exception]PriceExceptionクラス 応札金額が応札最高値以下のときにスローする検査例外クラス。 [Exception]OverDueExceptionクラス 応札期限を超過したときにスローする検査例外クラス。 [Exception]NotFilledExceptionクラス 未入力の項目があるときにスローする検査例外クラス。 [Presentation]IndexSrvクラス サーブレット。ログインページ表示、認証実行、商品一覧ページ表示を行う。 [Presentation]SelectItemSrvクラス サーブレット。商品一覧ページにて商品選択時の処理を行う。 [Presentation]BidSrvクラス サーブレット。入札ページの処理を行う。 [Presentation]index.jsp ログインページ。 [Presentation]selectitem.jsp 商品一覧ページ。 [Presentation]bid.jsp 入札ページ。

12月7日(月)1、2コマ目

イメージ
今日、やったこと 新課題「かんたんオークションサイト構築(Java版)」 今日のホワイトボード <A>タグについて 2ページ目の商品一覧画面にて、商品名のリンクをクリックすると、商品を選択できます。 リンクは作るにはHTMLの<A>タグを使います。<A>タグには クリック後移動するURLを指定するhref属性 があります。 図 <A>タグ なお、リンククリックはHTTPの GETコマンド でリンク先をリクエストします。 前回の課題について 課題「かんたんオークションサイト(C#版)」を採点して気が付いた点を。 UserDAOクラスのGetCount()メソッド ダメ1 全件検索実行後、検索結果のユーザー名、パスワードを1件づつチェック まず、以下のSQLを実行。  SELECT * FROM ユーザーマスタ つぎに、検索結果のユーザー名、パスワードをチェック。 ユーザー名、パスワードが引数と一致するならカウントアップ。 while(reader.Next) {  if(reader["ユーザー名"].Equals(引数のユーザー名) &&    reader["パスワード"].Equals(引数のパスワード)) {   count++;  } } ダメ2 検索実行、検索結果をカウントアップ まず、以下のSQLを実行。  SELECT * FROM ユーザーマスタ   WHERE ユーザー名=引数のユーザー名 AND パスワード=引数のパスワード つぎに検索結果の行数をカウントアップ。 while(rs.Next) {  count++; } ダメ3 検索実行、検索結果をListに格納してListの要素数を返す まず、以下のSQLを実行。  SELECT * FROM ユーザーマスタ   WHERE ユーザー名=引数のユーザー名 AND パスワード=引数のパスワード つぎに検索結果をListに格納。 while(rs.Next) {  list.Add(new User(・・)); } Listの要素数を返す。 return list.Count; おすすめ グループ関数count()を使う 実行するSQLはこれ。  SELECT count(*) FROM ユー...

12月1日(火)1、2コマ目

イメージ
今日、やったこと Javaでの例外処理 今日のホワイトボード (あまり本題とは関係ないですが)Sessionオブジェクト取得 複数リクエスト間でデータを共有できるSessionオブジェクトを取得するには、getSession()メソッドを使います。このメソッドは引数が3パターンあり、動作が異なるため注意が必要です。 図 Sessionオブジェクトの取得メソッド とくに、セッションがスタートしていない(クライアントに紐づいていないSessionオブジェクトがない)ときに注意です。 (前回のつづき)ユーザー登録 これ以上正常系の処理を続けられないときに例外をスローします。(正常系の流れを止める) スローされた例外はエラー処理ができるところでキャッチしてエラー処理を行います。 図 正常系から抜け出すために例外スロー [演習]ユーザー登録 .Netでも同じようなモノを作りました。 スローする例外は例外クラスからエラーがわかるようにするべきです。 まちがってもExceptionクラスをスローするのはやめてください。 図 エラー内容ごとに例外クラスをスローすべき ソースコードを載せときます。 [DAOクラス]UserDAO.java ユーザーマスタテーブルアクセス用クラス。 [例外クラス]DupplicateIDException.java 指定されたIDがすでに利用中のときにスローする検査例外クラス。 [例外クラス]InvitedByMyselfException.java 新規登録者本人を紹介者と指定したときにスローする検査例外クラス。 [例外クラス]NoInviterException.java 指定された紹介者がいないときにスローする検査例外クラス。 [例外クラス]NotFilledException.java 未入力の項目があるときにスローする検査例外クラス。 [presentationレイアクラス]IndexSrv.java サーブレットクラス。