配置环境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
则表示配置成功.