tomcat啟動(dòng)異常:子容器啟動(dòng)失敗(a child container failed during start)
在學(xué)習(xí)過(guò)程中,出現(xiàn)這個(gè)問(wèn)題,上網(wǎng)查了一下,總結(jié)以下幾種解決方案,并找出自己的問(wèn)題。
1、沒(méi)有清理之前maven項(xiàng)目的歷史。
解決方法:執(zhí)行clean命令,然后重新啟動(dòng)項(xiàng)目。
操作:添加maven helper插件后,右鍵→run maven→clean

ps:關(guān)于maven項(xiàng)目歷史是啥我不太了解。
2、pom.xml文件中servlet-api依賴(lài)導(dǎo)入問(wèn)題。
解決方法:在依賴(lài)中添加<scope>標(biāo)簽,內(nèi)容為provided。
示例:<scope>provided</scope>

3、web.xml中servlet與servlet-mapping的配置錯(cuò)誤。
這個(gè)錯(cuò)誤在用xml配置Servlet時(shí)可能出現(xiàn),而Servlet從3.0版本以后支持@WebServlet注解配置url,所以這個(gè)問(wèn)題不常見(jiàn)了。
解決方法:檢查web.xml文件中配置,或者刪掉這部分內(nèi)容,改用@WebServlet注解配置。
一個(gè)配置正確的樣例如下:
注意url-pattern內(nèi)容的斜杠

或改為注解配置:
@WebServlet("/demo13")
4、url-pattern格式錯(cuò)誤。
url-pattern配置簡(jiǎn)略知識(shí)點(diǎn)總結(jié):
(1)一個(gè)Servlet(實(shí)為繼承Servlet的類(lèi))可以配置多個(gè)url-pattern。
@WebServlet(urlPattern={"/ex01","/ex02"})
(2)urlPattern有四種配置規(guī)則。
精準(zhǔn)匹配:@WebServlet("/demo/ex01")
目錄匹配:@WebServlet("/demo/*")
擴(kuò)展名匹配:@WebServlet("*•do")
任意匹配:@WebServlet("/*")或@WebServlet("/")
除了擴(kuò)展名匹配,其他匹配方式都需要有斜杠("/"),但最前面的斜杠容易被忽略。
5、自己的問(wèn)題
了解以上各種問(wèn)題之后,我檢查了自己的代碼,最終發(fā)現(xiàn)自己犯的錯(cuò)誤有兩個(gè)。
(1)忘記了添斜杠

在做urlPattern配置練習(xí)時(shí),多個(gè)路徑配置中,忽略了第二個(gè)的斜杠。有點(diǎn)尷尬,哈哈…
(2)路徑名重復(fù)
在添加完斜杠后,運(yùn)行tomcat還是出錯(cuò)了,我檢查了又檢查,最后終于發(fā)現(xiàn)一個(gè)可能的問(wèn)題,經(jīng)過(guò)實(shí)驗(yàn)之后確定了自己的猜測(cè)。
相信細(xì)心的伙伴已經(jīng)發(fā)現(xiàn),明明是Demo07,但路徑卻是/demo01與/demo02。
我當(dāng)時(shí)為了省事隨便取了兩個(gè)名字,而這兩個(gè)路徑名在之前學(xué)習(xí)的案例就已經(jīng)使用了,所以啟動(dòng)時(shí)報(bào)錯(cuò)了。
經(jīng)過(guò)改動(dòng),tomcat啟動(dòng)終于正常。


6、一點(diǎn)補(bǔ)充
寫(xiě)這篇文章時(shí),為了拍第三個(gè)問(wèn)題的示例圖遇到的情況,如果某個(gè)Servlet已經(jīng)用了web.xml配置urlPattern,就不可以再用注解配置了,一定要把web.xml中的相關(guān)內(nèi)容刪干凈才可以。
到此這篇關(guān)于tomcat啟動(dòng)異常:子容器啟動(dòng)失敗(a child container failed during start)的文章就介紹到這了,更多相關(guān)tomcat異常子容器啟動(dòng)失敗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Tomcat服務(wù)器的配置與啟動(dòng)全過(guò)程
這篇文章主要介紹了Tomcat服務(wù)器的配置與啟動(dòng)全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
使用TomCat,service輸出臺(tái)出現(xiàn)亂碼的解決
本文介紹了解決Tomcat服務(wù)輸出臺(tái)中文亂碼問(wèn)題的兩種方法,第一種方法是修改`logging.properties`文件中的`prefix`和`encoding`參數(shù);第二種方法是配置IDEA的VMoptions和文件編碼設(shè)置,通過(guò)這兩種方法,可以有效解決Tomcat服務(wù)輸出臺(tái)出現(xiàn)的亂碼問(wèn)題2025-01-01
教你在IDEA中使用Tomcat部署并啟動(dòng)Web項(xiàng)目
這篇文章主要介紹了教你在IDEA中使用Tomcat部署并啟動(dòng)Web項(xiàng)目,IDEA作為一款主流的開(kāi)發(fā)工具其實(shí)已經(jīng)集成了Tomcat的部分功能,需要的朋友可以參考下2023-03-03
解析Tomcat的啟動(dòng)腳本--startup.bat
本文主要對(duì)Tomcat的三個(gè)最重要的啟動(dòng)腳本之一--startup.bat腳本做了詳細(xì)分析,具有很好的參考價(jià)值,需要的朋友可以看下2016-12-12
詳解Tomcat多域名配置(多個(gè)項(xiàng)目共用80端口)
本篇文章主要介紹了Tomcat多域名配置(多個(gè)項(xiàng)目共用80端口),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
詳解tomcat設(shè)置默認(rèn)路徑致使項(xiàng)目url沖突解決方法
這篇文章主要介紹了詳解tomcat設(shè)置默認(rèn)路徑致使項(xiàng)目url沖突解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
在Win10上安裝Tomcat服務(wù)器及配置環(huán)境變量的詳細(xì)教程(圖文)
Tomcat 服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的 Web 應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,本文主要講述Windows環(huán)境Tomcat服務(wù)器安裝與環(huán)境變量配置,感興趣的朋友跟隨小編一起看看吧2019-11-11
解決IDEA配置本地tomcat部署項(xiàng)目找不到項(xiàng)目工件的問(wèn)題
這篇文章主要給大家介紹了關(guān)于IDEA配置本地tomcat部署項(xiàng)目找不到項(xiàng)目工件的問(wèn)題解答,文章通過(guò)圖文結(jié)合講解的非常詳細(xì),需要的朋友可以參考下2023-10-10
Tomcat啟動(dòng)報(bào)錯(cuò)子容器啟動(dòng)失敗問(wèn)題及解決
這篇文章主要介紹了Tomcat啟動(dòng)報(bào)錯(cuò)子容器啟動(dòng)失敗問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Tomcat簡(jiǎn)單網(wǎng)站部署的三種方式小結(jié)
本文主要介紹了Tomcat簡(jiǎn)單網(wǎng)站部署的三種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05

