Tomcat configuration DataSource
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
Tomcat configuration DataSource的更多相关文章
- Tomcat Server Configuration Automation Reinforcement
目录 . 引言 . 黑客针对WEB Server会有那些攻击面 . 针对Tomcat Server可以做的安全加固 . Managing Security Realms with JMX . 实现对T ...
- Tomcat数据源(DataSource)简介
JDBC2.0提供了javax.sql.DataSource接口,它负责建立与数据库的连接,在应用程序中访问数据库时不必编写连接数据库的代码,可以直接从数据源获得数据库连接 1.数据库和连接池 在Da ...
- Spring Boot JDBC:加载DataSource过程的源码分析及yml中DataSource的配置
装载至:https://www.cnblogs.com/storml/p/8611388.html Spring Boot实现了自动加载DataSource及相关配置.当然,使用时加上@EnableA ...
- tomcat 部署指南
下载与安装 个人建议不要使用发行版带的版本, 始终从主页来下载安装, 下载地址位于[1], 安装方法很简单, 直接解压即可, 建议解压到 /usr/local/ 目录, 再链接到 /usr/local ...
- CentOS RHEL 安装 Tomcat 7
http://www.davidghedini.com/pg/entry/install_tomcat_7_on_centos This post will cover installing and ...
- Tomcat应用中post方式传参数长度限制
Tomcat应用中post方式传参数长度限制 jsp页面上是没有限制的,但是在tomcat服务器上有限制,Tomcat 默认的post参数的最大大小为2M, 当超过时将会出错,可以配置maxPostS ...
- Redirect HTTP to HTTPS on Tomcat
I have bought my SSL secure certificate and successfully installed on Tomcat with the keytool but ho ...
- Idea 使用maven+tomcat的时候,编译指定的Profile
To build a artifact with a profile you have to create a Maven Run/Debug configuration as in the foll ...
- Tomcat 7.0配置SSL的问题及解决办法
http://dong-shuai22-126-com.iteye.com/blog/1830209 以前一直在用Tomcat 6.0.29版本,今下载了apache-tomcat-7.0.33- ...
随机推荐
- 用Codility测试你的编码能力
没有宏观的架构设计,没有特定的框架语言.在Codility提出的一些小问题上,用最纯粹的方式测试你最基本的编码能力. Codility第一课:算法复杂度 各种算法书的开篇大多是算法分析,而复杂度(co ...
- Hadoop MapReduce工作原理
在学习Hadoop,慢慢的从使用到原理,逐层的深入吧 第一部分:MapReduce工作原理 MapReduce 角色 •Client :作业提交发起者. •JobTracker: 初始化作业,分配 ...
- 18 Loader 总结
1. Loader 装载器 Android3.0以后出来的 它可以使Activity和Fragment 异步加载数据 变得简单(Loader里封装了AsyncTask) Loader特点: 1,对每一 ...
- 算法之路(二)呈现O(logN)型的三个算法
典型时间复杂度 我们知道算法的执行效率,可以从它的时间复杂度来推算出一二.而典型的时间复杂度有哪些类型呢? 由上图,可以看出,除了常数时间复杂度外,logN型的算法效率是最高的.今天就介绍三种非常ea ...
- oracle中动态SQL详解
部分内容参考网上资料 1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情 ...
- Citrix 桌面虚拟化解决方案与VMware桌面虚拟化解决方案对比
通过 XenDesktop 和 FlexCast为各种场景交付虚拟桌面 企业桌面面临的问题 为每个用户提供安全高效的桌面环境是几乎所有公司或组织的基本要求.如果用户无法使用他们的桌面或应用程序,公司就 ...
- MyBatis进阶(一)运行原理
初次学习MyBatis,自己花了不少时间,理解一件事物是需要时间的.经过多次反复的理解,你的认知能力就可以得到提升.以下是学习MyBatis的一些理解认识,技术理解上若有不当之处,敬请朋友们提出宝贵意 ...
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十八)
在游戏中制作手臂瞄准线,也就是所谓的辅助延长线.玩台球游戏的童鞋应该可以了解. 按道理来说,延长线是一个物理实体,遇到物理刚体应该会发生反弹行为,这个符合实际游戏逻辑. 但是这里为了简单,只是做一条& ...
- 我眼中的Linux设备树(四 中断)
四 中断中断一般包括中断产生设备和中断处理设备.中断控制器负责处理中断,每一个中断都有对应的中断号及触发条件.中断产生设备可能有多个中断源,有时多个中断源对应中断控制器中的一个中断,这种情况中断产生设 ...
- [asp.net]登录协同工作平台安全解决方案
[摘要]公司领导说登录验证的安全性如何保证,建议采用UKEY验证类似网银解决,调用第三方YT公司产品. 解决方案: 前端页面: <embed id="s_simnew61" ...