`

在tomcat端配置数据池

阅读更多
在这里,把数据池配置好的方法写出来,希望能够让看到的人少走一点弯路.GOOD LUCK.


1 环境描述
  JDK 1.5
  Tomcat 6.0
  MySQL 5.0
  MySQL JDBC 5.0.5
  Commons dbcp 1.4

2 准备工作
  JDK, Tomcat, MySQL安装过程并非我们讲述的重点,略过。
  从http://dev.mysql.com/downloads/下载mysql-connector-java-3.0.15-ga.zip,将其中的mysql-connector-java-3.0.15-ga-bin.jar放到jre/lib/ext和Tomcat 5.5/common/lib里面。
  从http://jakarta.apache.org/commons/dbcp/下载commons-dbcp-1.2.1.zip,将其中的commons-dbcp-1.2.1.jar放到jre/lib/ext和Tomcat 5.5/common/lib里面。

3 配置Tomcat
   
    配置{tomcat-home}/conf/server.xml文件,在 <GlobalNamingResources> </GlobalNamingResources>之间加入:
    <Resource name="JDBC for MySQL"
              type="javax.sql.DataSource"
              driverClassName="com.mysql.jdbc.Driver"
              password="123456"
              maxIdle="2" maxWait="5000"
              username="root" url="jdbc:mysql://localhost/test" maxActive="4"/>
   解释下:
   1.数据池名为:JDBC for MySQL; 这个名字会在等下介绍的web.xml文件里使用.
   2.username="root",我的mysql用户名使用root,密码password="123456".
   3:url="jdbc:myslq://localhost/test",即使用的数据库为test(刚刚已经创建了);
   4:maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
   5:MaxActive,连接池的最大数据库连接数。设为0表示无限制。
   6:maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。

    *maxActive:最大连接数据库连接数,设 0 为没有限制
    *maxIdle:最大等待连接中的数量,设 0 为没有限制
    *maxWait: 最大等待毫秒数, 单位为 ms, 超过时间会出错误信息

    一般把maxActive设置成可能的并发量就行了maxActive、maxIdle和maxWait参数:
    maxActive是最大激活连接数,这里取值为4,表示同时最多有4个数据库连接。maxIdle是最大的空闲连接数,这里取值为2,表示即使没有数据库连接时依然可以保持2空闲的连接,而不被清除,随时处于待命状态。MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到超时为止,也可取值5000,表示5秒后超时。

4 配置web.xml文件.在你的应用(test)里,创建文件夹WEB-INF,在这个文件夹里创建文件web.xml.撰写 
  web.xml:如下:
  <?xml version="1.0" encoding="UTF-8"?>
  <web-app >
    <resource-ref>
        <description>MySQL Connection Pool</description>
        <res-ref-name>JDBC for MySQL</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
  </web-app>
这里用到了刚刚定义的数据他名:JDBC for MySQL了;

5 配置context.xml文件,在你的应用(test)里,创建文件夹META-INF,在这个文件夹里创建文件context.xml.撰写context.xml:如下:

<Context>
<ResourceLink name="JDBC for MySQL" global="JDBC for MySQL" type="javax.sql.DataSourcer"/>
</Context>

6 测试
  重启Tomcat服务器,写一个index.jsp:
   <%@ page import="java.sql.*"%>
   <%@ page import="javax.sql.*"%>
   <%@ page import="javax.naming.*"%>
   <%@ page session="false" %>
   <%@ page language="java" contentType="text/html;charset=gb2312" %>
   <html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312" pageEncoding="GB2312">
   <title>Test of MySQL connection pool</title>
   </head>
   <body>
   <%
   out.print("Start<br/>");
   response.setCharacterEncoding("gb2312");
   response.setContentType("text/html;charset=gb2312");
   try{
   String jndi_name="java:comp/env/JDBC for MySQL";
   String select_user_sql="select * from student ";

   Context ctx = new InitialContext();
   if(ctx == null){
      out.println("No context");
   }
   out.println("here<br>");
 
   javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup(jndi_name);
   if(ds !=null){
     out.println("can  fine thd "+jndi_name+"<br>");
   }
   Connection conn = ds.getConnection();
   out.println("MySQL connection pool runs perfectly!\n<br>");
  
   Statement stmt = conn.createStatement();
   ResultSet rt = stmt.executeQuery(select_user_sql);
   while(rt.next()){
       out.println(rt.getString("name")+"<br>");
   }
   conn.close();
  }
   catch(Exception ex){
       out.print(ex.getMessage());
       ex.printStackTrace();
}
  %>
  </body>
  </html>

在浏览器里查看,如果你看到可以看到,"MySQL connection pool runs perfectly!",恭喜你,你已经成功了...

 友情提示:记得用完一定要close哦,不然一会儿资源就耗尽了。这一点可以通过以root身份登录MySQL,运行show processlist;命令来查看当前所有连接。
0
0
分享到:
评论

相关推荐

    基于jfinal+vue+ElementUI的前后端分离CRM系统.zip

    基于jfinal+vue+ElementUI的前后端分离CRM系统 主要技术栈 核心框架:jfinal3.8 缓存:redis caffeine 数据库连接池:Druid 工具类:hutool,fastjson,poi-ooxml 定时任务:jfinal-cron 项目构建工具:maven ...

    Javaweb实验报告.docx

    Eclipse、Mysql、Navicat、Tomcat 等软件的安装、配置和使用,以及 servlet 技术、log4j 技术、jdom 技术、ifreechart 技术、struts 技术、OGNL 技术、action 对象组织、页面间转接关系、数据连接技术、JDBC 数据库...

    悟空CRM 9.0(JAVA版)

    配置java运行环境,redis环境,mysql环境将目录doc下的72crm.sql导入到数据库,修改resources/config/erpsnow-config.txt下的数据库以及redis的配置文件undertow启动端口号在resources/config/undertow.txt下修改...

    jsp servlet 入门学习资料-新手一看就懂

    3.4.1 Tomcat的主配置文件:server.xml 3.4.2 Windows下代码保护的问题 3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章...

    jsp从入门到高级编程

    3.4.1 Tomcat的主配置文件:server.xml 3.4.2 Windows下代码保护的问题 3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章...

    JSP高级教程

    3.4.1 Tomcat的主配置文件:server.xml 3.4.2 Windows下代码保护的问题 3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章...

    JSP高级编程

    本书从最基础的JSP开发开始,循序渐进地介绍了JSP 开发技术,并涵盖了许多高级主题,如需要在企业级Web应用中使用的特性—Enterprise JavaBeans、JDBC 2.0、数据库连接池和自定义标签库。本书既适合初学者阅读,也...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。 第四章 系统设计 4.1开发框架技术介绍 对于框架技术,我们采用Struts+ajax的整合! Struts是应用...

    java web 视频、电子书、源码(李兴华老师出版)

    11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、本章摘要 第12章 JSP标签编程 12.1、标签编程简介 12.2、定义一个简单的标签 —— 空标签 12.3、定义有属性的标签 12.4、TagSupport类 12.5...

    java面试题

    76.4. 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 86 76.5. 在weblogic中发布ejb需涉及到哪些配置文件 87 76.6. 如何在weblogic中...

    JAVA高并发高性能高可用高扩展架构视频教程

    在springMVC中实现原始的Excel文件下载方式 企业级分布式缓存技术之(redis详解) 企业高并发基石(Tomcat服务器性能优化) spring事务处理 课程文档 高并发之基础数据MySql调优 mongodb 三级联动课程资料 应用架构之...

    基于Vue+SpringBoot开发的满意度调查问卷系统源码+sql数据库+项目说明.zip

    9. 【可选】采用合适的数据库连接池,可以是 Tomcat 自带的连接池功能,也可以是第 三方连接池工具,如 dbcp 或者 c3p0,注意防止 SQL 注入。 10. 【可选】为了保证用户体验,页面初始加载完成以后,后续页面操作...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    8.4 jdbc数据源和连接池 299 8.5 mysql对中文的处理 302 8.6 小结 302 第9章 会话跟踪 303 9.1 用于会话跟踪的技术 303 9.1.1 ssl会话 304 9.1.2 cookies 304 9.1.3 url重写 305 9.2 java servlet api的会话...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    8.4 jdbc数据源和连接池 299 8.5 mysql对中文的处理 302 8.6 小结 302 第9章 会话跟踪 303 9.1 用于会话跟踪的技术 303 9.1.1 ssl会话 304 9.1.2 cookies 304 9.1.3 url重写 305 9.2 java servlet api的会话...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    8.4 jdbc数据源和连接池 299 8.5 mysql对中文的处理 302 8.6 小结 302 第9章 会话跟踪 303 9.1 用于会话跟踪的技术 303 9.1.1 ssl会话 304 9.1.2 cookies 304 9.1.3 url重写 305 9.2 java servlet api的会话...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    8.4 jdbc数据源和连接池 299 8.5 mysql对中文的处理 302 8.6 小结 302 第9章 会话跟踪 303 9.1 用于会话跟踪的技术 303 9.1.1 ssl会话 304 9.1.2 cookies 304 9.1.3 url重写 305 9.2 java servlet api的会话...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、本章摘要 第12章 JSP标签编程 12.1、标签编程简介 12.2、定义一个简单的标签 —— 空标签 12.3、定义有属性的标签 12.4、TagSupport类 12.5、定义...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、本章摘要 第12章 JSP标签编程 12.1、标签编程简介 12.2、定义一个简单的标签 —— 空标签 12.3、定义有属性的标签 12.4、TagSupport类 12.5...

Global site tag (gtag.js) - Google Analytics