Tomcat & MySQL
tomcat 部署应用:
1、在E:/jakarta-tomcat-5.0.27/conf/Catalina/localhost/ 目录下,复制目录下任意一个xml文件,然后改名。
比如:复制balancer.xml 改名为myweb.xml
<!--修改docBase为实际文档路径,path为应用的虚拟路径-->
内容如下:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="D:/sample" path="/login" privileged="true" workDir="work/Catalina/localhost/login">
</Context>
在tomcat里配置mysql jndi数据源
1、mysql驱动
安装mysql的JDBC驱动到tomcat 的classpath下
注意:推荐下载最新的驱动,用com.mysql.jdbc.Driver这种方式访问
以前的org.gjt.mm.mysql.Driver不推荐
配置Tomcat全局数据源:
一、添加tomcat的用户
在用户文件E:/jakarta-tomcat-5.0.27/conf/tomcat-users.xml
添加一个用户
<user username="robin" password="aaaaaa" roles="admin"/>
即可
以地址 http://localhost:8080/ 登陆进入tomcat控制台,在左侧Resources-->Data Sources 添加数据源 Create New Data Source
在表单中填入下列值:
Property Value
JNDI Name: jdbc/mysql
Data Source URL: jdbc:mysql://127.0.0.1:3306/robindatabase
JDBC Driver Class: com.mysql.jdbc.Driver
User Name: robin
Password: 111111
Max. Active Connections: 4
Max. Idle Connections: 2
Max. Wait for Connection: 5000
Validation Query: //空白
注意:此处的修改,反应在 E:/jakarta-tomcat-5.0.27/conf/server.xml 文件中,打开该文件,可以看到增加了如下内容:
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mysql">
<parameter>
<name>url</name>
<value>jdbc:mysql://127.0.0.1:3306/robindatabase</value>
</parameter>
<parameter>
<name>password</name>
<value>111111</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>robin</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
在自己web应用的配置文件E:/jakarta-tomcat-5.0.27/conf/Catalina/localhost/myweb.xml 中加入一行:
<ResourceLink name="jdbc/mysql" type="javax.sql.DataSource" global="jdbc/mysql"/>
写个简单的测试jsp页面:
<%@page contentType="text/html;chartset=GBK"%>
<%@page import="javax.naming.*"%>
<%@page import="javax.sql.*"%>
<%@page import="java.sql.Connection"%>
<%
try{
Context ctx=new InitialContext();
DataSource dataSource=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
Connection con=dataSource.getConnection();
System.out.println("con="+con);
con.close();
}catch(Exception e){
e.printStackTrace();
}
%>
-------------------------------------
为Tomcat应用配置局部数据源:
直接在 E:/jakarta-tomcat-5.0.27/conf/Catalina/localhost/myweb.xml
里面加入:
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mysql">
<parameter>
<name>url</name>
<value>jdbc:mysql://127.0.0.1:3306/robindatabase</value>
</parameter>
<parameter>
<name>password</name>
<value>111111</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>robin</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
-----------------------------------------------
spring 使用这数据源:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/mysql</value>
</property>
</bean>