Tomcat配置JNDI数据源_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Tomcat配置JNDI数据源

Tomcat配置JNDI数据源

 2011/1/10 9:46:37  何枫abc  http://hefeng1987-net-163-com.javaeye.com  我要评论(0)
  • 摘要:Tomcat使用JNDI连接数据库,这里就使用Mysql为例:1.添加数据库驱动文件通过数据源访问数据库,由于数据源由tomcat创建并维护,所以必须把MySql的驱动包拷贝到Tomcat根目录\lib中2.配置数据源.Eclipse中如果以tomact为容器,其eclipseIDE工程结构中会自动生成Servers这个文件夹把文件夹下的context.xml里的<Context>节点中添加以下配置name:给数据源设置名字(jndi)auth:表示数据源由谁管理type
  • 标签:配置 Tomcat 数据 tomcat配置
Tomcat使用JNDI连接数据库,这里就使用Mysql为例:
1.添加数据库驱动文件
通过数据源访问数据库,由于数据源由tomcat创建并维护,所以必须把MySql的驱动包拷贝到Tomcat根目录\lib中
2.配置数据源.
Eclipse中如果以tomact为容器,其eclipseIDE工程结构中会自动生成Servers这个文件夹把文件夹下的context.xml里的<Context>节点中添加以下配置
       name:给数据源设置名字(jndi)
       auth:表示数据源由谁管理
       type:类型 
       maxActive:在连接池中最大的激活连接数 
       maxIdle:在连接池中最大的保留(空闲)连接数 
       maxWait:客户端在队列池中最大等待时间(秒) 
    
<Context reloadable="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
        name="jdbc/mysql"
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="100"
        maxIdle="30"
        maxWait="10000"
        username="root"
        password="root"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/page"/>
</Context>

在Tomact6中只需要配置context.xml这个配置文件,server.xml,web.xml都是不用来配置的,而在tomcat6之前的版本是要配置的,这里就不在阐述了.
这里来通过一个index.jsp来测试一下,记住配置了数据源是不能通过main方法来测试的
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page language="java"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<baby>
<%
	Context ctx = null;
	DataSource ds = null;
	Connection conn = null;
	Statement stmt = null;
	ResultSet rs = null;
	try {
		Context initCtx = new InitialContext();
		ds = (javax.sql.DataSource) initCtx.lookup("java:comp/env/jdbc/mysql");
		conn = ds.getConnection();
		stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
		String strSql = "select * from student";
		rs = stmt.executeQuery(strSql);
		while (rs.next()) {
			out.println(rs.getString(1));
		}
	} catch (Exception ex) {
		ex.printStackTrace();
		out.println(ex.toString());
	} finally {
		if (rs != null)
			rs.close();
		if (stmt != null)
			stmt.close();
		if (conn != null)
			conn.close();
		if (ctx != null)
			ctx.close();
	}
%>
</baby>
</html>
上一篇: 基于kasai的RBAC框架 下一篇: struts2与 json
发表评论
用户名: 匿名