私はこの問題に関する他のすべての質問を調べました(そしてそれらはたくさんあります)、そしてそれらはすべてアドレスのタイプミス、または誤って構成されたサーブレットマッピング、または同様のものになります。私はこれらすべてを試しましたが、サーブレットからページにアクセスしようとすると、404エラーが発生します。
これがサーブレットコードです(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>
<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とサーブレットのhelloworldをテストしました
http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/
正常に動作したので、問題はサーブレットにあると思います。誰かがそれで何が間違っているかもしれないという考えを持っていますか?