转自BeanSoft's Java Blog 作者刘长炯官方博客
Weblogic数据源配置
选择数据库类型
定义连接属性(URL等)
测试数据库连接
连接池配置结束. 连接池在JNDI上没有显示信息.
配置数据源绑定到JNDI上.
JNDI 路径区分大小写
发布成功后可以在JSP/Servlet/Web模块中的Java类中访问数据源:
<%@ page language="java" import="java.sql.*" pageEncoding="GBK"%>
JNDI 数据源测试:
<%
javax.naming.InitialContext ctx = new javax.naming.InitialContext ();// 打开 JNDI 树
javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("jdbc/oracle");// 找文件, JNDI 路径区分大小写
Connection conn = ds.getConnection();
out.println(conn.getMetaData().getDatabaseProductName());// 数据库版本
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from student");
while(rs != null && rs.next()) {
out.println(rs.getString(2) + "<br>");
}
rs.close();
stmt.close();
conn.close();
%>
连接 SQL Server无法JDBC连接的问题: 安装 Sqlserver SP3, 或者启用TCP/IP.
如果Weblogic没带驱动, 需要修改启动脚本:
C:\bea\user_projects\domains\mydomain\startWebLogic.cmd
et CLASSPATH=%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%\jre\lib\rt.jar;%WL_HOME%\server\lib\webservices.jar;%CLASSPATH%
加入自己的JDBC驱动jar即可到最后即可
而在MyEclipse里启动需要配置Server的属性中的类路径:
1. 将JDBC驱动jar放入 TOMCAT安装目录/common/lib 下面,例如 ojdbc14.jar;
2. 在项目的WebRoot/META-INF/创建文件 context.xml, 里面写入 Datasource 配置信息:
context.xml文件写法
<Context>
<!-- 配置名为 dstest 的数据库连接池 -->
<Resource name="jdbc/oracle" auth="Container" type="javax.sql.DataSource"
maxActive="10" maxIdle="30" maxWait="10000"
username="scott" password="tiger" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:ZKTB"/>
</Context>
访问代码:
<%@ page language="java" import="java.sql.*" pageEncoding="GBK"%>
JNDI 数据源测试:
<%
javax.naming.InitialContext ctx = new javax.naming.InitialContext ();// 打开 JNDI 树
//javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("jdbc/oracle");// 找文件
javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/oracle");// Tomcat 访问 JNDI java:comp/env/
Connection conn = ds.getConnection();
out.println(conn.getMetaData().getDatabaseProductName());// 数据库版本
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from student");
while(rs != null && rs.next()) {
out.println(rs.getString(2) + "<br>");
}
rs.close();
stmt.close();
conn.close();
%>