Tomcat+OracleでJNDIを使ったDB接続
TOMCAT_HOME/common/lib以下に、
classes12.jar common-collection-*.*.jar common-dbcp-*.*.jar common-pool-*.*.jar
を置く。classes12.jarは、classes12.zipの拡張子をjarにするだけ(ファイル名を変更)でいいらしい。TOMCAT_HOME/conf/server.xmlの
<Resource name="jdbc/oracleDB" auth="Container" type="javax.sql.DataSource" /> <ResourceParams name="jdbc/oracleDB"> <parameter> <name>username</name> <value>user</value> </parameter> <parameter> <name>password</name> <value>pass</value> </parameter> <parameter> <name>driverClassName</name> <value>oracle.jdbc.driver.OracleDriver</value> </parameter> <parameter> <name>url</name> <value>jdbc:oracle:thin:@localhost:1521:dbname</value> </parameter> </ResourceParams>
プロジェクトのweb.xmlの
<resource-ref> <res-ref-name> jdbc/oracleDB </res-ref-name> <res-type> javax.sql.DataSource </res-type> <res-auth> Container </res-auth> </resource-ref>
以下のようにDBに接続する。
Context initCtx = new InitialContext(); Context ctx = (Context)initCtx.lookup("java:/comp/env"); DataSource ds = (DataSource)ctx.lookup("jdbc/oracleDB"); Connection conn = ds.getConnection(); // DB処理 conn.close();