Tomcat5.5数据源配置

更新时间:2023-08-19 07:47:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Tomcat5.5数据源配置,各位互相学习

Tomcat5.5数据源的配置[图]

关于tomcat数据源的配置网上有很多相关的资料,由于之前一直都用weblogic,所以对tomcat的数据源配置不甚了解,刚好自己有个小项目,用到tomcat,所以这两天在网上找了很多有关tomcat配置数据源的资料,但都不行,都报异常:Cannot create JDBC driver of class '' for connect URL 'null'和No suitable driver ,那些贴这些资料的网友我想都是没通过自己的验证就通通转载下来了,有时想想还真有点不负责任。不多说了,现在我把经过验证的配置方法写下来,一是供大家参考,二来可以总结一下。

我这介绍的是针对tomcat5.5的配置,其他版本我还没试过,不过应该差不多吧,有空再试下。 1》 安装tomcat-admin插件。这个插件的作用是可以引导你通过web的方式去配置数据源,就像weblogic配置数据源一样。这个插件网上有的下,解压后会提供一个admin.xml文件和一个admin文件夹,将admin.xml文件放到%Tomcat_HOME%conf\Catalina\localhost目录下,将admin文件夹放到%Tomcat_HOME%\server\webapps目录下,这样这个插件就安装好了。

2》 启动Tomcat,输入进入tomcat的admin配置管理页面,进入后看左边的树形菜单,如图一,点Data Sources进入数据源的配置,在配置栏中输入相应参数(图二),大家根据自己的数据库赶写相应数据库的驱动类和URL,然后按save--->commit changes保存配置。

Tomcat5.5数据源配置,各位互相学习

这一步完成后在%Tomcat_HOME%conf\server.xml中的 <GlobalNamingResources> </GlobalNamingResources>中,tomcat会自动生成以下一段代码 ,如果没有手动添加:

<Resource

name="jdbc/mastest"

type="javax.sql.DataSource"

password="sa"

driverClassName="com.mysql.jdbc.Driver"

maxIdle="2"

maxWait="5000"

username="sa"

url="jdbc:mysql://192.168.2.201:3306/mastest"

maxActive="4"/>

这就是我们刚才配置的数据源。

3》 编辑%Tomcat_HOME%conf\context.xml,在<Context></Context>之间添加以下代码 <Resource

auth="Container"

type="javax.sql.DataSource"

name="jdbc/ipsdb"

description="ipsdb"

username="sa"

password="sa"

maxActive="4"

maxIdle="2"

maxWait="5000"

driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=IPSNET" />

注意,这些参数和上一步配置的数据源参数要一定相同,否则就会出错。网上的资料都忽略了这一步,直

Tomcat5.5数据源配置,各位互相学习

接去配置web.xml文件了。( 这步也可以在用\conf\Catalina\localhost\**.xml **为你工程的名字)

4》 配置应用目录下的web.xml文件。在<web-app></web-app>之间加入以下代码: <resource-ref>

<description>ipsdb</description>

<res-ref-name>jdbc/ipsdb</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

注意,jdbc/mastest是jndi名,一定要和上面的一致。到这里我们的配置工作就完成了,现在可以重启你的猫,进行测试了。在测试之前,大家可以进入admin管理页面看看,我们刚配置的数据源是全局的,即所有的应用都可以用的,在树形菜单的Service-->Host(Localhost)下的任意节点,都可以看到我们所配置的数据源(如图三)。

5》测试,测试的jsp代码我是在网上找的,大家也可以通过写一个类来测试,在测试之前,请确保将数据库的驱动jar包放到%Tomcat_HOME%\webapps\你的应用目录\WEB-INF\lib目录下和%Tomcat_HOME%common\lib目录下。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

Tomcat5.5数据源配置,各位互相学习

<%

String path = request.getContextPath();

String

+"/";

%>

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

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'testPool.jsp' starting page</title>

<meta http-equiv="pragma" c>

<meta http-equiv="cache-control" c>

<meta http-equiv="expires" c>

<meta http-equiv="keywords" c>

<meta http-equiv="description" c>

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

<body>

This is my JSP page. <br>

<%

Connection c;

Context initCtx=new InitialContext();

Context ctx=(Context)initCtx.lookup("java:comp/env");

javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("jdbc/SQL");

c.getConnection();

Statement stmt=conn.createStatement();

PreparedStatement ps=conn.prepareStatement("select * from USERS"); basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path

Tomcat5.5数据源配置,各位互相学习

ResultSet rs=ps.executeQuery(); while(rs.next()){

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

rs.close();

stmt.close();

out.println("ok");

%>

</body>

</html>

我的测试结果为:

This is my JSP page.

admin

ok

测试成功!

本文来源:https://www.bwwdw.com/article/l6gj.html

Top