java通过数据库连接池链接oracle
开发工具:Eclipse J2EE 3.6
运行环境:jdk1.6
部署环境:Tomcat7
数据库连接池用的是 dbcp,网上 download 下来的三个 jar 包。
把数据库连接池包和 jdbc 的包放到 tomcat 的 lib 下。
新建 web project,在 META-INF 下新建 context.xml 文件,放入代码(一系列配置)。
<Context path="Prj02" docBase="Prj02" debug="5" crossContext="true" reloadable="true" cachingAllowed="true" cacheMaxSize="20480" cacheTTL="10000"> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/Prj02" auth="Container" type= "javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:orcl" username="yff" password="yff" maxActive="100" maxIdle="30" maxWait="10000"> </Resource> </Context>
WebContent 下新建 index.jsp,放入代码(jdbc 连接,sql 语句查询)。
<%@ page import="java.sql.*,javax.sql.*,javax.naming.*,org.apache.commons.dbcp.BasicDataSource,javax.rmi.PortableRemoteObject;" %> <% Connection conn = null; Connection m_conn; Statement m_stat; try{ Context ctx = new InitialContext(); Object obj = ctx.lookup("java:comp/env/jdbc/Prj02"); DataSource ds = (DataSource)PortableRemoteObject.narrow(obj, DataSource.class); conn = ds.getConnection(); if(conn!=null){ m_conn = ds.getConnection(); m_stat = m_conn.createStatement(); ResultSet rs = m_stat.executeQuery("select * from TEST");</span><span style="color: rgba(0, 0, 255, 1)">while</span><span style="color: rgba(0, 0, 0, 1)">(rs.next()){ out.print(</span>"id =" + rs.getInt("id") + ", name=" + rs.getString("name")+"\n"<span style="color: rgba(0, 0, 0, 1)"> ); } } }</span><span style="color: rgba(0, 0, 255, 1)">catch</span><span style="color: rgba(0, 0, 0, 1)"> (Exception e) { out.print(e.getMessage()); e.printStackTrace(); }</span><span style="color: rgba(0, 0, 255, 1)">finally</span><span style="color: rgba(0, 0, 0, 1)"> { </span><span style="color: rgba(0, 0, 255, 1)">if</span>(conn!=<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">) conn.close(); }
%>
部署至 Tomcat 上。
(oracle 内数据)
部署之后的效果。