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_HOME/jdk1.4下,Tomcat的最新版本是5.0.27,其文件放在目錄JBuilder_HOME/thirdparty/ 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>
?。紅itle>DB Test</title>
</head>
<body>
?。?
foo.DBTest tst = new foo.DBTest();
tst.init();
%>
<h2>Results</h2>
Foo <%= tst.getFoo() %>
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>
新聞熱點
疑難解答