macOS下载、安装、使用tomcat服务器及IntelliJ IDEA for Mac 如何集成、配置、运行tomcat
文章目錄
- web 服務器軟件
- tomcat
- 如何下載安裝 tomcat
- macOS 下如何啟動 tomcat
- Windows 啟動 tomcat
- 部署項目的方式
- 直接將項目放到 webapps 目錄下即可
- 在 tomcat 的配置文件 server.xml 中進行配置部署
- 在 tomcat 的 localhost 目錄下通過 xml 文件完成部署
- IntelliJ IDEA 集成 tomcat
- IntelliJ IDEA 啟動 tomcat
- IntelliJ IDEA 部署項目
- IntelliJ IDEA 自動部署項目
- IntelliJ IDEA 熱部署
- 手動觸發 Update 動作時需要 IDEA 做什么
- IDEA 失去焦點時做什么
- 熱部署總結
- IntelliJ IDEA 運行 tomcat 的選項說明
- IntelliJ IDEA 對 tomcat 的配置
- web 應用程序如何調試
網絡通信三要素:
1.IP:電子設備(計算機)在網絡中的唯一標識。
2.端口:應用程序在計算機中的唯一標識。范圍:0~65536
3.傳輸協議:規定了數據傳輸的規則
3.1.基礎協議:
3.1.1. tcp:安全協議,三次握手。速度稍慢
3.1.2. udp:不安全協議。速度快
web 服務器軟件
服務器:安裝了服務器軟件的計算機
服務器軟件:接收用戶的請求,處理請求,做出響應
- web服務器軟件:接收用戶的請求,處理請求,做出響應。
- 在web服務器軟件中,可以部署web項目,讓用戶通過瀏覽器來訪問這些項目
- 也叫web容器
常見的 Java 相關的 web 服務器軟件:
weblogic : Oracle 公司,大型的JavaEE服務器,支持所有的JavaEE規范, 收費的。
websphere : IBM 公司,大型的JavaEE服務器, 支持所有的JavaEE規范, 收費的。
JBOSS : JBOSS 公司,大型的JavaEE服務器,支持所有的JavaEE規范,收費的。
Tomcat : Apache 基金組織,中小型的JavaEE服務器,僅僅支持少量的JavaEE規范(例如:servlet/jsp)。開源的,免費的。
注:JavaEE 是 Java 語言在企業級開發中使用的技術規范的總和,一共規定了13項大的規范
tomcat
如何下載安裝 tomcat
官網:https://tomcat.apache.org/
參考:https://blog.csdn.net/dongzhensong/article/details/87807378
macOS 下如何啟動 tomcat
給 bin 目錄的所有者授予執行的權限:
sudo chmod -R u+x /Users/liaowenxiong/Applications/apache-tomcat-8.5.73/bin # 或者 sudo chmod -R 755 /Users/liaowenxiong/Applications/apache-tomcat-8.5.73/bin注:755 代表所有者用戶對擁有讀、寫、執行的權限,同組其他人員以及其它用戶擁有執行和讀的權限,沒有寫的權限。
2.切換到 tomcat 的 bin 目錄下
cd /Users/liaowenxiong/Applications/apache-tomcat-8.5.73/bin3.啟動 tomcat
sh startup.sh # 或者 ./startup.sh4.停止 tomcat
sh shutdown.sh ./shutdown.sh5.瀏覽器地址欄輸入:localhost:8080,驗證是否成功啟動 tomcat
Windows 啟動 tomcat
Windows 系統可以雙擊 startup.bat 啟動服務器(啟動窗口不要關閉掉),雙擊 shutdown.bat 關閉服務器。關閉終端窗口也可以關閉服務器(不推薦),在啟動服務器窗口按 Ctrl + C 也可以停止服務器。
雙擊批處理腳本文件時可能存在的問題:
1.黑窗口一閃而過
解決:配置 JAVA_HOME 環境變量,JDK的安裝目錄設為變量值
2.默認端口號被占用,導致啟動失敗
解決:
1.找到占用端口號的進程,殺死該進程
2.修改tomcat的默認端口號
在tomcat的配置目錄下找到 server.xml 文件,在文件中找到:
將 Connector 元素的 port 屬性值改成其它的端口號即可。
一般將 tomcat 的默認端口號改成 80,該端口號是 http 協議默認的端口號,因此輸入 URL 時可以省略端口號。
部署項目的方式
直接將項目放到 webapps 目錄下即可
http://ip:port/xxx/hello.html
其中 /xxx 是項目的訪問路徑,稱為虛擬目錄;hello.html 是項目中的資源路徑。
缺點:每次修改項目的代碼后,都要把項目重新放到 webapps 目錄下,太麻煩
注:通常會把項目打成 war 包,放到 webapps 目錄下,會自動解包;刪除 war 包對應的項目文件夾也會自動刪除。
在 tomcat 的配置文件 server.xml 中進行配置部署
在 tomcat 的 server.xml 文件的 <Context> 標簽中進行配置部署
參考《tomcat服務器通過配置來部署程序》
好處:不再需要把項目放到 webapps 目錄下,而且修改了項目的代碼后,也不需要手動重新部署,這樣比較方便
缺點:
2.1.server.xml 是 tomcat 的核心配置文件,所以在這個文件中配置會有安全風險
2.2.如果一個tomcat部署多個項目時,每次配置改動都要重啟服務器
注:server.xml 修改后,需要重啟 tomcat,相關配置才能生效
在 tomcat 的 localhost 目錄下通過 xml 文件完成部署
在 tomcat 的 conf/Catalina/localhost 目錄下創建 xml 文檔,進行項目的配置部署
例如,創建一個名為 hello.xml 的文件,在里面寫如下的內容:
<Context docBase="E:\Workspaces\hyt2pf\context"debug="5" reloadable="true" crossContext="true" workDir="E:\Workspaces\hyt2pf\work"/>注:項目的訪問路徑(虛擬目錄)是 xml 文件名,即 /hello
好處:熱部署,部署項目或者刪除項目,都不需要重啟服務器
IntelliJ IDEA 集成 tomcat
第一步:點擊頂部菜單欄 Run → Edit Configurations
第二步:選擇左側 Templates → Tomcat Server → Local,接著點擊頁面中的 Server 標簽頁,再點擊 Application server 下拉列表框右邊的 Configure 按鈕,配置服務器。
第三步:配置服務器
第四步:創建配置文件
前面幾步只是使用 IDEA 的 Template of Tomcat Server 進行服務器集成的相關配置,最后你要把配置信息創建成一份配置文件才能使用。
IntelliJ IDEA 啟動 tomcat
IntelliJ IDEA 部署項目
這里特別強調下,只有點擊 deploy 后,IDEA 才會根據你選擇的部署方式生成對應的文件,所以下圖所示的文件以及部署動作都是在點擊 deploy 后由 IDEA 自動完成的。
本地電腦中的 IDEA 工作空間中的項目目錄結構截圖:
IntelliJ IDEA 自動部署項目
你添加了要部署的 Artifacts(工件/產品/成品)后,服務器啟動時會自動完成已選 Artifacts 的部署工作。
也就是下圖所示的步驟你完成了,那么重啟服務器會自動完成項目的部署。
在 Deployment 標簽頁中添加了 Artifacts,其實并不是部署項目,這里只是選擇項目的部署方式而已,服務器啟動后或者你在底部的服務器窗格中選擇服務器,點擊右鍵的【deploy】才會真正的部署項目。
如何理解部署這個動作,請參閱《部署應用程序到服務器到底是什么意思?部署到底在干什么事情?》。
IntelliJ IDEA 熱部署
熱部署就是正在運行狀態的應用,修改源碼之后,在不重新啟動服務器(包含 JVM)的情況下能夠自動把增量內容部署到服務器上,使得修改立即生效。
熱部署為了解決的問題有兩個, 一是在開發的時候,修改代碼后不需要重啟服務器就能看到效果,大大提升開發效率;二是生產環境上運行的程序,可以在不停止運行的情況下進行升級,不影響用戶使用。
熱部署/熱插拔/熱替換(HotSwap)是在不重啟服務器(包含 JVM) 的前提下,能自動偵測到 class 文件的變化,更新發布包中的 class 文件以及已經加載入內存中處于運行時的 class 的行為,所以熱部署不僅要替換 class 文件,還要更新已經加載到 Java 虛擬機內存中的正在運行的 class。
手動觸發 Update 動作時需要 IDEA 做什么
以下截圖指明了 On 'Update' action 配置的位置:
On ‘Update’ action:手動觸發 Update 動作時需要 IDEA 做什么?
所謂手動觸發 Update 動作是指你主動點擊下圖所示的按鈕去更新 tomcat 應用程序。
但你點擊這個更新按鈕時會彈出如下所示的小窗口,你會發現你在 On 'Update' action 的下拉列表框中選擇的是什么,那么這個小窗口就默認選中的是什么。
其實 On 'Update' action 這個設置是有點多余了,因為僅僅是設置手動觸發 update 按鈕時默認的行為是什么,你依舊需要手動去點擊 update 按鈕,再點擊【確定】按鈕,IDEA 才會去做什么,沒有減少用戶操作的步驟。
具體行為選項的含義:
| Update resources | 更新資源,意思就是你手動觸發 Update 動作,IDEA 會更新 js/html/css/xml 等靜態的資源文件,不過上文提到了,你依舊需要點擊【確定】按鈕,IDEA 才會執行 |
| Update classes and resources | 更新字節碼文件和資源文件,意思就是你手動觸發 Update 動作,IDEA 會更新資源文件以及字節碼文件。特別注意:java文件修改后,debug 模式下立即生效。run 模式下不立即生效,需要 redeployed 才可生效。 jsp文件修改后,在運行模式和調試模式下都是立即生效 |
| Redeploy | 重新部署。不重啟 tomcat,而是把原來項目文件刪掉,然后重新發布 |
| Restart server | 重啟tomcat |
如果服務器存在以 war 方式部署的項目,則行為選項如下圖所示:
當服務器存在以 war 形式部署的項目時,On Update action 與 On frame deactivation 中的選項沒有 Update resources 和 Update classes and resources,取而代之的是 Hot Swap Classes 選項,意思
IDEA 失去焦點時做什么
所謂 IDEA 失去焦點或者失活,是指你最小化 IDEA 窗口或者切換到其它應用程序了,例如你在編碼的時候按 ? + tab 切換到瀏覽器去查詢東西的時候,當前 IDEA 程序就失去焦點了。
On frame deactivation 建議選擇 Do nothing,因為暫時離開 IDEA 的情況非常頻繁,如果每次離開都要重新 Build Project(即編譯項目) 、更新發布包中的文件(不僅要更新發布包中的文件,還要更新已經加載進內存中 class,這些動作對于 tomcat 而言叫作 reload),計算機性能、IDEA 的使用體驗會大打折扣。
熱部署總結
On Update action 設置為 Update classes and resources,On frame deactivation 設置為 Do nothing。
通常的使用情況是:當更新完 Java 代碼或 JSP 或靜態資源文件后,手動點擊下圖所示的更新按鈕,當出現下圖所示的綠色背景的提示框,則更新完成,即熱部署完成。
如果每次點擊的時候不希望出現下圖所示的彈框:
你可以把下圖所示的復選框取消打勾:
新建 Java 文件不可以通過熱部署方式完成自動部署更新,需要重新部署或重啟服務器;但新建的靜態資源文件可以采用熱部署方式自動部署更新。
IntelliJ IDEA 運行 tomcat 的選項說明
Run:啟動 tomcat,快捷鍵 ? + R,在 tomcat 已經運行中時按快捷鍵 ? + R 會彈出對話窗口,讓你選擇操作項目;而快捷鍵 ? + ? + R 則是快速重啟 tomcat,沒有對話彈窗
Rerun:重啟 tomcat,也就是 Restart Server
Run comcat with Coverage:
Run tomcat with CPU Profiler:
Run tomcat with Allocation Profiler:
Run tomcat with Java Flight Recorder:
IntelliJ IDEA 對 tomcat 的配置
上面的配置信息保存在哪里?
其實 IntelliJ IDEA 會把每一份tomcat配置文件的信息保存在下面的目錄下:
/Users/liaowenxiong/Library/Caches/JetBrains/IntelliJIdea2020.3/tomcat/我的tomcat的配置文件保存在下面的目錄:
/Users/liaowenxiong/Library/Caches/JetBrains/IntelliJIdea2020.3/tomcat/0e0b39f5-0ff8-4713-ab72-81b276953084如果有多份配置文件,則會在 /Users/liaowenxiong/Library/Caches/JetBrains/IntelliJIdea2020.3/tomcat/ 目錄下隨機生成多個目錄,把配置信息保存到這些目錄下。
[~/Library/Caches/JetBrains/IntelliJIdea2020.3/tomcat/0e0b39f5-0ff8-4713-ab72-81b276953084/conf]$ ls Catalina catalina.properties context.xml jaspic-providers.xsd server.xml tomcat-users.xml web.xml catalina.policy catalina.properties.0 jaspic-providers.xml logging.properties server.xml.0 tomcat-users.xsd web.xml.0我一直好奇下圖所示的虛擬目錄保存在哪里?
原來是在 …conf/Catalina/localhost 目錄下創建同名的 xml 文件,以這樣的方式部署項目。
查看下 web_demo_03.xml:
[~/Library/Caches/JetBrains/IntelliJIdea2020.3/tomcat/0e0b39f5-0ff8-4713-ab72-81b276953084/conf/Catalina/localhost]$ cat web_demo_03.xml <Context path="/web_demo_03" docBase="/Users/liaowenxiong/Documents/IdeaProjects/java-exercises/web-demo-03/target/web-demo-03-1.0-SNAPSHOT" />%怎么找到這個目錄的?
在 tomcat 控制臺看 Catalina.log 日志內容,如下圖所示:
如果是 windows 操作系統,如下圖所示:
web 應用程序如何調試
1.在類的源碼文件中添加斷點
2.以 debug 模式啟動 tomcat
3.瀏覽器地址欄輸入請求資源路徑,訪問 web 服務
4.查看調試詳情
總結
以上是生活随笔為你收集整理的macOS下载、安装、使用tomcat服务器及IntelliJ IDEA for Mac 如何集成、配置、运行tomcat的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓蓝牙设置软件(安卓蓝牙设置)
- 下一篇: 服务器如何应对ddos攻击(服务器如何应