0

我已经查看了关于这个问题的所有其他问题(并且有很多问题),它们最终都是地址错字,或者错误配置的 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 上。有人知道它可能有什么问题吗?

4

2 回答 2

0

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

本地主机:8080/ testme/testservlet

于 2012-10-10T08:57:30.867 回答
0

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

“测试服务器”来自哪里?你有任何理由使用它吗?

于 2012-10-10T09:29:50.280 回答