發布一個簡單的項目
- 打開IntelliJ Idea—>New Project—>Java Enterprise—>Web Application
- 修改index.jsp
- File—>Project Structure—>Project Setting,因為Intellij Idea通常情況下會配置好,所以檢查相關設置是否正確即可
- 設置Modules選項中的Sources、Path、Dependencies
- Edit Configuration—>add New Configuration—>Tomcat Server—>Local
- 發布項目
- 啟動Tomcat,需要注意的是此時發布的web項目其目錄為localhost:8080/demotwo,而項目的根目錄即localhost:8080為tomcat webapps中自帶的ROOT項目,具體原因涉及到tomcat的配置文件,會在之后詳細說明
Questions forTomcat
- CATALINA_HOME與CATALINA_BASE的區別?
- CATALINA_HOME即Tomcat的安裝目錄,CATALINA_BASE是Tomcat的工作目錄。如果同時運行多個Tomcat實例,通常會配置多個工作目錄。每個Tomcat實例獨占一個工作目錄,但是共享一個安裝目錄。
- Tomcat每個運行實例需要使用自己的conf、logs、temp、webapps、work和shared目錄,因此CATALINA_BASE就 指向這些目錄。 而其他目錄主要包括了Tomcat的二進制文件和腳本,CATALINA_HOME就指向這些目錄。intelliJ Idea在每次重新七棟Tomcat的時候都會重新建立或者說更新Tomcat工作目錄的內容。
- intelliJ Idea中的Tomcat項目為何在.IntelliJIdea2016.3\system\tomcat中?
- intelliJ Idea在每次啟動Tomcat服務器的時候都會修改CATALINA_BASE
- intelliJ Idea在每次啟動Tomcat服務器的時候都會修改CATALINA_BASE
- tomcat服務器是如何找到localhost8080頁面與localhost:8080/demotwo頁面的?
- IntelliJ Idea根據CATALINA_HOME的啟動Tomcat服務器
- IntelliJ Idea在CATALINA_BASE指定的目錄下生成項目獨有的conf、logs、work等文件夾。
- 在CATALINA_BASE中的conf文件夾下,文件server.xml的Host標簽指定了Tomcat的根目錄(通常為CATALINA_HOME\webapps\ROOT),即在瀏覽器中顯示的localhost:8080定位的就是此處。name屬性和appBase屬性起到了一個映射的作用
- conf的子目錄Catalina\localhost\下的XML文件(以虛擬路徑命名)Context標簽中的path屬性和docBase屬性也起到了同樣的映射作用。即name + path (localhost:8080/demotwo)對應的是項目的發布路徑。
- 如果在發布項目的時候將虛擬路徑設置成“\”,intelliJ Idea則不會生成Catalina子目錄,而會在server.xml中將name屬性映射到項目的發布路徑