0

私はこの問題に関する他のすべての質問を調べました(そしてそれらはたくさんあります)、そしてそれらはすべてアドレスのタイプミス、または誤って構成されたサーブレットマッピング、または同様のものになります。私はこれらすべてを試しましたが、サーブレットからページにアクセスしようとすると、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/

正常に動作したので、問題はサーブレットにあると思います。誰かがそれで何が間違っているかもしれないという考えを持っていますか?

4

2 に答える 2

0

マッピングによると、次の方法でアクセスする必要があります。http://localhost:8080/testservlet

「テストサーバー」はどこから来たのですか?使う理由はありますか?

于 2012-10-10T09:29:50.280 に答える
0

warファイルの名前を指定する必要があります。'testme.war'という名前のwarファイルがある場合は、次のようにアクセスする必要があります。

localhost:8080 / testme / testservlet

于 2012-10-10T08:57:30.867 に答える