站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题win2k环境下基于JBOSS的J2EE开发实践-----之二、数据库连接池的配置与测试

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

摘要: win2k环境下基于JBOSS的J2EE开发实践 之二、数据库连接池的配置与测试 说明 :此节是在上一节基础之上写的,上一节中我们把JBOSS服务器配置好,并测试通过了。这一节我们来看看怎么样在JBO...

win2k环境下基于JBOSS的J2EE开发实践 

        之二、数据库连接池的配置与测试



说明:此节是在上一节基础之上写的,上一节中我们把JBOSS服务器配置好,并测试通过了。这一节我们来看看怎么样在JBOSS中用Jsp和Servlet连结数据库,并使用它的连接池,你一定要在看完上节后再看这一节。作者联系地址:josserchai@yahoo.com

一、配置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服务器
功能;efault,这是默认的方式;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文件的内容如下:



MySql
jdbc:mysql://10.0.0.18:3306/test
org.gjt.mm.mysql.Driver
root



解说一下上面的内容:
表示的是jndi名称,就是呆会在程序中查找jndi名称要用的(还记得上节中我们用的查找ejb的jndi吧,就是那个,
只不过这个是查找数据库连接池的);是连接字符串,前面是固定的后面紧跟的是你的数据库所在的IP地址及
mysql默认端口,然后跟的是数据库名如test;是固定的数据库驱动类库;
是用于连接数据库的用户名,我这里用的是root,你可以用其它的
是上面用户的密码,我的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\\\"%>


测试MySql数据库

<%@page import = \\\"javax.sql.DataSource\\\"%>
<%@page import = \\\"javax.naming.InitialContext\\\"%>
<%@page import=\\\"java.sql.*\\\"%>

测试MySql数据库


<%
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\\\") + \\\"
\\\");
}
conn.close();
%>


然后,把此文件所在的目录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,
其内容如下:



MSSQL
jdbc:microsoft:sqlserver://10.0.0.18:1433;DatabaseName=test
com.microsoft.jdbc.sqlserver.SQLServerDriver
sa



解说就不必了,各项内容和上面mysql的基本差不多。此文件一定要放入C:\\\\JBOSS\\\\server\\\\all\\\\deploy目录中。
6、编写JSP测试文件,在在上一节的C:\\\\JBOSS\\\\myproject\\\\jsp\\\\hello.war目录中,新建一个testmssql.jsp文件,内容如下:
<%@page contentType=\\\"text/html; charset=gb2312\\\"%>


测试SqlServer2K数据库

<%@page import = \\\"javax.sql.DataSource\\\"%>
<%@page import = \\\"javax.naming.InitialContext\\\"%>
<%@page import=\\\"java.sql.*\\\"%>

测试SqlServer2K数据库


<%
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup(\\\"java:/ MSSQL \\\");//这里要和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\\\") + \\\"
\\\");
}
conn.close();
%>


然后,把此文件所在的目录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中连接数据库并给出一个示例。

↑返回目录
前一篇: win2k环境下基于JBOSS的J2EE开发实践----之一初始基础环境的配置与测试
后一篇: win2k环境下基于JBOSS的J2EE开发实践