我正在尝试运行我的动态Web项目,但是服务器无法启动,并且我收到的唯一消息是“本地主机上的Server Tomcat v9.0 Server无法启动”。注意:在此之前,服务器正常工作。
注意:在尝试执行任何操作之前,请尝试运行servlet(或jsp)并检查是否没有异常。
我在这里找到答案:“ "Server Tomcat v7.0 Server at localhost failed to start" without stack trace while it works in terminal”
首先,如果服务器在此之前可以正常工作,并且您确定您未触摸服务器设置上的任何内容或类似内容,请不要尝试删除服务器或.snap文件或.tmp文件或播放进行设置后,问题可能出在web.xml文件上。
所以我找到了两个解决方案:
第一个是您必须删除web.xml文件上的servlet映射
编辑前的文件:
...
<display-name>something<display-name>
<servlet>
<servlet-name>Welcome<servlet-name>
<servlet-class>DemoServlet<servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> Welcome <servlet-name>
<url-pattern>/welcome</url-pattern>
<welcome-file-list>
...
</welcome-file-list>
...
之后:
<display-name>something<display-name>
<welcome-file-list>
...
</welcome-file-list>
...
或最好的事情是,您只需要在<element>
下方添加<?xml version="1.0" encoding="UTF-8"?>
标签即可(不要忘记在</element>
之前关闭标签)。因此您的xml文件将如下所示:
...
<?xml version="1.0" encoding="UTF-8"?>
<element>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>something<display-name>
<servlet>
<servlet-name>Welcome<servlet-name>
<servlet-class>DemoServlet<servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> Welcome <servlet-name>
<url-pattern>/welcome</url-pattern>
<welcome-file-list>
...
</welcome-file-list>
</web-app>
</element>