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

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