【问题标题】:404 error from Servlet using Eclipse & Tomcat 6使用 Eclipse 和 Tomcat 6 的 Servlet 出现 404 错误
【发布时间】:2012-10-10 02:52:56
【问题描述】:

我已经查看了有关此问题的所有其他问题(其中有很多问题),它们最终都是地址拼写错误、servlet 映射配置错误或类似问题。我已经尝试了所有这些东西,但每当我尝试从我的 servlet 访问页面时,我仍然会返回 404 错误。

这是 servlet 代码(来自 mkyong 网站的基本 hello world 示例)

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        out.println("</body>");
        out.println("</html>"); 
}

这是我在部署描述符中的 servlet 定义和映射

<servlet>
  <description></description>
  <display-name>TestServlet</display-name>
  <servlet-name>TestServlet</servlet-name>
  <servlet-class>com.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>TestServlet</servlet-name>
  <url-pattern>/testservlet</url-pattern>
</servlet-mapping>

这是我遇到的错误

HTTP Status 404 - /testserver/testservlet
type Status report
message /testserver/testservlet
description The requested resource (/testserver/testservlet) is not available.
Apache Tomcat/6.0.33

有人知道是什么原因造成的吗?

编辑:我刚刚测试了这里给出的 JSP 和 Servlet hello world

http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/

它运行良好,所以我认为问题出在我的 servlet 上。有人知道它可能有什么问题吗?

【问题讨论】:

  • 你是如何访问你的servlet的?
  • 访问 localhost:8080/testserver/testservlet
  • ${TOMCAT_HOME}/logs目录下的日志文件有错误吗?
  • 疯狂猜测.. Tomcat 是否正在运行。检查http://localhost:8080
  • localhost:8080 也给出了 404 错误,但该错误来自 Tomcat,因此它肯定正在运行。据我所知,Tomcat通过Eclipse运行时无法访问欢迎页面,这是正常的。

标签: eclipse jakarta-ee tomcat servlets tomcat6


【解决方案1】:

您需要指定war文件的名称。如果你有一个名为“testme.war”的战争文件,你必须像这样访问它。

localhost:8080/testme/testservlet

【讨论】:

  • Eclipse 在我构建项目时没有创建war文件,也许这是问题的根源? (Tomcat没有什么可运行的?)。我已经在 Eclipse 中将项目添加到我的 tomcat 服务器上,所以我只是假设它会处理这一切。我需要做什么才能创建war文件并将其部署到Tomcat?
【解决方案2】:

根据您的映射,您应该通过以下方式访问它:http://localhost:8080/testservlet

“测试服务器”从何而来?你有什么理由使用它吗?

【讨论】:

  • 这是Eclipse中服务器项目的名称
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
  • 2018-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多