首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java Web 三層架構環境搭建完整指南:從 JDK 安裝到三層demo實現

     編輯:Java 相關知識

前言

本文詳細記錄 Java Web 三層架構(表現層、業務邏輯層、數據訪問層)的開發環境搭建全過程,涵蓋 JDK、Tomcat、SQL Server 的安裝與配置、環境變量設置、Tomcat 虛擬目錄配置、數據庫連接池配置,最後通過一個簡單的 JSP 測試頁面驗證三層架構是否通順。雖然示例使用的是較早期版本(JDK 1.4.2、Tomcat 5.0.28),但核心配置思路對理解 Java Web 基礎架構仍有參考價值。

一、軟體準備與下載

1. JDK 下載

本教程使用 JDK 1.4.2(現已過時,實際開發請使用 JDK 8/11/17+ 長期支援版)。

  • 下載連結(歷史版本):https://dlc.sun.com/jdk/j2sdk-1_4_2_07-windows-i586-p.exe

2. Tomcat 下載

使用 Tomcat 5.0.28,安裝版或解壓版均可。現代項目建議使用 Tomcat 9/10。

3. 數據庫選擇

推薦 MySQL,但本文因課程設計需求採用 SQL Server(個人版或開發版)。連接 SQL Server 需要三個 JDBC 驅動 JAR 包(文件名以 ms 開頭),可從此處下載:
https://www.jb51.net/softs/234055.html

二、軟體安裝與環境變量配置

1. 安裝 JDK 並配置環境變量

假設安裝路徑為 C:\jdk,在「系統變量」中新增/修改:

JAVA_HOME=C:\jdk
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
PATH=%JAVA_HOME%\bin;%PATH%

驗證: 打開 CMD 輸入 java -version 與 javac -version,顯示版本號即成功。

2. 安裝 Tomcat

建議安裝至 D:\tomcat。Tomcat 5.0.x 無需額外環境變量即可運行,但若需編譯 Servlet,需將 Tomcat 的 servlet-api.jar 和 jsp-api.jar 加入 CLASSPATH:

TOMCAT_HOME=D:\tomcat
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\common\lib\servlet-api.jar;%TOMCAT_HOME%\common\lib\jsp-api.jar
PATH=%JAVA_HOME%\bin;%TOMCAT_HOME%\bin;%PATH%

將下載的三個 SQL Server JDBC 驅動 JAR 放入 %TOMCAT_HOME%\common\lib 目錄。

3. 測試 Tomcat

啟動 Tomcat(開始菜單 → Tomcat → Monitor Tomcat → Start Service),瀏覽器訪問 https://localhost:8080/,出現貓咪頁面即成功。

4. 安裝 SQL Server

  • Windows XP 下需安裝個人版或開發版(推薦個人版)。
  • 安裝過程全程 Next,注意:「域帳戶」選 本機帳戶,「驗證模式」選 混合驗證(關鍵,否則程序無法連接),為 sa 用戶設置密碼(練習可選「空密碼」)。

三、正式編碼:構建三層 Demo

1. 建立數據庫與表

打開企業管理器,連接本地服務器(綠色三角形表示連接成功),新建數據庫 test,並在其中新建表 test,字段如下:

id int not null identity(1,1),
mark varchar(255),
name varchar(255),
sex varchar(255)

也可使用 SQL 腳本 test.sql 在查詢分析器中執行:

create database test
USE test
create table test
(
id int not null identity(1,1),
mark varchar(255),
name varchar(255),
sex varchar(255)
)

2. 建立 Tomcat 虛擬目錄

任意位置(如 E:\wool)建立文件夾結構:

wool/
└── WEB-INF/
    ├── classes/
    └── lib/          (放入 3 個 SQL Server JDBC 驅動 JAR)

註:此處暫無 web.xml,稍後配置連接池時會添加。

3. 配置連接池與資源映射

此步驟是課程設計的難點,採用手動配置 XML 文件方式(而非 Tomcat 管理界面),更簡潔且不易出錯。

建立 wool.xml(Context 配置,定義 DataSource)

放入 %TOMCAT_HOME%\conf\Catalina\localhost\ 目錄。

<Context path="/wool" docBase="E:/wool" debug="0" reloadable="true">
    <Resource name="jdbc/sqlserver" auth="Container"
              type="javax.sql.DataSource"
              driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
              url="jdbc:microsoft:sqlserver://localhost;DatabaseName=test"
              username="sa"
              password=""
              maxActive="4"
              maxWait="5000"
              maxIdle="2" />
</Context>

注意: 實測發現 XML 文件中若包含正文內容(即 <Resource>... 之間的換行縮進)可能導致啟動失敗,需刪除正文空白或壓縮為單行。

建立 web.xml(聲明資源引用)

放入 E:\wool\WEB-INF\ 目錄。

<web-app>
    <resource-ref>
        <res-ref-name>jdbc/sqlserver</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
</web-app>

4. 編寫測試 JSP 頁面

文件名 test.jsp,放入 E:\wool\ 根目錄。

<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>
<html>
<body>
<table border="1">
<tr><th>名字</th><th>性別</th><th>分數</th></tr>
<%
    Context ctx = new InitialContext();
    DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/sqlserver");
    Connection conn = ds.getConnection();
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select * from test");
    while (rs.next()) {
%>
<tr>
    <td><%=rs.getString("name")%></td>
    <td><%=rs.getString("sex")%></td>
    <td><%=rs.getString("mark")%></td>
</tr>
<%
    }
    rs.close(); stmt.close(); conn.close();
%>
</table>
</body>
</html>

5. 啟動測試

  1. 啟動 SQL Server 服務。
  2. 啟動 Tomcat。
  3. 瀏覽器訪問:https://localhost:8080/wool/test.jsp

若能正常顯示數據庫表中的數據,恭喜你,Java Web 三層架構基礎環境搭建成功!

四、總結

本文記錄的方法是筆者協助同學完成課程設計(Web 三層架構)時整理的最佳實踐,參考了網上大神經驗。通過以上步驟,對於未接觸過 Java 或其他 Web 編程的初學者,能快速入門並完成工程實踐。實際項目中請使用現代技術棧(Spring Boot、MyBatis、Druid/HikariCP、MySQL/PostgreSQL 等),但理解底層配置原理對排查問題大有裨益。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved