在eclipse里面配置了tomcat 6.0.23之后, 会自动生成一个Servers的工程
里面都是tomcat的配置文件, 可以在这里直接修改配置文件, 而且eclipse的工程也不会打包发布到tomcat安装文件夹中
也就是说, eclipse不会破坏原来的tomcat安装文件夹, 在tomcat目录下的webapps中也看不到你在eclipse下运行的工程
我在配置DataSource的时候, 遇到了这个问题, 现在将配置过程写下来, 给大家提供一个参考
1. 在server.xml中配置DataSource
在eclipse的工程Servers中, 修改配置文件Tomcat v6.0 Server at localhost-config\server.xml, 在之间添加下面的DataSource配置
网上很多人说, 需要将mysql的jdbc驱动拷贝到tomcat目录的lib下, 但我在实际操作中发现, 没有必要
注意:
docBase="Test"path="/Test" 必须和你的项目名称一致name="jdbc/test" 这个名字可以随便改, 之后通过jndi查找DataSource的名字
2. 配置项目中的web.xml, 添加下面配置
Resource reference to a factory for java.sql.Connection
instances that may be used for talking to a particular
database that is configured in the configurartion for the web application.jdbc/testjavax.sql.DataSourceContainer
3. 写一个测试的jsp
DataSource DemoContext envCtx=(Context) initCtx.lookup("java:comp/env");
DataSource ds=(DataSource) envCtx.lookup("jdbc/test");
Connection conn=ds.getConnection();
out.println("conncetion Ok
");
Statement stmt=conn.createStatement();
out.println("Executing statement.
");
ResultSet rset=stmt.executeQuery("select * from person");
out.println("Results:
");intnumcols=rset.getMetaData().getColumnCount();while(rset.next()) {for(inti=1;i<=numcols;i++) {
out.print(" "+rset.getString(i));
}
out.println("
");
}
conn.close();%>
我这里连接的是mysql的数据库test, 在我的test下有张表是person
运行这个jsp, 可以看到person表中的数据被取出来了
运行结果大概是这样的
conncetion Ok
Executing statement.
Results:
1 aaa 21 address001
2 bbb 51 address002