Java読書会BOF「基礎からのサーブレット/JSP 第5版」を読む会 第3回議事録
[ 戻る ]
========================================================
Java読書会BOF「基礎からのサーブレット/JSP 第5版」を読む会 第3回
========================================================
.. csv-table:: 開催概要
"日時", "2024年4月27日 10:00 - 17:00"
"場所", "川崎市教育文化会館 第3会議室"
"出席者(敬称略)", 高橋(徹)、吉本、高橋(智)(書記)"
Part 1: 基礎知識編
=================
Chapter09: いろいろな画面遷移
==========================
* P139 doGetメソッドやdoPostメソッドはprotectedとしてオーバーライドすべきだが、もちろんpublicでもよい
Chapter10: フィルタの作成
=======================
10-02 フィルタの作成方法
---------------------
* P141 「これらのメソッドは3つともオーバーライドする必要があります。」は、間違い!!
* Filterインターフェースは、initとdestroyは空のでデフォルト実装を持っているので
* P142 「void init(...」は「public void init(...」の間違い
* P142 「void destroy(...」は「public void destroy(...」の間違い
* P143 「void doFilter(...」は「public void doFilter(...」の間違い
Part 2: 応用編
=============
Chapter11: サーブレットの詳細
==========================
11-02 シングルインスタンス・マルチスレッド
-------------------------------------
* P159 「シングルインスタンス・マルチスレッド」という用語は、サーブレットの仕様書で説明・明記されているか?
* そんな用語は一切記載されていない!!
* P161 「1つのブラウザ、たとえばChromeで...カウンタの値が不適切になりません。」は、間違い!!
* Safari, Firefoxでは起きない
* そもそも「Chromeで全く同じURLにアクセスする際に、先行するリクエストのレスポンスが返る前には、後続のリクエストがStalledになる」という動作があるだけ
* Chrome内のキャッシュのロックが関係している
* もちろん、異なるクエリーパラメータを追加したりして同時にアクセスすれば当然不適切になる
Chapter12: HTTPのリクエストとレスポンス
====================================
12-02 レスポンス
---------------
* P173 サーブレットのdoGet/doPost内でsetStatusメソッドを呼び出さなかった場合の、サーブレットのデフォルトのステータスコードは?
* 200
* どこでセットされているのか?
* サーブレットコンテナ内で200にセットされた状態でdoGet/doPostが呼ばれる
Chapter14: データベース
======================
14-03 データベースアクセスの手順
----------------------------
* P201 「List | 14-02 All.java」のコードは問題が多すぎる!!
* 例外発生時に st.close(), con.close() が呼ばれず、コネクションプールに返却されない!!
* rs.close() も呼ばれていない!!
* JNDIのInitialContext(Context)の ic.close() も呼ばれていない!!
14-05 商品を登録するサーブレット
----------------------------
* P210 「int executeUpdate」メソッドの戻り値はint型だが、約21億行以上の更新があった場合(delete * from tableなど)は何が返る?
* オーバフローしたint値か?
* 何かのデータベースとJDBCドライバで実験してみる
* 宿題!!
* P212 insert文の実行時にトランザクションはどうなっているのか?
* JDBCドライバにも依るが、基本的にautoCommitがtrueに設定される
* H2 Database Engineの場合、context.xmlのJDBCドライバのURLに「;AUTOCOMMIT=OFF(FALSE,ON,TRUE)」を設定する
* Connection.getAutoCommit()メソッドとConnection.setAutoCommit(boolean)メソッドを自分で責任を持って呼ぶようにする
次回は、P225の「Chapter15 JavaBeansとDAO」から。
[ 戻る ]