1、使用 Tomcat 的 Web 管理应用配置数据源 启动 Tomcat 服务器,打开浏览器,输入 http://localhost:8080/admin/(其中 localhost 是名 称服务器或称为主机,没安装 admin 的参考后面的安装步骤),进入管理界面的登陆页面, 这时候请输入原来安装时要求输入的用户名和密码,登陆到管理界面,选择 Resources-Data sources 进入配置数据源界面,选择 Data Source Actions ->选择 Create New Data Source,进入配置详细信息界面,内容如下: JNDI Name: jdbc/BookDB Data Source URL: jdbc:mysql://localhost:3306/BookDB JDBC Driver Class: com.mysql.jdbc.Driver User Name: dbusr Password: 1234 Max. Active Connections: 4 Max. Idle Connections: 2 Max. Wait for Connection: 5000 Validation Query: 按要求输入的 JNDI Name 等信息,其中除了 JDBC DriverClass 之外,其他的可以根据需要 填写。
最后点击 Save->Commit Change. 注:这里的 BookDB 是我使用的数据库的名称 2、修改 web.xml 打开%TOMCAT_HOME%\conf\web.xml,在</web-app>的前面添加以下内容: <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/BookDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> 3、修改%TOMCAT_HOME%\conf\Catalina\localhost 下对应你的引用的配置文件 在%tomcat_home%\conf\Catalina\localhost\下建立 bookstore.xml,如下 <Context path="" docBase="C:\Tomcat 5.5\webapps\bookstore" debug="0"> <Logger className="org.apache.catalina.logger.FileLogger"prefix="localhost_customer_log." suffix=".txt" timestamp="true"/> <ResourceLink name="jdbc/BookDB" global="jdbc/BookDB" type="javax.sql.DataSourcer"/> </Context> 注:docBase 的值是 web 应用的目录,我建立的 xml 的文件名和目录名是相同的,不知道名 称不同行不行,这个还没有试过。
注意 res-ref-name 填写的内容要与在上文提到的 JNDI Name 名称一致。
进入%TOMCAT_HOME%\conf\Catalina\localhost 下,找到你的 web 应用对应的.xml 文件(下 面有我的 web 的目录结构),如 myweb.xml,并在此文件的下添入代码: <ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSourcer"/> 到这里,配置工作就基本完成了。
4、其他 JDBC 驱动程序 mysql-connector-java-3.0.9-stable-bin.jar 一定要放置到 Tomcat 的对应目录,建 议放置在%TOMCAT_HOME%\common\lib 和应用的 WEB-INF\lib 下。
5、重启 Tomcat。
这个偶发现不重启的话似乎配置不成功呢。
附:admin 的安装步骤 (Tomcat 在默认的安装时是不装 admin 的,也就是若你没有自己装 admin,那么输入这个 连接 http://localhost:8080/admin/ 它会出现一个错误提示页,让你下载 admin 自己安装。
找这个 admin 也费了偶不少力气,下面把安装步骤一块写出来好了。
到这个页面 /tomcat/index.html 1)点左边的 Current Releases 2)往下看,在最底下找到 'browse download area' 3) 选择你用的 tomcat 的版本,进去在选 bin 目录,里面有一堆文件,偶下载的是这个 jakarta-tomcat-5.5.9-admin.zip 4) 随便把它解压到某个目录 5) 从里面找到 admin.xml 把它 copy 到%Tomcat 5%\conf\Catalina\localhost,然后 copy 这个 目录 server\webapps\admin 到%Tomcat 5%\server\webapps\admin6) 删掉那个包涵出错信息的 index.html 文件,似乎是在\Tomcat 5.5\webapps\ROOT 这个目 录下?记不清了,反正只要找到内容是那个出错信息的页面,然后删之就 OK 了。
7)重启一下 Tomcat,然后 http://localhost:8080/admin/这个页面就可以用了附测试文件 DbJsp1.jsp<!--首先导入一些必要的 packages--> <%@ page import="java.io.*"%> <%@ page import="java.util.*"%> <%@ page import="java.sql.*"%> <%@ page import="javax.sql.*"%> <%@ page import="javax.naming.*"%> <%@ page import="com.mysql.jdbc.Connection"%> <%@ page import="javax.sql.DataSource" %> <!--设置中文输出--> <%@ page contentType="text/html; charset=GB2312" %> <html> <head> <title>DbJsp1.jsp</title> </head> <body> <% //以 try 开始 try { java.sql.Connection con; Statement stmt; ResultSet rs;//建立数据库连接 Context ctx = new InitialContext(); DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/BookDB"); con = ds.getConnection(); //创建一个 JDBC 声明 stmt = con.createStatement(); //增加新记录 stmt.executeUpdate("INSERT INTO books (id,name,title,price) VALUES ('999','Tom','Tomcat Bible',44.5)"); //查询记录rs = stmt.executeQuery("SELECT id,name,title,price from books"); //输出查询结果 out.println("<table border=1 width=400>"); while (rs.next()) { String col1 = rs.getString(1); String col2 = rs.getString(2); String col3 = rs.getString(3); float col4 = rs.getFloat(4);//convert character encoding col1=new String(col1.getBytes("ISO-8859-1"),"GB2312"); col2=new String(col2.getBytes("ISO-8859-1"),"GB2312"); col3=new String(col3.getBytes("ISO-8859-1"),"GB2312");//打印所显示的数据 out.println("<tr><td>"+col1+"</td><td>"+col2+"</td><td>"+col3+"</td><td>"+co l4+"</td></tr>"); } out.println("</table>");//删除新增加的记录 stmt.executeUpdate("DELETE FROM books WHERE id='999'");//关闭数据库连结 rs.close(); stmt.close(); con.close(); }//捕获错误信息 catch (Exception e) {out.println(e.getMessage());}%> </body> </html>。