cafegale(LeafCage備忘録)

LeafCage備忘録(はてなダイアリー)と統一しました。

サーブレット/JSPでWebアプリを作る勉強(Eclipseを使って)

準備

Eclipse all in oneを取得

JDBC

MySQL JDBCドライバの取得
JDBCドライバの取得(MySQL用) - データベース接続 - サーブレット入門]

    • WEB-INF/lib/以下にコピーして、Eclipse右クリ>ビルドパス>ビルドパスに追加を選択(アイコンが瓶になると成功*1
    • mysql-connector-java-5.1.23\mysql-connector-java-5.1.23-bin.jarのファイルを使う

・環境確認
JavaでJDBCを用いてMySQLへ接続する (前編) - devel-log.tar.gz
JavaでJDBCを用いてMySQLへ接続する (後編) - devel-log.tar.gz

struts

別エントリにした
strutsの導入 - LeafCage備忘録

JSPの重要概念

暗黙オブジェクト
オブジェクト名 実装クラス 説明
request javax.servlet.http.HttpServletRequest クライアントから送信されたリクエスト情報を処理する
response javax.servlet.http.HttpServletResponse クライアントに送信するレスポンス情報を処理する
session javax.servlet.http.HttpSession セッションスコープ内で共有する情報を管理する
application javax.servlet.ServletContext コンテナ情報、アプリケーションスコープ内で共有する情報を管理する
page java.lang.Object JSPページそのもの
pageContext javax.servlet.jsp.PageContext ページスコープ内(JSPページ内)で共有する情報の管理する
out javax.servlet.jsp.JspWriter クライアントに情報を出力する
config javax.servlet.ServletConfig web.xmlで定義した初期化パラメータを取得する
exception java.lang.Throwable 例外

JSPリファレンス(暗黙オブジェクト)

EL式の暗黙オブジェクト
オブジェクト名 説明
requestScope リクエストスコープのMAP
sessionScope セッションスコープのキーと値のMAP
applicationScope アプリケーションスコープのキーと値のMAP
pageScope ページスコープのキーと値のMAP ...
pageContext pageContextオブジェクト
param String形式のリクエストパラメータのキーと値のMAP
paramValues String配列形式のリクエストパラメータのキーと値のMAP
header String形式のリクエストヘッダーのキーと値のMAP
headerValues String配列形式のリクエストヘッダーのキーと値のMAP
cookie クッキーのキーと値のMAP
initParam 初期化パラメータのキーと値のMAP

JSPリファレンス(EL式の暗黙オブジェクト)

はまるようなこと

  • staticメソッドからは非static変数にアクセスできない
  • PrintWriterを開いたらそれ以降のページに描写処理はすべてそれに取られる
  • next()なしにResultSetを読み取ろうとしてはならん

「ResultSet」インターフェースのオブジェクトにはカーソルという概念があります。「ResultSet」オブジェクトには複数の行が含まれていますが、カーソルは「ResultSetオブジェクト」の中での現在の行の位置を表します。

最初はカーソルは先頭の行の1つ前にあります。その為、「ResultSet」から何か値を取り出そうとすると、まずカーソルを1つ進めて最初の行の位置にカーソルとを持って行きます。それからデータを取り出すと、「ResultSet」内にある最初の行のデータを取り出せます。次の行のデータを取り出す場合にはカーソルを再度1つ進めて次の行位置にまで持っていってから改めてデータを取り出すことになります。

データの取得(SELECT) - データベース接続 - サーブレット入門

*1:参照ライブラリーに追加される。なお解除は瓶のアイコンの上で右クリ>ビルドパス>ビルドパスから削除