Feed on
Posts
Comments
Email訂閱

This Post is under 軟體開發

目的:自學以Java開發Web應用程式時,我們會在網路上搜尋參考資料,但免不了仍會遇到很多坑(佈署到Tomcat後,以瀏覽器開啟出現 404,但是不知問題出在哪裡)。必須克服了這些坑才會好不容易看到HelloWorld。這些坑的來源是:第一,幾乎沒有單一份文件可以完全滿足你的需求,因此必須同時看很多文件,而這些文件描述的部分可能彼此難以串接,這難以串接的部分就是坑的所在。第二是,開發與執行環境常常在更新,這些文件所描述的可能半年之後就過期了,又產生了另一種坑。因此本文也只是將目前所整理到的相關資料做個統整,可以在目前為止順利地開發出一個Java Web應用程式,但不保證未來還持續有效。

目標:使用 IntelliJ IDEA Community 建立第一個 Spring Boot Web 應用程式,佈署到 Java Servlet Container(此例為Tomcat),以瀏覽器開啟,如下圖。意義是使用免費的Java開發環境,開發MVC web應用程式。

Step1:安裝軟體開發工具

  • JDK21
  • 開發環境:IntelliJ IDEA 2023.3.5 (Community Edition)

軟體下載與安裝方式可參考下列資訊,但要注意要在電腦的環境變數中設置JDK的路徑:

Step2:建立 Spring Boot 專案

Step3:佈署到(IntelliJ IDEA Community)外部的Tomcat,以瀏覽器執行

以上在MVC框架中,充其量只實作了一個最簡單的Controller,於是我們當然會繼續想往 Model(database連接)的方向前進,參考這篇 Spring Boot 零基礎入門 (25) – 資料庫連線設定、IntelliJ 資料庫管理工具介紹進行設定(特別聲明,以下404問題與這篇參考文件無涉)。就在修改pom檔加入dependencies與application.properties部分內容就重建專案並佈署到Tomcat後,發現一直出現 404,進一步檢查 war 的 WEB-INF\classes 竟然空無一物(所以才404)。將pom與application.properties還原到原先內容仍然無法解決問題。曾經懷疑是瀏覽器快取的問題,但清除快取或將電腦重開都無法解決。後來還是將整個專案砍掉重練就可以了。因此猜測專案設定可能在某個階段跑掉了(曾經因網頁快取,而設定過 mvn clean package,但這不一定是原因)導致rebuild仍無法產生WEB-INF\classes的 class。由於現下還在開發最起始階段,就算砍掉重練也不覺可惜。但建議開發者應該做好版控,以便隨時可以rollback回先前專案完好的狀態。

附錄:其他 IntelliJ IDEA Community 與佈署到 Tomcat 的注意事項

 

留言區