前言
tomcat 和 jetty 都屬於 web 容器。
mac安裝tomcat
brew install tomcat
安裝之后,輸入 catalina -h,可以看到各種命令,如run、start、stop等。
mac安裝jetty
brew install jetty
安裝之后,輸入 jetty start 即可啟動。
服務器驗證
不管安裝哪個服務器,啟動之后都會出現默認端口,因此可以訪問 localhost:默認端口。我這里兩個都裝了,jetty 的默認端口是 8080,tomcat的默認端口是 8005。
IDEA 中的配置
tomcat
啟動時會在終端打印出路徑:
Using CATALINA_BASE: /usr/local/Cellar/tomcat/9.0.12/libexec
Using CATALINA_HOME: /usr/local/Cellar/tomcat/9.0.12/libexec
Using CATALINA_TMPDIR: /usr/local/Cellar/tomcat/9.0.12/libexec/temp
Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
Using CLASSPATH: /usr/local/Cellar/tomcat/9.0.12/libexec/bin/bootstrap.jar:/usr/local/Cellar/tomcat/9.0.12/libexec/bin/tomcat-juli.jar
根據以上信息,在Idea中的配置窗口中,創建一個 Tomcat Server,選擇 local;然后點擊 Application server 右面的 Configure,Tomcat Home 和 Tomcat base directory 均輸入 /usr/local/Cellar/tomcat/9.0.12/libexec 即可,版本會自動識別出來。其他配置就不再贅述。
Tomcat 源碼調試
我們在項目中配置的 Tomcat 自帶 servlet-api 和 jsp-api,這兩個文件可以查看 .class文件,但源文件無法直接在 idea 中下載,因此可以改為 maven 依賴,引入
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
后,將 Tomcat 自帶的 servlet-api.jar 和 jsp-api.jar 刪除即可(自帶的優先級高,需要將其刪除,才會用maven下載的包)。然后就可以下載源碼查看了。
注意:
- 刪除自帶的兩個包后,還需要到運行配置窗口中去掉原來自動識別出來的 servlet-api 和 jsp-api 兩個類(此時已經標紅了),然后就可以正常啟動運行了。
- 當然也可不用 maven,而是自己下載 Tomcat 源碼查看。
