博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

IT民工窝棚

有意思的事很多,有多少有意义的呢?
   qbq.cublog.cn
关于作者  
姓名:QBQ
职业:PG
年龄:25
位置:DL
个性介绍:有意思的事很多,有多少有意义的呢?

我的分类  




开源技术之Tomcat数据源配置总结
配置环境Tomcat5.0.28+MSSQLServer2000+MS JDBC Driver

一、     安装Tomcat5.0.28

二、     安装MS JDBC Driver
假 设安装路径是F:\green\Microsoft SQL Server 2000 JDBC,那么在F:\green\ Microsoft SQL Server 2000 JDBC\lib下面有三个文件msbase.jar、sqlserver.jar、 msutil.jar,并将此三个文件复制到%TOMMCAT_HOME%\common\lib目录下

三、     注册JNDI数据源
修改%TOMCAT_HOME%\conf\Catalina\localhost\目录下您的应用程序对应的配置文件
如:我的一个应用WebDemo.xml文件如下:
<?xml version='1.0' encoding='utf-8'?>
<Context workDir="work\Catalina\localhost\WebDemo" path="/WebDemo" docBase="WebDemo">
     <Resource type="javax.sql.DataSource"   auth="Container"   name="jdbc/northwind"/>  
     <ResourceParams name="jdbc/northwind">
      <!--等待数据库连接可用的时间ms,此例设为10秒.超时会抛出异常
        设置为-1表示永久等待-->

   <parameter>
         <name>maxWait</name>
         <value>5000</value>
       </parameter>
       <!-- 连接池中最大连接数。设置为0表示连接数没有限制-->
       <parameter>
         <name>maxActive</name>
         <value>4</value>
       </parameter>
       <!-- 连接数据库的用户名字和密码-->
      <parameter>
         <name>username</name>
         <value>sa</value>
       </parameter>     
      <parameter>
         <name>password</name>
         <value>jckjdkmcj</value>
       </parameter>
      <!-- JDBC 连接的 url -->
       <parameter>
         <name>url</name>
         <value>jdbc:microsoft:sqlserver://10.0.0.168:1433;databaseName=northwind</value>
       </parameter>
      <!-- JDBC驱动的类名-->
       <parameter>
         <name>driverClassName</name>
         <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
       </parameter>
      <!-- 连接池中最大空闲连接数。设置为-1表示连接数没有限制-->
       <parameter>
         <name>maxIdle</name>
         <value>2</value>
       </parameter>      
     </ResourceParams>
    <Resource type="javax.sql.DataSource" name="jdbc/zydb"/>
     <ResourceParams name="jdbc/zydb">
       <parameter>
         <name>url</name>
         <value>jdbc:oracle:thin:@10.0.0.168:1521:ZYDB</value>
       </parameter>
       <parameter>
         <name>password</name>
         <value>jckjdkmcj</value>
       </parameter>
       <parameter>
         <name>maxActive</name>
         <value>4</value>
       </parameter>
       <parameter>
         <name>maxWait</name>
         <value>5000</value>
       </parameter>
       <parameter>
         <name>driverClassName</name>
         <value>oracle.jdbc.driver.OracleDriver</value>
       </parameter>
       <parameter>
         <name>username</name>
         <value>zhangyi</value>
       </parameter>
       <parameter>
         <name>maxIdle</name>
         <value>2</value>
       </parameter>
     </ResourceParams>
</Context>
四、     如果你在Eclipse或JBuilder中开发的话,你需要在你的Web应用程序的WEB-INF\Web.xml文件中注册数据源,文件添加如下内容:
     <resource-ref>
         <res-ref-name>jdbc/northwind</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
     </resource-ref>
一定注意:同时检查一下你部署到Tomcat中对应的
彩色的加粗文字是添加上的,用来注册数据源的JNDI,在这我注册了两个数据源,一个是oracle的,一个是MSSQL   Server 2000的。

在做任何配置时最好不要修改Tomcat服务器的任何文件,如servel.xml或web.xml文件,而所有的操作和配置都可以在你自己的应用配置文件中来完成,这样即使培植错误也不至于服务器的崩溃。

按以上步骤就可以完成数据源的配置,你可以写一些程序来测试。

用JSP来测试,Index.jsp文件程序如下:
<%@ page language="java" import="java.util.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
out.println(basePath);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
   <head>
     <base href="<%=basePath%>">  
     <title>My JSP 'index.jsp' starting page</title>  
     <meta http-equiv="pragma" content="no-cache">
     <meta http-equiv="cache-control" content="no-cache">
     <meta http-equiv="expires" content="0">
     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     <meta http-equiv="description" content="This is my page">  
     <!--
     <link rel="stylesheet" type="text/css" href="styles.css">
     -->
   </head>
   <body>
     This is my JSP page. <br>
     <%         
Context ctx=null;
    Connection cnn=null;
    java.sql.Statement stmt=null;
    ResultSet rs=null;
    try
    {
     ctx=new InitialContext();
     if(ctx==null)
      throw new Exception("initialize   the Context   failed");
     DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/northwind");
     out.println(ds);
     if(ds==null)
      throw new Exception("datasource   is   null");   
      try{
         cnn=ds.getConnection();   
         out.println("<br> connection:"+cnn);
     }catch(Exception e){
         e.printStackTrace();
     }
    }
    finally
    {
     if(rs!=null)
      rs.close();
     if(stmt!=null)
      stmt.close();
     if(cnn!=null)
      cnn.close();
     if(ctx!=null)
      ctx.close();
    }
    %>
   </body>
