您的位置:首页 > 运维架构 > Tomcat

tomcat7下的MySQL数据库连接池的配置

2014-06-08 16:44 288 查看
今天花一个上午去钻研Tomcat7和mysql配置连接池,终于成功了,在这和大家分享下此过程

一.设计测试用的数据库

1.新建数据库

create database testmysql;

2.新建一个用户信息数据表

create table test(

username varchar(20) primary key,

password varchar(20));

3.给新表插入数据信息

insert into test values('keivn','123456');

二. 设计局部数据源和连接池

1.在webapps目录中新建test目录,然后在test中分别新建WEB-INF和META-INF目录,在WEB-INF目录

中新建classes和lib目录,将mysql数据库驱动文.jar放进lib目录中

这里我使用的版本是mysql-connector-java-5.1.22-bin.jar

2.在META-INF目录中新建context.xml文件,然后将下面内容复制,保存

<?xml version='1.0' encoding='utf-8'?>

<!--

Licensed to the Apache Software Foundation (ASF) under one or more

contributor license agreements. See the NOTICE file distributed with

this work for additional information regarding copyright ownership.

The ASF licenses this file to You under the Apache License, Version 2.0

(the "License"); you may not use this file except in compliance with

the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

-->

<!-- The contents of this file will be loaded for each web application -->

<Context>

<!-- Default set of monitored resources -->

<WatchedResource>WEB-INF/web.xml</WatchedResource>

<!-- Uncomment this to disable session persistence across Tomcat restarts -->

<!--

<Manager pathname="" />

-->

<!-- Uncomment this to enable Comet connection tacking (provides events

on session expiration as well as webapp lifecycle) -->

<!--

<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />

-->

<!--Resource name="jdbc/mysql"

auth="Container"

driverClassName="com.mysql.jdbc.Driver"

type="javax.sql.DataSource"

url="jdbc:mysql://localhost:3306/testmysql"

username="root"

password="admin"

maxActive="100"

maxIdle="30"

maxWait="10000" /-->

</Context>

3.然后在WEB-INF中新建web.xml文件,然后将下面内容复制,保存

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

<display-name>test</display-name>

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

<welcome-file>default.html</welcome-file>

<welcome-file>default.htm</welcome-file>

<welcome-file>default.jsp</welcome-file>

</welcome-file-list>

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/mysql</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

</web-app>

4.完成后,重启tomcat服务器。

三.编写一个jsp页面测试设置连接池,连接数据库是否成功。

在test目录中新建test.jsp文件,然后将下面内容复制,保存

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>test</title>

</head>

<body>

<%

Connection conn=null;

PreparedStatement stmt=null;

ResultSet rs=null;

String sql=null;

String username=null;

String alias=null;

String pwd=null;

String strMsg=null;

try{

Context cxt = new InitialContext();

DataSource ds = (DataSource)cxt.lookup("java:/comp/env/jdbc/mysql");

conn = ds.getConnection();

sql="select * from test";

stmt=conn.prepareStatement(sql);

rs=stmt.executeQuery();

if(rs.next()){

strMsg="连接ok";

out.println(rs.getString("username"));

out.println(rs.getString("password"));

out.println("连接ok");

}else{

out.println("rs.next() fail");

}

rs.close();

} catch(Exception e){

out.println("连接失败:"+e.getMessage());

//e.printStackTrace();

}

try{

if(stmt!=null) stmt.close();

}catch(Exception e){}

try{

if(conn!=null) conn.close();

}catch(Exception e){}

%>

</body>

</html>

使用浏览器输入http://localhost:8080/test/test.jsp

页面显示kevin 123456 连接ok 就表示设置已经成功。

这东西要慢慢专研哦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: