サーブレットを開発しようとしていますが、なぜこれが機能しないのか本当に理解できません。
コードは次のとおりです。
import java.io.IOException;
import javax.servlet.ServletException;
import java.io.BufferedReader;
import java.io.PrintWriter;
import javax.servlet.ServletResponse;
import javax.servlet.ServletRequest;
import javax.servlet.GenericServlet;
public class WipdServlet extends GenericServlet
{
public void service(ServletRequest request, ServletResponse response)
throws IOException {
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>ssup WIPD Servlet</h1>");
out.println("Content Type: " + request.getContentType());
out.println("Content Length: " + request.getContentLength());
out.println("</body>");
out.println("</html>");
}
}
そしてweb.xml:
<web-app>
<servlet>
<servlet-name>Wipd</servlet-name>
<servlet-class>WipdServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Wipd</servlet-name>
<url-pattern>/wipd</url-pattern>
</servlet-mapping>
</web-app>
サーブレットは次の場所にあります。
/var/lib/tomcat6/webapps/wipd/
この作業では、VM で実行されている Debian にインストールされた Tomcat6 の下でサーブレットを実行する必要があります。現在、Gentoo で javac を実行した後、Debian にファイル .class を配置して、servlet-api を使用して Gentoo で作業しています。しかし、私がサーフィンした場合:
http://192.168.0.177:8080/wipd/wipd.
私は得る:
javax.servlet.ServletException: ラッパーは、サーブレット クラス WipdServlet または org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter. java:293) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) org.apache.tomcat.util. net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) java.lang.Thread.run(Thread.java:636)
クラスをパッケージに入れて、パッケージを指定して web.xml を編集しようとしましたが、何もしませんでした。私は本当に理解できません。
前もって感謝します。