Tomcat-5.5.20下配置MySQL-5.0.27的数据库连接池(二)

简介:

五、现在还没有配置好连接池,需要一个实际的Web应用例子来测试

1、  在数据zfvims上建立表bookssql如下
 
CREATE TABLE `books` (
  `id` varchar(8) NOT NULL,
  `name` varchar(24) default NULL,
  `title` varchar(96) default NULL,
  `price` float default NULL,
  `yr` int(11) default NULL,
  `description` varchar(30) default NULL,
  `saleAmount` int(11) default NULL,
  PRIMARY KEY  (`id`))
并插入数据:
insert into `books` values ('201','王芳','Java编程指南',33.75,1999,'让读者轻轻松松掌握Java语言',1000),('202','张丙','Weblogic技术参考',45.99,2002,'真的不错耶',2000),('203','孙艳','Oracle数据库教程',40,2003,'关于Oracle的最畅销的技术书',2000),('204','大卫','OakJava: 语言的革命',20.75,1998,'很值得一看',2000),('205','阿明','Apache从入门到精通',50.75,2002,'权威的Apache技术资料',2000),('206','洪军','Java与数据算法 ',54.75,2002,'权威的Java技术资料',2000);
 
2、  建立一个最简单的web应用,就包含两个文件:web.xmltestds.jsp,打成war包,内容分别如下:
web.xml
---------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 
    <welcome-file-list>
        <welcome-file>test.jsp</welcome-file>
    </welcome-file-list>
</web-app>
---------------------------------------------------------------------------------------------------
testds.jsp
---------------------------------------------------------------------------------------------------
<%--
  Created by IntelliJ IDEA.
  FileName: FileName.jap 
  User:     LavaSoft
  Date:      2006-11-23
  Time:     0:41:43
  ReadMe:   测试tomcat数据源
--%>
 
<!--首先导入一些必要的packages-->
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="com.mysql.jdbc.Connection" %>
<!--设置中文输出-->
<%@ page contentType="text/html; charset=GBK" %>
 
 
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
 
    <title>DbJsp1.jsp</title>
</head>
<body>
<%
    //try开始
    try {
        java.sql.Connection con;
        Statement stmt;
        ResultSet rs;
 
//建立数据库连接
        Context ctx = new InitialContext();
        DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/zfvimsds");
        con = ds.getConnection();
//创建一个JDBC声明
        stmt = con.createStatement();
//增加新记录
        stmt.executeUpdate("INSERT INTO books (id,name,title,price) VALUES ('999','Tom','Tomcat Bible',44.5)");
//查询记录
        rs = stmt.executeQuery("SELECT id,name,title,price from books");
//输出查询结果
        out.println("<table border=1 width=400>");
        while (rs.next()) {
            String col1 = rs.getString(1);
            String col2 = rs.getString(2);
            String col3 = rs.getString(3);
            float col4 = rs.getFloat(4);
 
//convert character encoding
            col1 = new String(col1.getBytes("ISO-8859-1"), "GB2312");
            col2 = new String(col2.getBytes("ISO-8859-1"), "GB2312");
            col3 = new String(col3.getBytes("ISO-8859-1"), "GB2312");
 
//打印所显示的数据
            out.println("<tr><td>" + col1 + "</td><td>" + col2 + "</td><td>" + col3 + "</td><td>" + col4 + "</td></tr>");
        }
        out.println("</table>");
 
//删除新增加的记录
        stmt.executeUpdate("DELETE FROM books WHERE id='999'");
 
//关闭数据库连结
        rs.close();
        stmt.close();
        con.close();
    }
 
//捕获错误信息
    catch (Exception e) {
        out.println(e.getMessage());
    }
 
%>
</body>
</html>
---------------------------------------------------------------------------------------------------
3、  打成wartestweb.war,复制到E:\myserver\apache-tomcat- 5.5.20 \webapps下面,然后启动tomcat,然后再关闭,然后会发现在E:\myserver\apache-tomcat-5.5.20\conf\Catalina\localhost下面多了一个testweb.xml文件,将此文件打开,内容如下:
--------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
</Context>
--------------------------------------------------------------------------------------------------
4、  修改这个生成的文件,方法是将(四-4)部分里面生成的连接池配置信息复制到这个文件里面,完成后如下:
--------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
  <Resource
    name="jdbc/zfvimsds"
    type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    password="leizhimin"
    maxIdle="2"
    maxWait="5000"
    username="zfvims"
    url="jdbc:mysql://127.0.0.1/zfvims"
    maxActive="4"/>
</Context>
--------------------------------------------------------------------------------------------------
 
5、  然后保存,打开[url]http://127.0.0.1:8080/testweb/[/url],如下图所示,说明连接池配置成功。
 
 
六、后记,其中有些需要特别说明的部分如下:
1、  我在tomcat- 5.0.28 5.5.20上都做类似的配置,发现两个生成的server.xml差异比较大,其中5.5生成的格式更简练一些。
2、  tomcat数据源在java程序中的访问必须为java:comp/env/jdbc/zfvimsds这样的格式,其中红色部分java:comp/env/是固定的写法,蓝色部分jdbc/zfvimsds是数据源的JNDI名字。
3、  另外Tomcat与集成开发环境IDE之间应用还有很多技巧,本人尤为推荐Idea5.12,最好用的java开发工具。


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/10483,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1597 152
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1107 156
|
10月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
10月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
10月前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
10月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
599 158
|
10月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
10月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
642 156
|
10月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
761 161
|
11月前
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。

推荐镜像

更多