有兩種方法:
1.將項目打成war包,復制到${tomcat.home}\webapps目錄下.當tomcat啟動時會自動將其解包.
有人說,不能直接將war文件夾直接復制到${tomcat.home}\webapps目錄下.
但是我試過之后,可以。將war包解壓,解壓出的文件夾要和war文件同名(后面可沒有 .war),然后將文件夾放到webapps下面就可以了
2.修改${tomcat.home}\conf\server.xml文件.在Host節點下增加如下參考代碼:
<Context docBase="D:\pafalearning\userapp\dist\tomcat\userapp.war" path="/userapp" reloadable="true"/>
- <Context docBase="D:\pafalearning\userapp\dist\tomcat\userapp.war" path="/userapp" reloadable="true"/>
docBase:指向項目的根目錄所在的路徑,由于我將項目打成了war包,所以直接指向這個war包就可以了(我的項目名為:userapp).
path:是一個虛擬目錄,這里設置成了"userapp",則啟動Tomcat后,你將通過http://localhost:8080/userapp/*.jsp來訪問項目的相關頁面.
reloadable:如果設置為"true",則表示當你修改jsp文件后,不需要重啟服務器就可以實現頁面顯示的同步.
可以這樣理解:將docBase實際目錄下的項目,映射到${tomcat.home}\webapps目錄下的虛擬項目path(這里的配置指的是userapp項目).
也許有些人還不懂war包是什么,其實就是你的項目下的WebRoot文件夾中的內容(不加WebRoot這個文件夾)打成一個壓縮包,后綴用war,其實和rar差不多,不過tomcat就認war。
那為什么war包可以講項目這個發布出來呢?
1.因為所有新建的文件夾都在WebRoot文件夾下
2.所有的頁面都在WebRoot文件夾下
3.所有的后臺代碼都編譯成了 .class文件,在WebRoot \ WEB-INF \ classes 下面
4.我們習慣將所有的 .jar包放在WebRoot \ WEB-INF \ lib 下面
有了這些,就相當于一個項目完全考到了tomcat下面,這就是用war包發布項目的原理