Javaによる Webアプリケーション入門 第8回

Slides:



Advertisements
Similar presentations
年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
Advertisements

Web アプリケーション開発入門 大岩研究会 今野隆平 2002 年 5 月 9 日 Introduction to Web Application Development.
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
Confluence インストールに必 要な 知識と手順 リックソフト株式会社 2010 年 12 月.
2006年9月27日 植田龍男 Webサービス II (第1回) 年9月27日 植田龍男.
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
知的システム構築工房   Linux設定セミナーシリーズ 第5回 Webアプリ作成 2011年3月16日(水) 株式会社 アセンディア 1.
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
WebサービスII (第10回) 2007年11月28日 植田龍男.
Mavenによる プロジェクト管理 近畿大学理工学部 情報学科3年  小野実.
JSFによるWebアプリケーション開発 第11回
Servlet J2EE I 第8回 /
ネットワークプログラミング論 平成27年10月12日 森田 彦.
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
JavaServlet&JSP入門 01K0018 中村太一.
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
タグライブラリ ソフトウェア特論 第6回.
「クラナビ」 アーキテクチャ定義書 enTrance プロジェクト.
タグライブラリとJSP J2EE I 第10回 /
HTTPプロトコルとJSP (1) データベース論 第3回.
Curlの仕組み.
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
JavaBeans とJSP データベース論 第5回.
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
JSPの作成 J2EE II 第3回 2005年4月10日.
ネットワークプログラミング論 平成28年10月17日 森田 彦.
ServletによるWebアプリ作成 入門
ネットワークプログラミング論 平成28年12月12日 森田 彦.
データベースとJavaをつなげよう! ~JDBC~
Javaによる Webアプリケーション入門 第5回
プログラミング演習3 第2回 GUIの復習.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
データベースを使ったプログラミング ~JDBCを使ってみよう~
TomcatによるWebアプリケーション開発入門
ネットワークプログラミング論 平成28年12月26日 森田 彦.
JDBC J2EE I 第4回 /
Webアプリケーションの方向性 データベース論 第13回.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
Javaによる Webアプリケーション入門 第6回
JDBC データベース論 第12回.
Javaによる Webアプリケーション入門 第7回
プログラミング演習3 第2回 GUIの復習.
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
ネットワークプログラミング論 平成28年12月19日 森田 彦.
Javaによる Webアプリケーション入門 第11回
JDBC J2EE I (データベース論) 第5回 /
Servlet ソフトウェア特論 第7回.
Servlet J2EE I (データベース論) 第12回 /
Servlet データベース論 第6回.
JSFによるWebアプリケーション開発 第3回
JDBC ソフトウェア特論 第3回.
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Javaによる Webアプリケーション入門 第4回
Webインテリジェンス論 Linked Dataチュートリアル (インストール)
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
JSPの基本 データベース論 第2回.
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
MVCモデル2による Webアプリケーション
Presentation transcript:

Javaによる Webアプリケーション入門 第8回 JDBC (2) Javaによる Webアプリケーション入門 第8回

ここでの内容 JDBC を使った Servlet について学ぶ。 JNDI と DataSource を使ったプログラミングスタイルについて学ぶ。 コネクション・プーリングの手法について学ぶ。

JDBC を使った Servletの コンパイル 次のパッケージはJ2SEには入っていない。 javax.servlet パッケージ javax.servlet.http パッケージ Tomcat にはこのパッケージが含まれているので、classpath に含めてコンパイル javac –classpath “%CATALINA_HOME%\common\lib\servlet.jar; %HSQLDB_HOME%\lib\hsqldb.jar” JDBCTestServlet.java

TomcatにWebアプリケーションを置く %CATALINA_HOME/webapps/ に配置 ひとつのファイル (war ファイル) にまとめても良い。 test/ | |-- WEB-INF/ --- web.xml  必須 | |- classes/  Servlet ・Beanなどの | クラス | |- lib/  使用するライブラリ |-- loop.jsp  JSP

Tomcat への配置 Servlet はコンパイルして、WEB-INF/classes に置く。 JDBCドライバを WEB-INF/lib に置く。 WEB-INF/ --- web.xml |- classes/ --- LoopServlet.class |- lib/ --- hsqldb.jar (JDBCドライバ)

Connection の取得 JDBC を使うのは、まず Connection の取得が必要。 JNDI と DataSource を使う方法もある。

JNDI Java で ディレクトリサービス (LDAPなど) にアクセスするための API 抽象的な「名前」をキーにしてオブジェクトを取得できる。 オブジェクトの作成に必要な情報は設定ファイルに記述する。 JDBC, EJB, JavaMail などでも利用される。

サンプルプログラム // Context (ディレクトリ), InitailContext (ルート) Context context = new InitialContext(); // 名前に対応する DataSource を取得 DataSource ds = (DataSource)context.lookup( "java:comp/env/jdbc/library"); // Connection を取得 // ドライバ名、URL、ユーザ名、パスワードは設定 // ファイルに Connection con = ds.getConnection();

JNDI を使うと何が良いのか? プログラムに記述するのは「名前」だけ。 JDBCドライバ、URL、ユーザ名、パスワードといった情報は server.xml や web.xml に記述する。 データベースを変更しても、設定ファイルの変更だけで済む。 プログラムの保守性が高まる。

web.xml の記述 <resource-ref> <res-ref-name>jdbc/library</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

server.xml の記述 (1) %CATALINA_HOME%\conf フォルダにある。 Tomcat 全体に関する設定や、Webコンテナの実装に依存するような内容を記述 このファイルに、データベースへの接続に必要な情報を記述する。

server.xml の記述 (2) <Context path=“/test” docBase=“test” reloadable=“true”> <Resource name=“jdbc/library” auth=“Container” type=“java.sql.DataSource”/> <ResourceParams name=“jdbc/library”> (JDBCドライバ、URL、ユーザ名、パスワード) </ResourceParams> </Context>

Tomcat への配置 %CATALINA_HOME%\conf\server.xml にデータベースの設定を記述した。 そこで、JDBCドライバが含まれている jar ファイルを、%CATALINA_HOME%\common\lib にコピーする。

コネクション・プーリング Connection の取得 = 「重い」処理 コネクション・プーリング アプリで Connection が close されたら元に戻す データベースに早くアクセスできる

DBCP Jakarta Project によるコネクション・プーリングの機能 Tomcat に組み込まれているので、server.xml と web.xml の編集だけで利用できる。 DBCP のクラスを操作することもできる JNDI / DataSource を利用する

server.xml の例 <Context path=“/test” docBase=“test” reloadable=“true”> <Resource name=“jdbc/library” auth=“Container”   type=“java.sql.DataSource”/> <ResourceParams name=“jdbc/library”> (JDBCドライバ、URL、ユーザ名、パスワード) (ためておく Connection の数などを指定) </ResourceParams> </Context>