过儿古墓 2011-04-05
今天在机器上做了一下tomcat如何连接mysql,记录如下!
先下载mysql jdbc mysql-connector-Java-5.1.7-bin.jar
然后把它放到TOMCAT的安装目录LIB下面:我的是/home/tomcat_new/lib/
然后需要配置两个文件,一个是context.xml、另一个是web.xml
安装就不再叙述了,这里只写配置
一。安装myql
然后在mysql中创建库和表:
mysql> create database first;
mysql> grant all privileges on first.* to first@localhost identified by "first";
mysql> use first;
mysql> create table about(id int(8) primary key,name varchar(10));
mysql> insert into about vlaues('xyw1026','laojiang');
mysql> flush privileges;
mysql> select * from aout;
mysql>select * from aout;
+----+----------+
| id | name |
+----+----------+
| 0 | laojiang |
+----+----------+
1 row in set (0.00 sec)
1.先修改context.xml
在<Context> </Context>之间加入以下
<Resource name="jdbc/mysql"
auth="Container"
type="javax.sql.DataSource"
driverClassname="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/first" 我的mysql是安装在本机,如果是在其他机器上要写上地址和端口
url="jdbc:mysql://192.168.1.34:3306/first" first 是我新建的数据库名字
username="first" 数据库的用户名
password="first" 数据库的密码
maxActive="100"
maxIdle="30"
maxWait="10000" />
2.修改web.xml
在<web-app>和</web-app>之间加入以下:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysqlx</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
这步配置成功后写一个test.jsp来测试是否成功。
vi test.jsp
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
//驱动程序名
String drivername="com.mysql.jdbc.Driver";
//数据库用户名
String username="first";
//密码
String userPasswd="first";
//数据库名
String dbname="first";
//表名
String tablename="about";
//联结字符串
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection=DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String sql="SELECT * FROM "+tableName;
ResultSet rs = statement.executeQuery(sql);
while (rs.next())
{
String name = rs.getString("name");
out.print(name+" ");
}
rs.close();
statement.close();
connection.close();
%>
更改完配置文件后,需要重新启动tomcat
在网页上测试http://192.168.1.34:8081/test.jsp
出现:laojiang 证明调用mysql成功。
不过今天看到tomcat后台总是报一个错误,具体是什么意思在网上也查了很久,还不是很清楚,据一篇文档说明是tomcat的问题,但是好像没有影响使用。
报错如下:
严重: A web application registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.