在Tomcat中有四種部署Web應(yīng)用的方式,簡(jiǎn)要的概括分別是: (1)利用Tomcat自動(dòng)部署 (2)利用控制臺(tái)進(jìn)行部署 (3)增加自定義的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml) (4)手動(dòng)修改%Tomcat_Home%\conf\server.xml文件來(lái)部署web應(yīng)用 第一種方式:利用Tomcat自動(dòng)部署 利用Tomcat自動(dòng)部署方式是最簡(jiǎn)單的、最常用的方式。若一個(gè)web應(yīng)用結(jié)構(gòu)為D:\workspace\WebApp\AppName\WEB-INF\*,只要將一個(gè)Web應(yīng)用的WebContent級(jí)的AppName直接扔進(jìn)%Tomcat_Home%\webapps文件夾下,系統(tǒng)會(huì)把該web應(yīng)用直接部署到Tomcat中。所以這里不再贅述。 第二種方式:利用控制臺(tái)進(jìn)行部署 若一個(gè)web應(yīng)用結(jié)構(gòu)為D:\workspace\WebApp\AppName\WEB-INF\*,利用控制臺(tái)進(jìn)行部署的方式如下:進(jìn)入tomcat的manager控制臺(tái)的deploy區(qū)域——在Context path中鍵入"XXX"(可任意取名)——在WAR or Directory URL:鍵入D:\workspace\WebApp\AppName (表示去尋找此路徑下的web應(yīng)用)——點(diǎn)擊deploy按鈕。 然后在%Tomcat_Home%\webapps路徑下將會(huì)自動(dòng)出現(xiàn)一個(gè)名為XXX的文件夾,其內(nèi)容即是D:\workspace\WebApp\AppName的內(nèi)容,只是名字是XXX而已(這就是前面在Context path鍵入XXX的結(jié)果)。 以上說(shuō)明利用控制臺(tái)進(jìn)行部署的實(shí)質(zhì)仍然是利用Tomcat的自動(dòng)部署。 第三種方式:增加自定義的Web部署文件 若一個(gè)web應(yīng)用結(jié)構(gòu)為D:\workspace\WebApp\AppName\WEB-INF\*,這種部署方式稍微復(fù)雜一點(diǎn),我們需要在%Tomcat_Home%\conf路徑下新建一個(gè)文件夾catalina——再在其中新建一個(gè)localhost文件夾——最后再新建一個(gè)XML文件,即增加兩層目錄并新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web應(yīng)用配置文件.xml ,該文件就是部署Web應(yīng)用的配置文件。例如,我們新建一個(gè)%Tomcat_Home%\conf\Catalina\localhost\XXX.xml,該文件的內(nèi)容如下: [html]view plaincopy
注意: (1)以上代碼中的workDir表示將該Web應(yīng)用部署后置于的工作目錄(Web應(yīng)用中JSP編譯成的Servlet都可在其中找到),如果使用的Eclipse作為IDE,一般可人為設(shè)置在WebApp的work目錄下。 如果自定義web部署文件XXX.xml中未指明workdir,則web應(yīng)用將默認(rèn)部署在%Tomcat_Home%\work\Catalina\localhost\路徑下新建的以XXX命名的文件夾下。(Web應(yīng)用中JSP編譯成的Servlet都可在其中找到) (2)Context path即指定web應(yīng)用的虛擬路徑名。docBase指定要部署的Web應(yīng)用的源路徑。 其實(shí)開(kāi)發(fā)者可以使用安裝有Tomcat插件eclipse自動(dòng)創(chuàng)建部署文件來(lái)部署Web應(yīng)用而不必再手動(dòng)建立該文件,方法如下: 1. 打開(kāi)Eclipse——打開(kāi)菜單欄window選擇preference(首選項(xiàng))——左側(cè)選擇Tomcat,如下圖示: 2. 可以看到上圖中高亮畫(huà)出的Context declaration mode(Context 聲明模式)中選擇以Context files增加自定義部署文件的形式部署web應(yīng)用——然后Contexts directory中指定上述文件的上級(jí)目錄(即%Tomcat_Home%\conf\Catalina\localhost)——點(diǎn)擊Apply或OK。 3. 完上述步驟,再選中Web項(xiàng)目右鍵點(diǎn)擊properties(屬性)——選擇右側(cè)的Tomcat ,如下圖所示: 4. 勾上"Is a Tomcat project"前的checkbox,將項(xiàng)目關(guān)聯(lián)至Tomcat。 在Context name中填入XXX,即Web應(yīng)用自定義部署文件名和Context path名。 在Subdirectory to set as web application root (optional)中填入要部署的Web應(yīng)用的實(shí)際路徑(即WEB-INF上級(jí)目錄)。 注意:Eclipse會(huì)自動(dòng)地將workdir設(shè)置在Workspace\WebApp\work下。 如此便自動(dòng)創(chuàng)建了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml文件。啟動(dòng)Tomcat 即可自動(dòng)部署Web應(yīng)用。 第四種方式:手動(dòng)修改%Tomcat_Home%\conf\server.xml文件來(lái)部署web應(yīng)用 此方法即打開(kāi)%Tomcat_Home%\conf\server.xml文件并在其中增加以下元素: [html]view plaincopy
然后啟動(dòng)Tomcat即可。 當(dāng)然如果使用Eclipse,在Eclipse中的設(shè)置也有改變:打開(kāi)菜單欄window選擇preference(首選項(xiàng))——左側(cè)選擇Tomcat——可以看到上圖中高亮畫(huà)出的Context declaration mode(Context 聲明模式)中選擇以Server.xml文件來(lái)部署web應(yīng)用。 轉(zhuǎn)自 https://www.cnblogs.com/xiohao/p/3689832.html eclipse里tomcat配置選項(xiàng)詳解今天用Mercurial將<workspace>\Servers\Tomcat v6.0 Server at localhost-config以及 <workspace>\.metadata\.plugins\org.eclipse.wst.server.core納入版本控制,監(jiān)控了Eclipse JEE在修改Server Options的時(shí)候到底干了些啥。。 默認(rèn)的配置如下: (1)serve modules without publishing: 勾選 上后會(huì)修改Servers/Tomcat v6.0 Server at localhost-config/servers.xml中的saveSeparateContextFiles=true 同時(shí)將tmp0/conf/server.xml中關(guān)于該app的<Context>元素 移動(dòng)到tmp0/conf/Catalina/localhost/appName.xml中.. (3)Automatically publish when resources change 勾選上 這樣修改JSP后tomcat能熱加載。。(這個(gè)選項(xiàng)對(duì)java文件無(wú)效,關(guān)了以后每次也能熱加載class) 注意: hot reload只在debug模式下有效. 參考:http:///questions/921684/how-to-tell-eclipse-3-4-wtp-to-not-restart-tomcat-on-jsp-save 另見(jiàn): https://www./eclipse/how-to-configure-hot-deploy-in-eclipse/ 轉(zhuǎn)自 https://my.oschina.net/uniquejava/blog/80945 reloadable="true" 方式,雖可加載變化過(guò)或新增的類但存在以下問(wèn)題 1、內(nèi)存清空,整體web app會(huì)重新加載,web.xml中配置的監(jiān)聽(tīng)器會(huì)全部再執(zhí)行。 2、其他沒(méi)變的類也會(huì)重新加載。 3、當(dāng)系統(tǒng)很大時(shí),非常耗時(shí)。 可以使用dcevm 轉(zhuǎn)自 https://www./blog/guoba6688-sina-com-856153 修改server.xml和content.xml后自動(dòng)還原問(wèn)題修改完tomcat目錄下的配置文件,重啟服務(wù)器后,發(fā)現(xiàn)xml會(huì)重新恢復(fù)默認(rèn)設(shè)置 原因:在eclipse里集成添加tomcat時(shí),eclipse會(huì)自動(dòng)儲(chǔ)存tomcat的配置文件。Tomcat服務(wù)器在Eclipse中啟動(dòng)時(shí),會(huì)自動(dòng)發(fā)布Eclipse中部署的項(xiàng)目,但是我的項(xiàng)目是自己手動(dòng)在外面部署的,Eclipse只認(rèn)得在它里面部署的項(xiàng)目,因此它會(huì)創(chuàng)建一個(gè)新的server.xml文件覆蓋原來(lái)的文件. 方法一: 設(shè)置Ecplise,取消掉自動(dòng)發(fā)布功能。 依次選擇 Window-Preferences-Server-Launching,取消Automatically publish when starting servers 方法二: 先關(guān)閉服務(wù)器。 Ecplise項(xiàng)目中有一個(gè)Server項(xiàng)目,有一個(gè)Tomcat v8.5 Server at localhost-config, 里面也有server.xml和content.xml,替換成你修改后的文件。Tomcat重新發(fā)布時(shí)會(huì)用這里的配置文件覆蓋Tomcat下的conf下的文件。 轉(zhuǎn)自 https://blog.csdn.net/Mint6/article/details/77800119 tomcat 配置 development true jsptomcat這兩種模式對(duì)大家的影響主要是在jsp的開(kāi)發(fā)當(dāng)中。大家都知道jsp需要先編譯成servlet源文件并編譯為字節(jié)碼,即生成.class文件才可以執(zhí)行,所以在jsp文件首次運(yùn)行時(shí)先要進(jìn)行編譯導(dǎo)致運(yùn)行較慢,之后的訪問(wèn)都會(huì)直接進(jìn)入執(zhí)行階段。 在開(kāi)發(fā)模式下容器會(huì)經(jīng)常檢查jsp文件的時(shí)間戳來(lái)決定是否進(jìn)行編譯,如果jsp文件的時(shí)間戳比對(duì)應(yīng)的.class文件的時(shí)間戳晚就證明jsp又進(jìn)行了修改,需要再次編譯,但是不斷地進(jìn)行時(shí)間戳的比對(duì)開(kāi)銷很大,會(huì)影響系統(tǒng)性能,而在生產(chǎn)模式下系統(tǒng)不會(huì)經(jīng)常想的檢查時(shí)間戳。所以一般在開(kāi)發(fā)過(guò)程中使用開(kāi)發(fā)模式,這樣可以在jsp修改后再次訪問(wèn)就可以見(jiàn)到修改后的效果非常方便,而系統(tǒng)上線之后就要改為生產(chǎn)模式,雖然生產(chǎn)模式下會(huì)導(dǎo)致jsp的修改需要重啟服務(wù)器才可以生效,但是上線后的改動(dòng)較少而且性能很重要。 在tomcat的安裝目錄下conf文件夾下面的web.xml文件中配置tomcat的模式。如圖一所示,在web.xml中配置參數(shù)development為true就是開(kāi)發(fā)模式,如圖二所示為false就是生產(chǎn)模式。 圖片一 圖片二 在生產(chǎn)模式下也可以通過(guò)配置checkInterval參數(shù)讓tomcat每過(guò)一段時(shí)間就去檢查一下時(shí)間戳,這種跟開(kāi)發(fā)模式還是有區(qū)別的,可以稱為后臺(tái)編譯。checkInterval參數(shù)值默認(rèn)為0,單位為秒,配置位置同上。 綜合以上所說(shuō),大家可以根據(jù)對(duì)不同情況下的需求選擇最佳的配置方案。 轉(zhuǎn)自 https://blog.csdn.net/woduoxiangfeiya/article/details/51181606 tomcat配置context的crossContext屬性在tomcat下,context元素有一個(gè)crossContext屬性,如果配置為true,則可以實(shí)現(xiàn)在同一個(gè)tomcat下的多個(gè)web應(yīng)用之間實(shí)現(xiàn)ServletContext對(duì)象訪問(wèn)。該屬性主要用于跨應(yīng)用訪問(wèn)數(shù)據(jù)。 1. tomcat配置 <Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"><Context path="/app1" debug="0" reloadable="true" crossContext="true" /><Context path="/app2" debug="0" reloadable="true" crossContext="true" /></Host> 2. app1端
3. app2端
關(guān)于context配置crossContext屬性詳見(jiàn):http://tomcat./tomcat-7.0-doc/config/context.html 轉(zhuǎn)自 https://www.cnblogs.com/nuccch/p/7156142.html |
|
來(lái)自: 一本正經(jīng)地胡鬧 > 《tomcat》