前提:
1、存在某個(gè)應(yīng)用:hello
2、該應(yīng)用存放路徑:D:\apache-tomcat-5.5.17\webapps\hello
3、Tomcat的server.xml部分配置信息如下:
...
<Context path="" reloadable="true" docBase="hello"/>
...
(這么做的目的就是為了將hello應(yīng)用設(shè)為根,訪問IP時(shí)就直接訪問該應(yīng)用)
4、hello下有一個(gè) servlet(目的是為了系統(tǒng)在啟動(dòng)時(shí)執(zhí)行某些初始化的操作),該servlet里存在init()方法,目前該方法里只打印“hello word”字符串;
5、hello 應(yīng)用的 web.xml 部分配置信息如下:
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet- class >HelloServlet</servlet- class >
<load-on-startup>1</load-on-startup>
</servlet>
問題:
在啟動(dòng) tomcat5 時(shí),控制臺(tái)窗口會(huì)打印出兩行“hello word”字符串?
問題原因:
因?yàn)閔ello應(yīng)用本來就放在Tomat的默認(rèn)webapp目錄下(tomcat在啟動(dòng)時(shí)肯定會(huì)加載1次),然后又在server.xml中做了配置,為了達(dá)到訪問根就可以訪問hello應(yīng)用(這樣tomcat就又加載1次);結(jié)果,Tomcat就會(huì)加載兩次。
解決辦法:
辦法1、不要將 hello 應(yīng)用放在Tomat的默認(rèn)webapp目錄下,把它移出去,然后在server.xml中修改docBase的值為hello應(yīng)用在新位置的絕對(duì)路徑就可以了;
辦法2、刪除掉server.xml中 Context 的手動(dòng)配置,這樣就不會(huì)加載兩次,因?yàn)閔ello應(yīng)用在webapp下,所以在訪問時(shí),就只能是:http: // ip:port/hello 這樣來訪問了。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
