什么都没有的路边摊

无证小贩

BlogJava 首页 新随笔 联系 聚合 管理
  7 Posts :: 0 Stories :: 4 Comments :: 0 Trackbacks

 JDK 1.5
  Tomcat 5.0.30
  SQLServer2000

---------------------------------------------------------------------------------------

%TOMCAT_HOME%\conf\Server.xml结构分析

<Server>

<Service>

      <Connector></Connector>

      <Engine>

         <Host>

            <Context></Context>

</Host>

</Engine>

</Service>

</Server>

 

<Server><!--顶层元素,Tomcat实例的顶层元素,可包含一个或多个Service-->
<Service><!--
连接器元素,包含一个Engine元素,以及一个或多个Connector元素,这些            Connector共享同一个Engine-->
< Connector>< !--
实际和客户交互的组件-->
< Engine>< !--
容器类元素,可以包含多个Host元素-->
< Host>< !--
定义一个虚拟主机,它可以包含一个或多个Web应用-->
< Context>< !--
使用最频繁的元素,每个Context代表运行在虚拟主机上的应用-->
嵌套类元素可以加到容器组件中如:< Logger>< Value>< Realm>元素

Context元素功能分析

[installdir]\webapps 目录下创建一个名为 blog 的子目录。然后在 blog 子目录下,创建标准的 Web 应用程序目录结构:

[installdir]\webapps\blog

[installdir]\webapps\blog\WEB-INF

[installdir]\webapps\blog\WEB-INF\classes

[installdir]\webapps\blog\WEB-INF\lib

接下来,添加指向 Web 应用程序的 contextcontext 只是一个别名,它告诉 Tomcat 在哪里可以访问 Web 应用程序。我们的 context 路径将是 /blog,它将指向我们刚刚创建的 blog 子目录。在用户输入 http://localhost:8080/blog 后,将转至 webapps 下的顶级 banner 目录。如果他想运行我们的 BlogServlet(将存在于 WEB-INF/classes 目录中),他可以使用 http://localhost:8080/blog/servlet/BlogServlet

要添加 /blog context,首先,我们需要编辑 Tomcat conf 目录中的 server.xml 文件。在接近该文件底部的位置,您会看到几个 context 标记。那里应该有一个用于 /admin context 和一个用于 /examples context。请添加以下 context 标记:

<!-- BannerAd Context -->

<Context path="/blog" docBase="blog"

debug="0" reloadable="true" crossContext="true"/>

--------------------------------------------------------------------------------------

开始数据池配置

1.配置环境

将需要的jar包打入全局目录,即%TOMCAT_HOME%\common\lib下,如SQLServer的数据驱动等。

2.配置TOMCAT(使用POOLMAN的数据池)

·服务器端:配置Server.xml文档(%TOMCAT_HOME%\conf\Server.xml)

<Context path="/blog" docBase="blog" debug="0" reloadable="true">
<Resource name="jdbc/blog" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/blog">
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name> <value>jdbc:microsoft:sqlserver://localhost:1433;databaseName=blog</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>sa</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>20</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
·.客户端:配置web.xml文档(\webapps\banner\WEB-INF\web.xml)

<resource-ref>
<description>SqlServer Datasource example</description>
<res-ref-name>jdbc/blog</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>

</resource-ref>

·测试:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"
"http://www.w3.org/TR/REC-html40/strict.dtd">
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page session="false" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Test of MySQL connection pool</title>
</head>
<body>
<%
out.print("Start<br/>");
try{
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
Object obj = (Object) ctx.lookup("jdbc/blog ");
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
Connection conn = ds.getConnection();
out.print("connection pool runs perfectly!");
conn.close();
}
catch(Exception ex){
out.print(ex.getMessage());
ex.printStackTrace();
}
%>
</body>
</html>
-------------------------------------------------------------
5.0与5.5的区别
Tomcat5.5.X中,dbcp组件需要自己额外下载的,不像在Tomcat5.0.X中已经附带了,配置格式不一样,如下
<Resource name="jdbc/ExampleDB" auth="Container"
      type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://localhost/quickoa" username="root"
      password="" maxActive="100" maxIdle="30" maxWait="10000" />

posted on 2007-04-16 23:59 shadeclipse 阅读(260) 评论(0)  编辑  收藏 所属分类: 技术堆累

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问