前言
最近在学习DRP,视频中用到的tomcat是5.5但是我在实践的过程中一直用的是tomcat7,所以今天就来谈谈tomcat7怎么配置DataSource。
过程
首先启动tomcat输入网址http://localhost:8080/找到JDBC DataSources
然后点击进去看到这个界面,因为此次项目使用的是Oracle数据库所以我们点击Oracle 8i,9i & 10g
接下来会看到官网上给的小示例
1.结合视频中所讲的,接下来展示自己写的代码,找到tomcat的conf/context.xml文件添加如下代码,因为只想此项目用,所以就需要把此文件剪切到drp的webroot/META-INF下。
2.在项目文件夹下的WEB-INF/web.xml添加配置
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/drp</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3.写一个测试页面test_dbcp.jsp
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<%
Connection conn = null;
PreparedStatement pstmt=null;
ResultSet rs = null;
try{
//new
Context ctx = new InitialContext();
//通过JNDI查找DataSource
DataSource ds= (DataSource)ctx.lookup("java:comp/env/jdbc/drp");
conn = ds.getConnection();
pstmt = conn.prepareStatement("select * from t_user");
rs = pstmt.executeQuery();
while(rs.next()){
out.println(rs.getString("user_id") + ", " + rs.getString("user_name"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(rs!=null){rs.close();}
if(pstmt !=null){pstmt.close();}
if(conn!=null){
//将connection放到连接池中
conn.close();
}
}
%>
说明:t_user是在oracle上建立的一个数据库表。
4.将oracle的jdbc驱动拷贝到apache-tomcat-7.0.75\lib文件夹下
5.启动项目先进入登录页面然后输入http://localhost:8080/drp6.4/test_dbcp.jsp,
小结
官方文档还是很有用的,本文只介绍了其中一种方法,大家不要局限于这一种。