1. configuration MySql Connection DataSource
原理介绍
java 调用 Tomcat 中的 ConnectionPool 通过Context 中去查找 jndi 的方式
那么目标就明确了 Java ==jndi==> Tomcat ===> Databases
1) 因为是连接池所以需要 $CATALINA_HOME/lib/tomcat-dbcp.jar 包
把这个jar 包放到对就的Tomcat 目录下当然一般Tomcat 目录下有。
2) 要连接数据库 所以要jdbc 驱动 $CATALINA_HOME/lib/
mysql-connector-java-5.1.6-bin.jar
注意:tomcat 4.x 放在 $CATALINA_HOME/
common/lib目录下
将这个jar 包放到Tomcat 目录下同上 OK 在以上物理条件都存在的条
件了。。
3) 配置逻辑条件 $CATALINA_HOME/conf/
context.xml 配置
<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/mysqlDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="123456" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test?autoReconnect=true"/>
</Context>
4) 服务端配置好后 我们就来配置 工程下的web.xml 文件中来告诉Tomcat 容器 我要什么连接。
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>webJNdi</display-name>
<description>MySQL Test App</description>
<!-- 告诉 Tomcat Container 我要jdbc/mysqlDb 数据源 -->
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysqlDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<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>
</web-app>
5)测试页面
方式一:
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.Context"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>测试Tomcat Container</title>
</head>
<body>
<%
Context ctx = new InitialContext();
Context env = (Context)ctx.lookup("java:/comp/env");
Object ob = env.lookup("jdbc/mysqlDB");
%>
<h1>Tomcat Container Connection MySqlObjectName:<%=ob %>
</body>
</html>
方式二:
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.Context"%>
<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>测试Tomcat Container</title>
</head>
<body>
<%
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup( "java:/comp/env/jdbc/mysqlDB" );
%>
<h1>Tomcat Container Connection MySqlObjectName:<%=ds %>
</body>
</html>
Tomcat 4.x 的配置方法
与上面版本不同配置在server.xml 中添加内容
<Resource name="jdbc/MysqlDB"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/MysqlDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
-->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>123456</value>
</parameter>
<!-- Class name for mm.mysql JDBC driver -->
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<!-- The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
-->
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/test?autoReconnect=true</value>
</parameter>
</ResourceParams>
同样在web.xml 中指定这里不变
运行结果
Tomcat Container Connection
MySqlObjectName:org.apache.tomcat.dbcp.dbcp.BasicDataSource@17f409c
分享到:
相关推荐
db+Tomcat DataSource
Tomcat JNDI 数据源 自动生成程序 Servlet 版 本程序自动判断Tomcat版本,...3、按照页面上的提示输入 Tomcat JNDI DataSource 配置信息; 4、点击提交,配置文件将会自动生成,在配置路径中可以找到你的配置文件。
WebLogic 项目移植到 Tomcat 配置说明 在进行 WebLogic 项目移植到 Tomcat 之前,需要确保已经成功安装了 Tomcat。下面将对 WebLogic 项目移植到 Tomcat 的配置进行详细说明。 配置 Tomcat 1. 在 Tomcat 安装目录...
该项目采用标签形式对Datasource进行注入将Datasource组件交给容器进行统一管理
赠送jar包:dynamic-datasource-spring-boot-starter-3.4.1.jar; 赠送原API文档:dynamic-datasource-spring-boot-starter-3.4.1-javadoc.jar; 赠送源代码:dynamic-datasource-spring-boot-starter-3.4.1-sources...
赠送jar包:dynamic-datasource-spring-boot-starter-3.4.1.jar; 赠送原API文档:dynamic-datasource-spring-boot-starter-3.4.1-javadoc.jar; 赠送源代码:dynamic-datasource-spring-boot-starter-3.4.1-sources...
dynamic-datasource.zip
建立 BW datasource,使用user exit 增强datasource
Struts DataSource 数据源
tomcat配置datassource的详细过程
赠送jar包:sentinel-datasource-extension-1.8.0.jar; 赠送原API文档:sentinel-datasource-extension-1.8.0-javadoc.jar; 赠送源代码:sentinel-datasource-extension-1.8.0-sources.jar; 赠送Maven依赖信息...
NULL 博文链接:https://taink.iteye.com/blog/510076
赠送jar包:spring-cloud-alibaba-sentinel-datasource-2021.1.jar; 赠送原API文档:spring-cloud-alibaba-sentinel-datasource-2021.1-javadoc.jar; 赠送源代码:spring-cloud-alibaba-sentinel-datasource-2021....
赠送jar包:sentinel-datasource-extension-1.8.0.jar; 赠送原API文档:sentinel-datasource-extension-1.8.0-javadoc.jar; 赠送源代码:sentinel-datasource-extension-1.8.0-sources.jar; 赠送Maven依赖信息...
使用Tomcat的dataSource,需要到Apache网站上下载commons-dbcp.jar和commons-pool.jar。Tomcat默认不携带这两个jar包,程序会报一个找不到找不到类的异常。
一个简单的tomcat6.0+mysql5.5整合spring3.0和hibernate3.3的一个简单的实例,其中的datasource是tomcat JNDI配置的 type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://...
Dynamic datasource, multipl-SpringBoot-DynamicDataSource
内容1:spingboot打包成 jar包 内置 tomcat 直接可以运行,out\artifacts 点 startup.bat ,maven,直接下载动态库 jdk1.8 64位。 内置 log4j2 日志文件,每天生成日志 application.properties 配置如下 #静态...
JDBC1.0是原来是用DriverManager类来产生一个对数据源的连接。JDBC2.0用一种替代的方法,使用DataSource的实现,代码变的更小巧精致,也更容易控制。