ban*_*cer 6 java eclipse tomcat servlets http-status-code-404
我正在学习servlet并遵循本教程(我一步一步地遵循,但我将项目命名为"SampleServlet"而不是"de.vogella.wtp.filecounter").当我启动服务器(步骤5.4)时,我收到404页面错误:
HTTP Status 404 - /SampleServlet/servlet/de.vogella.wtp.filecounter.servlets.FileCounter
type Status report
message /SampleServlet/servlet/de.vogella.wtp.filecounter.servlets.FileCounter
description The requested resource (/SampleServlet/servlet/de.vogella.wtp.filecounter.servlets.FileCounter) is not available.
Run Code Online (Sandbox Code Playgroud)
从哪里开始调试?服务器启动时,控制台中有几个"INFO",一个警告:
29.08.2011 21:03:44 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:SampleServlet' did not find a matching property.
Run Code Online (Sandbox Code Playgroud)
我需要更改任何偏好吗?
本教程建议您通过http:// localhost:8080/de.vogella.wtp.filecounter/FileCounter调用它.项目名称默认为de.vogella.wtp.filecounter您已更改为的上下文名称SampleServlet,因此您需要通过http:// localhost:8080/SampleServlet/FileCounter调用servlet .
关于SetPropertiesRule警告,请忽略它,这是正常的.Eclipse只是为Tomcat的<Context>元素添加了一个额外的属性,以便能够将已部署的webapp与特定项目相关联.Tomcat只是抽搐,因为它不会将其识别为预定义<Context>属性之一.然而,它试图帮助最终用户实际上输入错误的情况等等.只是忽略它.导出Web应用程序并将其部署到实际生产服务器上时,您将看不到它.
好的,根据你的web.xml,你似乎错过了一个servlet定义和一个servlet-mapping.我不知道为什么这不是由你的ide产生的.它应该是这样的:
<servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>your.package.SampleServlet</servlet-class> <!-- The full qualified package path to your Servlet class -->
</servlet>
<servlet-mapping>
<servlet-name>SampleServlet</servlet-name>
<url-pattern>/mysample</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
在servlet-mapping元素中,您只需将任何URL映射到上面定义的servlet.因此,如果您现在调用http:// yourserver:8080/projectname / mysample将调用Servlet your.package.SampleServlet.
我希望有所帮助.
| 归档时间: |
|
| 查看次数: |
12838 次 |
| 最近记录: |