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

Eclipse 專案轉換實戰:Java Project 轉 Web Project 完整步驟與部署指南

     編輯:Java 程式設計入門

專案結構轉換核心步驟

1. 修改輸出目錄

  • 右鍵專案 → Properties → Java Build Path → Source
  • 將 Default output folder 改為:專案名/WebContent/WEB-INF/classes
  • 確保編譯後 .class 檔案輸出到 Web 標準結構

2. 建立 Web 標準目錄結構

專案根目錄/
├── src/                    # Java 原始碼
├── WebContent/             # Web 根目錄 (部署根)
│   ├── index.jsp           # 歡迎頁面
│   ├── css/                # 樣式檔案
│   ├── js/                 # JavaScript
│   ├── images/             # 圖片資源
│   └── WEB-INF/            # 客戶端不可直接存取
│       ├── web.xml         # 部署描述符 (核心配置)
│       ├── classes/        # 編譯後類別檔案
│       └── lib/            # 依賴 JAR 包

3. 配置 web.xml (Servlet 2.4/2.5 規範)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://java.sun.com/xml/ns/j2ee 
         https://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">
    
    <display-name>MyWebApp</display-name>
    
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    
    <!-- Servlet 定義範例 -->
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.example.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    
</web-app>

4. 管理依賴 JAR 包

  1. 在 WebContent/WEB-INF/lib/ 建立 lib 目錄
  2. 複製所需 JAR 到 lib 目錄(如 servlet-api.jar、jdbc-driver.jar、框架 JAR)
  3. Eclipse 中:選中 JAR → 右鍵 → Build Path → Add to Build Path
  4. 專案結構會顯示 Web App Libraries 庫

5. Servlet API 依賴處理

  • 開發期:需 servlet-api.jar 編譯 Servlet 程式碼
  • 運行期:Tomcat 等容器已提供,**不可**打包進 WAR 的 WEB-INF/lib
  • 最佳實踐:Maven/Gradle 設定 provided 作用域,Eclipse 手動管理時勿放入 lib

部署到 Tomcat 完整流程

手動部署(開發測試)

  1. 找到 Tomcat 安裝目錄:$CATALINA_HOME
  2. 進入 webapps/ 目錄
  3. 建立以專案命名的目錄:mkdir MyWebApp
  4. 將 WebContent/ **所有內容** 複製到此目錄(不是複製 WebContent 目錄本身)
  5. 結構應為:webapps/MyWebApp/index.jsp、webapps/MyWebApp/WEB-INF/web.xml
  6. 執行 bin/startup.sh (Linux/Mac) 或 bin/startup.bat (Windows)
  7. 瀏覽器訪問:https://localhost:8080/MyWebApp/

Eclipse WTP 整合部署(推薦開發)

  1. 安裝 Eclipse IDE for Enterprise Java Developers (含 WTP)
  2. Server 視圖 → 右鍵 New → Server → 選擇 Tomcat 版本
  3. 配置 Tomcat 安裝路徑、JRE
  4. 右鍵專案 → Run As → Run on Server → 選擇建立的 Tomcat
  5. 自動發布、熱部署、除錯支援

Maven 化改造(現代標準)

pom.xml 核心配置

<project xmlns="https://maven.apache.org/POM/4.0.0">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>my-webapp</artifactId>
    <version>1.0.0</version>
    <packaging>war</packaging> <!-- 關鍵:war 打包 -->
    
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <failOnMissingWebXml>false</failOnMissingWebXml> <!-- Servlet 3.0+ 可選 -->
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope> <!-- 關鍵:provided 作用域 -->
        </dependency>
        <!-- 其他依賴 -->
    </dependencies>
    
    <build>
        <finalName>my-webapp</finalName> <!-- WAR 檔名 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.2</version>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>src/main/webapp</directory> <!-- 標準目錄 -->
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Maven 標準目錄結構

src/
├── main/
│   ├── java/           # Java 原始碼
│   ├── resources/      # 資源檔案 (複製到 classes)
│   └── webapp/         # Web 根目錄 (對應 WebContent)
│       ├── WEB-INF/
│       │   └── web.xml
│       ├── index.jsp
│       └── resources/  # 靜態資源
└── test/
    ├── java/
    └── resources/

常見問題排查

問題原因解決
404 Not Found路徑錯誤、web.xml 缺失、歡迎檔案未配置檢查 URL、web.xml、welcome-file-list
ClassNotFoundExceptionJAR 未放入 WEB-INF/lib、Build Path 未加入確認 lib 目錄、Build Path、Maven 依賴
Servlet 初始化失敗servlet-api.jar 衝突、版本不匹配設定 provided 作用域、檢查容器版本
中文亂碼編碼不一致web.xml 配置 filter、Tomcat server.xml URIEncoding=UTF-8、JSP pageEncoding
靜態資源 404DefaultServlet 映射衝突web.xml 配置 <url-pattern>/</url-pattern> 而非 /*

從手動到自動化的演進

  1. 手動複製:理解部署本質,適合學習/簡單測試
  2. Eclipse WTP:開發效率高,支援熱部署/除錯
  3. Maven + 插件:標準化建構、依賴管理、CI/CD 基石
  4. Gradle:腳本靈活、增量建構快、現代首選
  5. Docker 容器化:FROM tomcat:9-jre8 + COPY target/*.war /usr/local/tomcat/webapps/
  6. K8s 雲原生:Deployment + Service + Ingress,滾動更新、自動擴縮容

總結

Java Project 轉 Web Project 核心在於目錄結構標準化(WebContent/WEB-INF)、輸出路徑配置、web.xml 描述符、依賴管理。現代開發強烈建議直接使用 Maven/Gradle + war 打包,配合 IDE 整合部署,建立標準化、可重現、易維護的專案骨架。

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