Tomcat5.5数据源的配置


关于tomcat数据源的配置网上有很多相关的资料,现在我把经过验证的配置方法写下来,一是供大家参考,二来可以总结一下。

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

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

Tomcat5.5数据源的配置_第1张图片

Tomcat5.5数据源的配置_第2张图片

这一步完成后在%Tomcat_HOME%conf&#92;server.xml中的 <GlobalNamingResources> </GlobalNamingResources>中,tomcat会自动生成以下一段代码:
<Resource
      name="jdbc/ipsdb"
      type="javax.sql.DataSource"
      password="sa"
      driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
      maxIdle="2"
      maxWait="5000"
      username="sa"
      url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=IPSNET"
      maxActive="4"/>
这就是我们刚才配置的数据源。

3》 编辑%Tomcat_HOME%conf&#92;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"
    />
注意,这些参数和上一步配置的数据源参数要一定相同,否则就会出错。网上的资料都忽略了这一步,直接去配置web.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/ipsdb是jndi名,一定要和上面的一致。到这里我们的配置工作就完成了,现在可以重启你的猫,进行测试了。在测试之前,大家可以进入admin管理页面看看,我们刚配置的数据源是全局的,即所有的应用都可以用的,在树形菜单的Service-->Host(Localhost)下的任意节点,都可以看到我们所配置的数据源(如图三)。


Tomcat5.5数据源的配置_第3张图片

5》测试,测试的jsp代码我是在网上找的,大家也可以通过写一个类来测试,在测试之前,请确保将数据库的驱动jar包放到%Tomcat_HOME%&#92;webapps&#92;你的应用目录&#92;WEB-INF&#92;lib目录下和%Tomcat_HOME%common&#92;lib目录下。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ 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");
     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

测试成功!

你可能感兴趣的:(sql,sql,tomcat,jsp,server,配置管理)