Java Web 環境配置向來繁瑣。作者從 JBuilder+WebLogic+SQL Server 到 Eclipse+Tomcat+Oracle 均踩過坑,記錄成功經驗助君少走彎路。
JAVA_HOME、PATH、CLASSPATH 系統變量NBZJULUHAO/11111LUHAOUSER_INF (USER_ID, USER_NAME, USER_TEL) + 測試數據tomcatPluginV31.zip:Eclipse Tomcat 啟動插件 (提供菜單/工具欄啟停控制)apache-tomcat-5.5.17.zip:Tomcat 核心程序apache-tomcat-5.5.17-admin.zip:管理控制台 (解壓合併至核心目錄,**強烈建議**用圖形界面配置數據源,避免手寫 XML 版本不兼容錯誤)TOMCAT_HOME → Tomcat 根目錄tomcat-users.xml 添加管理用戶:
<user username="luhao" password="12345" roles="admin,manager"/>
server.xml 修改端口:8080 → 8008 (Oracle 佔用 8080)https://localhost:8008/manager、用戶 luhao/12345 (保證發布/Reload 無錯)$ORACLE_HOME/ora90/jdbc/lib/classes12.jar → $TOMCAT_HOME/common/lib/luhao/12345 登錄 https://localhost:8008/adminjdbc/Oraclejdbc:oracle:thin:@localhost:1521:NBZJUoracle.jdbc.driver.OracleDriverluhao/11111 (有權限用戶)server.xml 全局資源配置:
<Resource name="jdbc/Oracle" type="javax.sql.DataSource"
password="11111" driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="2" maxWait="5000" username="luhao"
url="jdbc:oracle:thin:@localhost:1521:NBZJU" maxActive="4"/>
context.xml 添加 ResourceLink:
<ResourceLink global="jdbc/Oracle" name="jdbc/Oracle" type="javax.sql.DataSource"/>
quickstart,自動在 server.xml Host 下添加 Context 關聯工作目錄index.jsp (需 MyEclipse/WTP 等 Web 插件支持):
<%@ page import="javax.naming.*, javax.sql.*, java.sql.*" %>
<%
Context initCtx = new InitialContext();
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/Oracle");
if (ds != null) {
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from LUHAO.USER_INF");
// 輸出表格顯示結果...
conn.close();
}
%>
sqlplus luhao/11111 as sysdba → startup)https://localhost:8008/quickstart/,看到連接成功信息及表數據即配置成功全局配置法 (本文):數據源定義在 Tomcat server.xml/context.xml,所有 Webapp 共享。
局部配置法:將 Resource 定義放入專案 META-INF/context.xml,隔離性更好,但某些 Tomcat 版本可能不支持。
關鍵避坑點:用 admin 圖形界面配置數據源、端口避開衝突、驅動放 common/lib、JNDI lookup 路徑含 java:comp/env。