CSDN博客

img AbnerChai

win2k环境下基于JBOSS的J2EE开发实践-----之二、数据库连接池的配置与测试

发表于2004/4/23 13:25:00  2774人阅读

分类: Java/J2ee基础

JBOSS开发实践


基于 win2k环境下的JBOSS开发实践
        之二、数据库连接池的配置与测试
说明:此节是在上一节基础之上写的,上一节中我们把JBOSS服务器配置好,并测试通过了。这一节我们来看看怎么样在JBOSS中 用Jsp和Servlet连结数据库,并使用它的连接池,你一定要在看完上节后再看这一节。

一、配置MySQL数据库

1、安装好mysql数据库,这个很简单吧,直接上www.mysql.org上下一个,然后直接安装即可,如我就是把mysql安装在C:/mysql目 录下的。设置用户为root,密码为空。

2、在mysql中创建一个数据库,名字为:test;再在此库中创建一个表,表名为tree。使用脚本如下:

create database test;
create table tree(
nodeid int(11) NOT NULL,
nodetext varchar(60),
primary key (`nodeid`) )

3、然后再此表中插入两条数据
use test;
insert into tree values('1','测试数据1');
insert into tree values('2','测试数据2');

4、下载并安装mySQL的JDBC驱动程序,去www.mysql.org下载吧。
下载后的文件名为:mysql-connector-jdbc-3.0.10-stable.zip, 用winzip解开,找到其中mysql-connector-jdbc-3.0.10-stable目录中的mysql-connector-java-3.0.10-stable-bin.jar文件, 把它拷贝到JBOSS安装目录下的Server下的lib目录中,
即copy到C:/JBOSS/server/all/lib目录中

(注意,我们这里采用的是JBOSS的 具有全部功能的启动方式,JBOSS默认有三个启动方式,用run -c <方式>来启动,这三种方式是:

all,具有全部JBOSS服务器 功能;
default,这是默认的方式;
minimal,这是最小配置方式。

这三种方式分别对就于安装目录下的Server目录听all ,default 和minimal目录)。

同时我们要注意:在JBOSS的安装目录下C:/JBOSS/下还有一个lib目录即C:/JBOSS/lib目录,这个目录中存放的是 JBOSS服务器启动时所需的所有jar包,你不能将你的任何外部jar包放入此目录。如果你想启动default,则需将jdbc驱动程序放入 C:/JBOSS/server/default/lib目录中。

5、配置JBOSS的数据库配置文件:在C:/JBOSS/server/all/deploy目录中新建一个mysql-ds.xml文件,注意,文件名一定要以 -(中划线)ds结尾,此xml文件的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource> <jndi-name>MySql</jndi-name>
<connection-url>jdbc:mysql://10.0.0.18:3306/test</connection-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<user-name>root</user-name>
<password></password>
</local-tx-datasource>
</datasources>

解说一下上面的内容:

<jndi-name>表示的是jndi名称,就是呆会在程序中查找jndi名称要用的(还记得上节中我们用的查找ejb的jndi吧,就是那个, 只不过这个是查找数据库连接池的);

<connection-url>是连接字符串,前面是固定的后面紧跟的是你的数据库所在的IP地址及 mysql默认端口,然后跟的是数据库名如test;

<driver-class>是固定的数据库驱动类库;

<user-name>是用于连接数据库的用户名,我这里用的是root,你可以用其它的

<password>是上面用户的密码,我的root用户是空密码。

一定要注意这个文件的名称和存放的位置是:C:/JBOSS/server/all/deploy/mysql-ds.xml

6、编写测试用的jsp文件。 在上一节的C:/JBOSS/myproject/jsp/hello.war目录中,新建一个testmysql.jsp文件,内容如下:

<%@page contentType="text/html; charset=gb2312"%>

<html> <head> <title>测试MySql数据库</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<%@page import = "javax.sql.DataSource"%>

<%@page import = "javax.naming.InitialContext"%>

<%@page import="java.sql.*"%> <body> <h3>测试MySql数据库</h3>

<% InitialContext ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup("java:/MySql");//这里要和mysql-ds.xml中对应

Connection conn = ds.getConnection();

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("SELECT * FROM tree");

