Tomcat啟動失敗,提示Server Tomcat v7.0 Server at localhost failed to start
在一次查看自己以前寫過的項目中,運行tomcat失敗,出現如圖提示
然而自己之前的項目運行時候都很正常,沒有出現這樣的錯誤,再次運行時候就出現這樣的錯誤,百思不得其解,上網百度、請教別人最終將這個問題解決,總結了六點,分享給大家,希望可以幫助到那些和我一樣,遇見同樣問題而苦惱的人。
1、把你工作空間按照如下的文件路徑打開:
<workspace>\.metadata\.plugins\org.eclipse.wst.server.core
刪除里面的temp文件夾,刪除后重啟eclipse,tomcat就可以用了。
2、把你工作空間按照如下的文件路徑打開:
<workspace>\.metadata\.plugins\org.eclipse.core.resources
刪除 .snap 文件,(我在使用eclipse下有這個.snap文件)。
3、在server視圖窗口中,把tomcat刪除。然后再重新添加tomcat 再添加你的Web項目並啟動。
4、打開任務管理器,找到javax.exe,右鍵結束進程,重啟eclipse。
5、檢查web.xml中的servlet映射里面的<url-pattern>,看<url-pattern></url-pattern>中配置的內容是否缺少“/” ,"/"表示當前web應用。這個問題也可能是由過濾器引起的。
6、不同的servlet使用了相同的@WebServlet標注。在Servlet上設置@WebServlet標注,容器就會自動讀取當中的信息。
舉個例子:
@WebServlet("/DownLoadDemo2")
public class DownLoadDemo2 extends HttpServlet{
當用戶請求的URL是"/DownLoadDemo2",則由DownLoadDemo2的實例提供服務。
注:@WebServlet("/DownLoadDemo2")這種方式稱為注解,省去在web.xml中進行配置。
例如:
<servlet>
<!-- 聲明Servlet對象 -->
<servlet-name>RequestDemo1</servlet-name>
<!-- 上面一句指定Servlet對象的名稱 -->
<servlet-class>com.jd.request.RequestDemo1</servlet-class>
<!-- 上面一句指定Servlet對象的完整位置,包含包名和類名 -->
</servlet>
<servlet-mapping>
<!-- 映射Servlet -->
<servlet-name>RequestDemo1</servlet-name>
<!--<servlet-name>與上面<Servlet>標簽的<servlet-name>元素相對應,不可以隨便起名 -->
<url-pattern>/RequestDemo1</url-pattern>
<!-- 上面一句話用於映射訪問URL -->
</servlet-mapping>