</html>
在你的浏览器中运行http://10.0.0.168:8888/WebDemo/Index.jsp即可以看到结果:如下:

你看到连接成功的标志,就意味这你的数据源配置成功!!!

记住:要想配置成功,就要认真检查需要配置的每一个细节。
 
 
 
开源技术之Tomcat数据源配置总结:
1 把JDBC驱动程序放在$CATALINA_HOME/common/lib/目录下
2 在文件$CATALINA_HOME/conf/server.xml中增加数据源定义
   加到<Host></Host>标签中
   <Context path="/DBTest" docBase="DBTest"
         debug="5" reloadable="true" crossContext="true">

   <Resource name="jdbc/SqlServerDB"
                auth="Container"
                type="javax.sql.DataSource"/>

   <ResourceParams name="jdbc/SqlServerDB">
     <parameter>
       <name>factory</name>
       <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
     </parameter>

     <!-- 连接池中最大连接数。设置为0表示连接数没有限制-->
     <parameter>
       <name>maxActive</name>
       <value>100</value>
     </parameter>

     <!-- 连接池中最大空闲连接数。设置为-1表示连接数没有限制-->
     <parameter>
       <name>maxIdle</name>
       <value>30</value>
     </parameter>

     <!--等待数据库连接可用的时间ms,此例设为10秒.超时会抛出异常
        设置为-1表示永久等待-->
     <parameter>
       <name>maxWait</name>
       <value>10000</value>
     </parameter>

     <!-- 连接数据库的用户名字和密码-->
     <parameter>
      <name>username</name>
      <value>javauser</value>
     </parameter>
     <parameter>
      <name>password</name>
      <value>javadude</value>
     </parameter>
    
     <!-- JDBC驱动的类名-->
     <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
     </parameter>
    
     <!-- JDBC 连接的 url -->
     <parameter>
       <name>url</name>
       <value>jdbc:microsoft:sqlserver://localhost:1433</value>
     </parameter>
   </ResourceParams>
</Context>

3 web.xml 配置
在web应用的WEB-INF/web.xml文件中增加对数据源的引用
   <resource-ref>
       <description>DB Connection</description>
       <res-ref-name>jdbc/SqlServerDB</res-ref-name>
       <res-type>javax.sql.DataSource</res-type>
       <res-auth>Container</res-auth>
   </resource-ref>
4 客户代码片断
   Context myInitialContext = new InitialContext();
    Context localContext = (Context) myInitialContext.lookup("java:comp/env");
    DataSource myDataSource = (DataSource)
    localContext.lookup("jdbc/SqlServerDB");

    Connection myConn = myDataSource.getConnection();
 
 
另一篇
 

1:端口
2:虚拟目录:
为什么要配置虚拟目录,有何要求?
所有的开发程序保存在虚拟目录之中
要求:WebRoot
  
   1:WEB-INF
    web.xml文件
     修改:
   2:server.xml

影射:
表示要配置的虚拟目录:
path="/test" /必须有,表示虚拟目录的名称:http:localhost:8080/test
docBase=虚拟路径
<Context path="/text" docBase="F:\testWeb"/>

第一次:*.jsp->*.java->*.class->运行显示
第一次:   |------|

java中的换行在HTML中根本不起任何作用,可以通过HTML标记中的<br>完成换行操作.

本章重点:Tomcat的安装
Tomcat的配置(端口与虚拟目录的设置)
================================================================================
学习总结:
1:修改Tomcat 5.0\conf\server.xml
   怎样修改:
    在</Host>前写:
    <Context path="/虚拟目录名" docBase="硬盘上的实际目录地址"/>
    如我的虚拟目录名定义为:test,放在我的F盘的JspRoot目录下
    <Context path="/test" docBase="F:\JspRoot"/>
2:在你的实际目录下新建WEB-INF,把tomcat\Tomcat 5.0\webapps\ROOT\WEB-INF\web.xml文件拷贝到你新建的WEB-INF下并修改:
   直接删除
    <!-- JSPC servlet mappings start -->  
  
    <!-- JSPC servlet mappings end -->
   中间部分即可.

测试是否配置成功:在你新建的虚拟目录下做一个测试Jsp文件:内容如下:
   <html>
   <head>
    <title>HelloWord,This is my first Jsp Web</title>
   </head>
   <body>
    <%
    out.println("HelloWord,This is my first Jsp Web<br/>");
    out.println("Hello mole www.my3377.com");
    %>
   </body>
   </html>
保存文件名为:HelloJsp.jsp
重新启动Tomcat
在浏览器中输入:http://localhost:8080/test/HelloJsp.jsp查询你刚才编写的内容.
显示:HelloWord,This is my first Jsp Web
   Hello mole www.my3377.com
则表示配置成功.

 发表于: 2008-04-09,修改于: 2008-04-09 09:23 已浏览118次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.03061

京ICP证041476号