1. 程式人生 > >JavaEE版本Eclipse中配置與使用Tomcat

JavaEE版本Eclipse中配置與使用Tomcat

本文所用軟體版本:

  • JDK(1.8):JDK8u92 64位
  • Eclipse(4.6):eclipse-jee-neon-R-win32-x86_64
  • Tomcat(8.5.4):apache-tomcat-8.5.4-windows-x64

1. 向Eclipse中新增Tomcat

首先,需要安裝好JDK,Eclipse,Tomcat並配置好相關的環境變數。Tomcat配置好後,在瀏覽器輸入http://localhost:8080/會出現如下圖所示的Tomcat的首頁。

 

在Eclipse中點選【Window】-->【Preferences】後,在彈出的介面中點選左側的【Server】-->【RuntimeEnvironrenment】,會彈出如下圖所示介面:


點選【Add】新增Tomcat。

 

選擇Apache Tomcat v9.0,勾上Create a new local Server(不勾上也可以使用安裝的Tomcat,但勾上可以進行一些方便使用的配置),然後點選【Next】。

 

這裡修改Tomcat名稱,選擇Tomcat的安裝目錄和使用JDK,然後點選【Finish】完成。然後可以看到Eclipse的專案資源管理器(Project Explorer)這裡多了一個Servers,如下圖所示。

 雙擊下圖中紅色圈出的地方,將出現Servers的配置介面。

 

下圖是Eclipse對剛剛新增的Tomcat的預設配置,其中Server Locations指定了Server的路徑和應用部署的路徑。


2. 建立Web測試工程,對在Eclipse中釋出專案進行測試

首先新建一個Web工程,我們將工程命名為TestSite。在Eclipse中點選【File】-->【new】-->【Dynamic Web Project】,如下圖所示。

 

輸入工程名稱,然後連續兩次點選【Next】。

 

修改應用上下文(根路徑),然後點選【Finish】完成。

 

接下來新建一個index.jsp檔案和一個TestServlet類。通過在專案上右鍵,依次點選【New】-->【JSP File】建立JSP檔案。

 

建立完index.jsp頁面後,它自動在Eclipse中被開啟,如下圖所示。我們看到頁面中有一個“HttpServlet類沒有在Java 編譯路徑上找到”的錯誤。解決該錯誤只需將

相關實現servlet規範的jar包新增到Build Path上即可。

 

在工程上右擊,然後依次點選【Build Path】-->【Configure Build Path…】,如下圖所示。

 

 

點選【Add Library】,新增依賴庫。

 

點選【Server RunTime】-->【Next】。

 

選擇剛剛新增進Eclipse的Tomcat,然後點選【Finish】完成。

現在頁面中出現的錯誤已經消失了。我們將title標籤中的內容改為test,在body標籤中新增一句簡單的“welcome to this site!”,如下圖所示。


通過在【Deployment Descriptor】下的【Servers】上右鍵,然後依次點選【New】-->【Servlet】新建一個Servlet類。 如下圖所示。

 

輸入包名和類名,然後點選【Next】,進行下一步操作。

 

 

這裡點選【Edit】可以修改TestServlet的URL對映。我們將其修改為“/test”。

 


以下是新建的TestServlet中的doGet和doPost方法。

現在,可以釋出我們的測試工程到Tomcat了。如下圖所示,通過【Add and Remove】可以部署和解除安裝工程。

 



 

不過現在檢視Tomcat中什麼發現什麼東西也沒有。剛剛釋出的工程其實在如下圖所示的目錄中。

 

 下面我們將介紹使用自定義的目錄來部署我們的應用。

3. 使用自定義的目錄來部署應用(強烈推薦

如下圖所示,【Server Locations】有三種配置方式,使用工作空間元資料、使用Tomcat安裝位置和使用自定義位置。第一和第三種方式不會修改安裝的Tomcat,第二種方式會控制安裝的Tomcat。即使用第一和第三種方式時,應用程式的部署不會造成安裝的Tomcat中的任何檔案的改變(不要將Server Path 和 Deploy Path 指向安裝的Tomcat中的目錄),Tomcat是乾淨的,因為並沒有直接部署到Tomcat的任何目錄中,而是將專案部署到了Tomcat安裝目錄之外的其他目錄中,第二種方式是直接部署到Tomcat中。

剛剛的測試工程的部署是使用的Eclipse的預設方式—使用工作空間元資料,使用這種方式專案是部署到了工作空間中,部署的專案不能夠輕易找到,如果部署的專案越多,工作空間會越來越龐大。

下面我們使用自定義的目錄來部署應用程式。按如下方式配置好後,在Eclipse中啟動Tomcat。


現在檢視我們剛剛為Server Path指定的目錄,可以發現,Server Path相當於定義了另一個Tomcat,如下圖所示,Server Path 的目錄裡面多出了幾個資料夾,這裡除了沒有Tomcat安裝目錄中的bin和lib目錄以及一些lisence、readme等不重要的檔案,其餘都和Tomcat安裝目錄中的一樣。這裡進入conf目錄同樣可以修改一些該Server的配置,比如埠號等。


現在,我們將測試工程部署到Tomcat。並在瀏覽器中訪問,如下圖。


此時,我們再檢視我們剛剛指定的部署目錄,發現根本就沒有我們部署的工程,這是因為我們剛剛勾選了serve modules without publishing,在不釋出的情況下提供模組。


那麼我們是如何能夠訪問我們的Web應用程式的呢?現在檢視conf/Catalina/localhost目錄,會發現多了一個site.xml檔案,這是我們剛剛勾選了publish module contextsto separate xml file的結果。每部署一個應用,就會在這裡產生一個對應的xml檔案。該檔案實際上是一個應用的Context配置檔案,或者說是一個虛擬目錄配置檔案。開啟site.xml,檢視其內容,如下圖。


docBase配置了應用程式的物理路徑,path配置了應用程式的Context-root路徑,是一個邏輯路徑,reloadable配置了可以自定重新載入,剛剛能夠通過http://localhost:8080/site/test訪問TestServlet,正是這裡的PreResources配置起的作用,它將我們專案中的類編譯後的.class檔案掛載到了/WEB-INF/classes目錄下。能夠訪問Jsp是因為,JSP編譯後的.class檔案都在下圖中的目錄下。

 

現在,我們再修改一下測試工程中的TestServlet的URL對映,改為“/home”,如下圖所示。

修改完,Tomcat將會reaload我們的測試專案,因為我們之前勾選了Modules auto reload by defualt,所以專案的修改會反應到Tomcat中。以下是控制檯的輸出。

在瀏覽器中通過新的url訪問,成功。

 

進一步地,我們將埠號修改為80

然後在hosts檔案(在C:\Windows\System32\drivers\etc目錄下)中建立ip與域名的對映,可在本機通過自己的域名訪問。

轉載自:https://blog.csdn.net/y1iagx/article/details/52293737?locationNum=1