Tomcat的两种数据源的配置方式:
1. 全局数据源:所有的Web应用都可以访问
2. 局部数据源:单个Web应用使用(在对应的Web应用部署文件中配置)
如果你是用eclipse开发,同时不想在server.xml中配置数据源的话,就可以进行如下操作: jdbc 是:mysql-connector-java-5.1.6-bin.jar 数据库是:mysql 5.1 1. 建一个数据库(如果你有,并确定你可以看明白下面的配置,可以自己做一些修改的话就可以不用做这一步)
drop database javaee;
create database javaee; use javaee;create table news_inf
( news_id int primary key auto_increment, news_title varchar(255) );insert into news_inf
values (null , '疯狂Java联盟'), (null , 'crazyit.org'); 2. 把你对应的jdbc放到tomcat的lib目录下,如笔者要把mysql-connector-java-5.1.7-bin.jar放到tomcat的lib下面。 3. 你的项目的WebRoot中的META-INF 下建一个文件context.xml(这是一定要的,而且不能取别的名字) 4. 在上面所说的新建的context.xml中写下这个些代码: <?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/dstest" auth="Container" type="javax.sql.DataSource" maxActive="5" maxIdle="2" maxWait="10000" username="root" password="li" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javaee"/> <!-- 同时要在tomcat的lib下面加上对应的jdbc --> </Context> 说明:li是你的数据库的密码,javaee是想要连接上的数据库 到现在你的配置已经完成,下面写一个测试代码: <%@ page contentType="text/html; charset=GBK" language="java" errorPage=""%> <%@ page import="javax.naming.*,java.sql.*,javax.sql.*"%> <html> <head> <title></title> </head> <body> <% //初始化Context,使用InitialContext初始化Context Context ctx = new InitialContext(); /* 通过JNDI查找数据源,该JNDI为java:comp/env/jdbc/dstest,分成两个部分 java:comp/env是Tomcat固定的,Tomcat提供的JNDI绑定都必须加该前缀 jdbc/dstest是定义数据源时的数据源名 */ DataSource ds = (DataSource) ctx .lookup("java:comp/env/jdbc/dstest"); //获取数据库连接 Connection conn = ds.getConnection(); //获取Statement Statement stmt = conn.createStatement(); //执行查询,返回ResulteSet对象 ResultSet rs = stmt.executeQuery("select * from newsinf"); while (rs.next()) { out.println(rs.getString(2) + "<br/>"); } %> </body> </html> 你只要把这段代码保存为比如a.jsp放到你项目的WebRoot目录下就可以。 然后就运行项目,访问这个页面,如果出现 1 疯狂Java联盟 2 crazyit.org 就说明成功了