while ( rs.next() ){

out.println(rs.getString("nodetext") + "<br>");

}

conn.close();

%>

</body>

</html>

然后,把此文件所在的目录hello.war拷贝到C:/JBOSS/Server/all/deploy/目录中,如果你在上一节中己经考贝了此目录到此,则只 需把testmysql.jsp文件拷贝过来即可以了。

7、测试JSP连接数据库 重新启动JBOSS服务器,run -c all,如果你的服务器在你拷贝JDBC驱动程序到server/all/lib目录中之前己经运行,你一定要重启服 务器才行。然后在IE或其它浏览器中输入:http://localhost:8080/hello/testmysql.jsp,看看出来什么了,是不是有两行数据? 对了,这就对了。至于Servlet和EJB中使用数据库连接池的方法也是一样,这个我就不写了。自己去测试一下吧。

二、配置SQL Server2000数据库

配置SQL server数据库,并使用它的连接池过程基本一样的,我就写的简略了一些:
过程如下:

1、安装一个SQL Server 2000数据库,或你己经有了在其它电脑上也可以。设置一个用户用于连接它,我这里用sa,密码为空。

2、运行SQL Server客户端,运行以下脚本,生成数据库及表和插入数据: create database test go create table tree( nodeid int primary key, nodetext varchar(60) ) go insert into tree values('1','SQL Server测试数据1') go insert into tree values('2','SQL Server测试数据2') go

3、下载并安装SQL Server的JDBC驱动程序,下载地址为: http://www.microsoft.com/downloads/details.aspx?FamilyID=86212d54-8488-481d-b46b-af29bb18e1e5&Dis playLang=en

下载后是一个可执行的安装包,直接运行它,默认安装到
C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC下面。

4、安装好后,把C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib目录中的三个jar文件 (msbase.jar;mssqlserver.jar;msutil.jar)拷贝到C:/JBOSS/server/all/lib目录中。

5、配置JBOSS使用MSSQL2k的配置文件,在C:/JBOSS/server/all/deploy目录中新建一个文件命名为:mssql-ds.xml, 其内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>MSSQL</jndi-name>
<connection-url>jdbc:microsoft:sqlserver://10.0.0.18:1433;DatabaseName=test
</connection-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<user-name>sa</user-name>
<password></password>
</local-tx-datasource>
</datasources>

解说就不必了,各项内容和上面mysql的基本差不多。此文件一定要放入C:/JBOSS/server/all/deploy目录中。

6、编写JSP测试文件,在在上一节的C:/JBOSS/myproject/jsp/hello.war目录中,新建一个testmssql.jsp文件,内容如下:

<%@page contentType="text/html; charset=gb2312"%>

<html> <head> <title>测试SqlServer2K数据库</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<%@page import = "javax.sql.DataSource"%>

<%@page import = "javax.naming.InitialContext"%>

<%@page import="java.sql.*"%>

<body>

<h3>测试SqlServer2K数据库</h3>

<% InitialContext ctx = new InitialContext();

//这里要和mysql-ds.xml中对应

DataSource ds = (DataSource)ctx.lookup("java:/ MSSQL ");

Connection conn = ds.getConnection();

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("SELECT * FROM tree");

while ( rs.next() ){

out.println(rs.getString("nodetext") + "<br>");

}

conn.close();

%>

</body>

</html>

然后,把此文件所在的目录hello.war拷贝到C:/JBOSS/Server/all/deploy/目录中,如果你在上一节中己经考贝了此目录到此, 则只需把testmssql.jsp文件拷贝过来即可以了。

7、测试JSP连接数据库 重新启动JBOSS服务器,run -c all,如果你的服务器在你拷贝JDBC驱动程序到server/all/lib目录中之前己经运行,你一定要 重启服务器才行。然后在IE或其它浏览器中输入:http://localhost:8080/hello/testmssql.jsp,就可以看致到有两行数据输出。 总结,在上面我们给出了如何在JBOSS中配置和使用不同数据库连接池的方法并给出了测试程序。在下面一节中,我将给出如何在 EJB中连接数据库并给出一个示例。

0 0

相关博文

我的热门文章

img
取 消
img