- 我用 Eclipse 创建了一个基于Tomcat HelloWorld Servlet的测试项目
- 并尝试从 Eclipse 运行它,就像使用 Tomcat 7 一样,我已将其配置为在 127.0.0.1 上运行 - 但我
Page cannot be found
在 127.0.0.1/helloworld/HelloWorld - 我还尝试导出为war文件并将其部署到作为Windows服务运行的(否则工作)Tomcat服务器 - 并使用Tomcat应用程序管理器部署 - manifest.mf 并且这些类很好地复制到tomcat / webapps / helloworld,但尝试导航到 127.0.0.1/helloworld/HelloWorld 再次失败,显示
HTTP Status 404
从默认的@WebServlet 到 web.xml 配置
接下来,在 HelloWorld.java 中,我尝试注释掉
//@WebServlet("/HelloWorld")
然后添加特定于 web 应用程序的 web.xml 配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
但结果还是一样——没有反应!
解决方案?
- 鉴于链接教程提供了 Tomcat 6 的说明,我是否应该更改一些内容以使其与 Tomcat 7 一起使用?
- 具体来说,Eclipse添加的默认
@WebServlet("/HelloWorld")
就够了吗?Servlet 3.0 的基于注释的配置需要什么才能工作(没有 web.xml)? - 还是有什么东西阻止了全局 tomcat 服务器级别的任何 Web 应用程序部署?我已经稍微更改了服务器配置,不幸的是我不记得具体是什么,除了让它服务于 127.0.0.1 而不是 127.0.0.1:8080