jndi数据库连接方法 - seawavecau的专栏 - CSDNBlog

来源:百度文库 编辑:神马文学网 时间:2024/05/02 05:52:26
准备工作:
1 首先安装软件并配置jdk和tomcat的环境变量,tomcat的安装路径为C:\Tomcat5
2 在mysql中建立名称为mytest数据库
3 在C:\Tomcat5\common\lib目录下添加mysql数据驱动
mysql-connector-java-3.1.8-bin.jar  如果要连接别的数据库在这里添加其他的
数据库驱动
开始配置:
1 在C:\Tomcat5\conf\Catalina\localhost目录下建立名称为jspdev.xml的文件
代码内容如下




factory
org.apache.commons.dbcp.BasicDataSourceFactory


driverClassName
com.mysql.jdbc.Driver


url
jdbc:mysql://localhost/mytest?useUnicode=true&characterEncoding=GB2312


username
root


password



maxActive
20


maxIdle
10


maxWait
-1



此段代码为设置web应用程序的jndi数据源属性以及其虚拟目录。我的程序所放目录为D:\work_space\mytest\jspdev,虚拟目录的名称为jspdev
2  在D:\work_space\mytest\basetag目录下建立测试数据源连接的文件名称为test.jsp,代码如下
<%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%>
<%@ page contentType="text/html;charset=GB2312"%>

DataSourse Connection Test

<%
try{
java.sql.Connection con;
Statement stmt;
ResultSet rs;
Context ctx = new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/jspdev");
con=ds.getConnection();
stmt=con.createStatement();
rs=stmt.executeQuery("select * from  table1");
while(rs.next()){
out.print(rs.getInt(1);
out.print(rs.getString(2));
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){
out.print(e.getMessage());
}
%>


最后运行tomcat,在地址栏中输入http://localhost:8080/jspdev/test.jsp就可以看到运行结果了
注意:以下为连接其他数据库的连接改动字符串。
一,连接到sqlserver数据库
首先添加数据库连接驱动msbase.jar,mssqlserver.jar,msutil.jar放入tomcat的C:\Tomcat5\common\lib目录下。
更改C:\Tomcat5\conf\Catalina\localhost目录下jspdev.xml文件中

driverClassName
com.microsoft.jdbc.sqlserver.SQLServerDriver


url                                jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=mytest

这些部分的内容,并修改数据库连接的用户名和密码。
二,连接到orcale数据库
与连接sqlserver数据库相同,更改jspdev.xml文件中的数据库驱动和连接字符串为
oracle.jdbc.driver.OracleDriver
dbc:oracle:thin:@127.0.0.1:1521:databasename
并在C:\Tomcat5\common\lib目录下添加数据库驱动文件ojdbc14.jar
三,在jsp页面中我们也可以通过javabean来调用数据库连接,代码如下
DataBaseConnection.java
package com;
import java.sql.*;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.sql.DataSource;
//连接数据库的工具类。
public class DataBaseConnection
{
/**
*一个静态方法,返回一个数据库的连接。
*这样达到了对数据库连接统一控制的目的。
*/
public static Connection getConnection()
{
Connection con=null;
try
{
Context ctx = new InitialContext();
DataSourceds=(DataSource)ctx.lookup("java:comp/env/jdbc/jspdev");
con=ds.getConnection();
if (ds!=null)
{
con=ds.getConnection();
}
}
catch(Exception e)
{
e.printStackTrace();
}
return con;
}
}