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

类别:Java 点击:0 评论:0 推荐:



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

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

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

一、配置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文件的内容如下: <?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(); 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") + "<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中连接数据库并给出一个示例。

本文地址:http://com.8s8s.com/it/it16616.htm