記一次servlet項目啟動


前言

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 源碼查看。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM