很多应用都会用到数据源,现简要介绍一下tomcat5.x中如何配置数据源
项目:myeclipse6.6 + mysql + tomcat5.5
1.创建web工程,命名tomcatdb,创建包web.test,在此包下创建类WebTestMain
package web.test;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class WebTestMain {
// private static Log log = LogFactory.getLog(WebTestMain.class);//Log Commons Logging Framwork
public String doTest(Object p) throws NamingException, SQLException{
Context context = new InitialContext();
//获得数据源
DataSource ds = (DataSource)context.lookup("java:comp/env/testdb");
//获取连接
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
//创建表
String sql = "create table t1(c1 varchar(50) primary key,c2 int);";
stmt.execute(sql);
//插入数据
sql = "insert into t1 values('abc',1);";
stmt.execute(sql);
//查询数据
String rt = "unavailable";
sql = "select * from t1 where c1 = 'abc'";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()){
rt = rs.getString("c2");
}
//删除刚才创建的表及数据
sql = "drop table t1";
stmt.execute(sql);
//关闭数据源连接
stmt.close();
conn.close();
return "ok:" + rt;
}
}
2.在应用根目录WebRoot下创建test.jsp页面,在此页面中调用上面类中编写的方法
<body>
Test:<br>
<%=new web.test.WebTestMain().doTest(request) %>
</body>
3.添加mysql驱动包到WebRoot/WEB-INF/bin目录下(或添加到tomcat的bin目录下)
4.发布此项目到tomcat中,发布名称为tomcatdb
4.编写如下tomcatdb.xml文件并放在$TomcatHome$\conf\Catalina\localhost目录下($TomcatHome$为tomcat的安装根目录)
<?xml version="1.0" encoding="utf-8" ?>
<Context docBase="tomcatdb" path="/tomcatdb" privileged="true" workDir="work\Catalina\localhost\tomcatdb">
<Resource name="testdb" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" password="root" username="root" url="jdbc:mysql://127.0.0.1:3306/test" />
</Context>
其中:tomcatdb为发布到tomcat中的名称
5.启动tomcat,在浏览器中输入http://127.0.0.1:8080/tomcatdb/test.jsp地址,回车运行程序,如果一切顺利则页面显示:
Test:
ok:1
即表示测试成功!
如果不成功请注意:
1.检查tomcatdb.xml文件是否放置在正确位置,而且名称是否都正确
2.检查mysql的驱动包能否被加载
以下附件有本测试例子的完整myeclipse工程
分享到:
评论