【 tulaoshi.com - Java 】
                             
                                         JBuilder是一个开放的Java IDE,它集成了Tomcat、Weblogic等服务器。虽然JDK、Tomcat、Weblogic不断升级,我们仍可以在JBuilder中使用它们的最新版本。由于Tomcat服务器的配置比较复杂,习惯了Windows平台的程序员常常对Tomcat的使用感到困惑。本文给出了一个使用Tomcat环境下的数据库连接池Database Connection Pool (DBCP) 的例子,说明了用JBuilder开发Web应用的一般步骤,并回答了一些经常遇到的问题。 
  JBuilder2005所带JDK的版本是1.4.2_04-b05,其文件放在目录JBuilder_HOMEjdk1.4下,Tomcat的最新版本是5.0.27,其文件放在目录JBuilder_HOME hirdparty jakarta-tomcat-5.0.27下。下面首先给出给出了一个使用Tomcat环境下的数据库连接池Database Connection Pool (DBCP) 的例子。 
  1. File-New Project新建工程文件,输入工程文件名称myWeb和目录C:myWeb 
  2. Project-Project Properties设置工程文件的属性,选择Tomcat为服务器 
  3. File-New新建Web Module(WAR) 
  输入Web Module的名称DBTest和目录DBTest 
  4. File-New新建JSP,输入jsp文件的名称test.jsp,产生test.jsp文件后修改test.jsp的内容 
  Test.jsp: 
  <%@ page contentType="text/html; charset=Big5" %> 
  <html> 
  <head> 
  <title>DB Test</title> 
  </head> 
  <body> 
  <% 
  foo.DBTest tst = new foo.DBTest(); 
  tst.init(); 
  %> 
  <h2>Results</h2> 
  Foo <%= tst.getFoo() %><br/> 
  Bar <%= tst.getBar() %> 
  </body> 
  </html> 
  将会生成一个名称为test的runtime configuration。 
  选Run-Configurations-Edit可修改runtime configuration,特别是可以指定服务器的端口号和是否自动搜索为被占用的端口。 
  5. File-New Class,输入类名DBTest和包名foo,产生DBTest.java文件后修改它的内容 
  DBTest.java 
  package foo; 
  import javax.naming.*; 
  import javax.sql.*; 
  import java.sql.*; 
  public class DBTest { 
  String foo = "Not Connected"; 
  int bar = -1; 
  public void init() { 
  try{ 
   Context ctx = new InitialContext(); 
   if(ctx == null ) 
    throw new Exception("Boom - No Context"); 
    DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/TestDB"); 
    if (ds != null) { 
     Connection conn = ds.getConnection(); 
     if(conn != null) { 
      foo = "Got Connection "+conn.toString(); 
      Statement stmt = conn.createStatement(); 
      ResultSet rst =stmt.executeQuery("select id, foo, bar from testdata"); 
      if(rst.next()) { 
       foo=rst.getString(2); 
       bar=rst.getInt(3); 
      } 
      conn.close(); 
     } 
    } 
   }catch(Exception e) { 
    e.printStackTrace(); 
   } 
  } 
  public String getFoo() { return foo; } 
  public int getBar() { return bar;} 
  } 
  6. 修改web.xml的内容 
  web.xml: 
  <?xml version="1.0" encoding="UTF-8"?> 
  <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> 
  <description>MySQL Test App</description> 
  <resource-ref> 
  <description>DB Connection</description> 
  <res-ref-name>jdbc/TestDB</res-ref-name> 
  <res-type>javax.sql.DataSource</res-type> 
  <res-auth>Container</res-auth> 
  </resource-ref> 
  </web-app> 
   7. F9运行应用,myWeb目录中将会生成Tomcat子目录,其中包含了conf子目录, 
  在Tomcat_HOMEconfCatalinalocalhost目录中生成了DBTest.xml文件 
  8. 将myWebTomcatconf目录中的文件server8080.xml加入工程文件,修改server8080.xml的内容 
  server8080.xml: 
  <?xml version="1.0" encoding="UTF-8"?> 
  <Server debug="0" port="8081" shutdown="SHUTDOWN"> 
  <Service name="Catalina"> 
  <Connector acceptCount="10" connect