IDEA 2021.1 建立 Java Web 專案
最近一段時間在學習 Java Web,沒有想到我第一步就沒有辦法進行下去了,笑~
這就先賣個關子,先說說如果如何使用 IDEA 建立 Java Web 專案。
因為我現在使用的是 IDEA 2021.1 以後的版本,所以建立 Java Web 非常簡單。簡單到什麼地步呢,可以看看下面的內容。
極速建立版
-
開啟你的 IDEA 進入歡迎頁面,選擇新建專案。
-
選擇 Java Enterprise(Java EE)。
-
填寫好右邊的引數,我這裡使用了中文語言包,英文的也沒有多大區別,根據自己的喜好配置就好。
應用程式及伺服器設定如果沒有的話,可以選擇右邊的新建 -> 選擇 Tomcat 伺服器,在彈出來的介面選擇你的 Tomcat 安裝的路徑。
- 到了依賴項選擇時,留意 Servlet 是否有勾選,如果有勾選,點選完成。如果沒有勾選,請勾上依賴項再點選完成。
- 完成後,就可以看到 IDEA 正在建立專案。建立好專案後可以使用右上角的啟動專案按鈕,IDEA 會預設開啟瀏覽器,顯示預設的 Servlet 頁面。
到這裡,Java Web 就算是建立成功並正確運行了。但是,有一個問題,就是我正在看的教程和現在用編輯器創建出來的專案目錄大部分不一樣,這樣就讓我沒法跟著教程繼續學習Java Web,於是就有了後面的方法。
手動搭建 Java Web
-
開啟你的 IDEA 進入歡迎頁面,選擇新建專案。
-
這裡選擇空專案進行建立,主要是方便以後以多模組的方式進行學習和開發。如果是單模組,可以直接跳到 4 步。
點選下一步,輸入專案的名稱和專案的儲存路徑,這裡就按照自身實際情況修改。
- 等待專案建立完成。因為專案是空專案,所以 IDEA 會在建立完成的時候自動彈出專案結構,讓你不會因為一個空專案而傻傻的發呆。
在這裡選擇 模組 -> 選擇 +
新增新模組。
- 在 新建模組 選擇 Java 模組。
修改 模組的名稱和模組的儲存路徑。
- 模組建立好後,可以在模組列表中看到剛剛新建的模組名稱,右鍵對應的模組名稱,新增 Web 框架。
新增好框架後,會自動顯示框架的相關配置。例如這裡可以通過部署描述符下的編輯按鈕,對 Web 模組部署描述符(web.xml)進行修改
這裡可以看到 下面有個警告提示: 'Web' 任何工件都不包含 Facet 資源。這是因為我們沒有在工件選項中建立對應的內容導致的,可以直接點選建立工件以達到快速建立,不然需要繼續按照下面的步驟進行操作。
- 選擇 專案設定下的 工件,同樣類似模組新增一樣,選擇
Web 應用程式:展開型
。這裡會有兩個選項,一個是 基於模組 自動建立,和上一步類似;另一個是 空 的工件,需要自己設定目錄以及對應內容的輸出位置。對應的目錄結構可以參考下圖:
- 點選右下角 應用 後,我們之前所做的工作會在專案中生成對應的目錄和檔案,主要目錄就是 web 和 web 目錄下的 WEB-INF。
在 web 目錄下就可以開始我們的 Java Web 專案的開發了,這裡直接建立了一個 Demo 檔案 index.jsp,主要就是在頁面上顯示一句話。
- 接下來就是搭建除錯/執行環境了,這樣我們才能知道我們寫的程式碼是什麼效果。這個前置要求是電腦用已經安裝好了 Web 伺服器,因為我自己使用的是 Apache Tomcat,所以這裡就以 Tomcat 為例。
點選右上角的 編輯配置,因為我已經配置好了,所以這裡直接顯示 Tomcat 8.5.75,只要點選彈出更多的選項就能看到編輯配置了。
- 一樣的和前面建立專案、建立模組類似,這裡 點選
+
後,在彈出來的選單裡面選擇 Tomcat 伺服器 本地,如果是其他的,請根據實際情況選擇。
- 選擇好後,可以在右邊進行伺服器的配置,例如名稱、應用程式伺服器、埠等等。如果 應用程式伺服器 沒有下拉選項,點選旁邊的配置,然後選擇安裝在本地的 Tomcat 的跟目錄路徑,IDEA 會自動識別出 Tomcat 的版本資訊。如果沒有識別,可能是路徑錯誤或者速度慢,可以檢查路徑或者重試幾次。
-
伺服器配置好之後,還不行,還需要進行部署的配置。切換到部署標籤,點選
+
新增工件,因為現在只有一個工件,所以 IDEA 會直接新增工件,接著只需要配置一下 應用程式上下文,也就是瀏覽器訪問時的虛擬目錄。設定好後記得點選 應用 確認。
-
執行伺服器。點選右上角的 綠色三角 按鈕,或者使用快捷鍵
Shift + F10
執行。
啟動的過程可以在下面的控制檯輸出中看到,看起來是不是很有逼格?啊哈哈。
看到 部署完成,就可以使用瀏覽器開啟我們的 Demo 了。訪問的路徑一般是 協議 + 本地主機名 + 埠號 + 虛擬目錄 + 檔名, 我這裡的就是:http://localhost:8080/test_Web_exploded/index.jsp
。其中埠號在第 10 步伺服器配置中設定,虛擬目錄是在第 11 步工件的應用程式上下文中配置,檔名就是我們專案中的 web 目錄下的對應檔案。
WEB-INF 目錄下的檔案無法直接訪問。
支援 Servlet
到了這裡,你以為你的 Java Web 專案就算是真正的搞定了麼?答案是:否。
不信,你可以試著建立一個 Servlet,你會很神奇的發現你沒有辦法在繼承中找到 Servlet,就算是你將程式碼複製過來,IDEA 也會顯示紅色提示, 無法使用。就像下面這樣:
不過,不要慌,解決辦法也很簡單。
第一種
- 在 WEB-INF 目錄下新建
lib
資料夾。 - 找到你的 Tomcat 安裝目錄。
- 複製 Tomcal 安裝目錄下的
lib/servlet-api.jar
到剛才新建的lib
目錄中。 - 右鍵
lib
,選擇新增到庫,在彈出來的建立庫中根據實際情況選擇新增到專案,或者新增到模組庫。到這裡就可以繼承到 Servlet 進行開發了。
- 設定 Servlet 的訪問路徑,因為建立 web 的時候選擇的是 3.0 以上的版本,所以有兩種方式設定。
- 在 web.xml 中設定
- 使用註解的方式設定
- 在 web.xml 中設定
- 設定完成後,重啟 Tomcat 伺服器,使用瀏覽器訪問。
這裡通過瀏覽器訪問後,在控制檯中列印了一段文字,這段文字正是我們在程式碼中輸出的內容,說明我們前面的步驟操作下來沒有問題。
第二種
還記得我們在前面不是配置了 Tomcat 的伺服器麼,IDEA 會將這些檔案作為庫新增到外部庫中,而我們只需要在專案或者模組中新增這個依賴就可以使用 Servlet 了。
-
點選 檔案 -> 專案結構,進入到模組設定項。
-
選擇對應的模組,切換到依賴標籤。
-
點選
+
圖示,選擇新增 庫。
-
然後選擇 Tomcat 作為依賴項新增,記得點選應用儲存當前操作。
後續的步驟跟第一種方式的第 5 步開始一樣了,驗證沒有問題就證明配置沒有問題。