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>中配置的内容是否缺少“/” ,"http://www.likecs.com/"表示当前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>