tomcat伺服器cannot be cast to javax.servlet.Servlet問題
阿新 • • 發佈:2019-01-27
剛開始學習,寫了一個簡單的servlet:
問題是:在Javac上編譯通過,但是釋出以後瀏覽器中出現
root cause
java.lang.ClassCastException: com.tsinghua.Hello cannot be cast to javax.servlet.Servlet
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:619)
public void init(ServletConfig parm1) throws ServletException {
// TODO: Add your code here
System.out.println("init it");
}
public ServletConfig getServletConfig() {
// TODO: Add your code here
return null;
}
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// TODO: Add your code here
System.out.println("sdfjsdf");
PrintWriter pw = res.getWriter();
pw.println("helle");
}
public String getServletInfo() {
// TODO: Add your code here
return "";
}
public void destroy() {
// TODO: Add your code here
System.out.println("destroy");
}
問題是:在Javac上編譯通過,但是釋出以後瀏覽器中出現
root cause
java.lang.ClassCastException: com.tsinghua.Hello cannot be cast to javax.servlet.Servlet
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:619)
請問問題何在啊?
原始碼:
public void init(ServletConfig parm1) throws ServletException {
// TODO: Add your code here
System.out.println("init it");
}
public ServletConfig getServletConfig() {
// TODO: Add your code here
return null;
}
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// TODO: Add your code here
System.out.println("sdfjsdf");
PrintWriter pw = res.getWriter();
pw.println("helle");
}
public String getServletInfo() {
// TODO: Add your code here
return "";
}
public void destroy() {
// TODO: Add your code here
System.out.println("destroy");
}
}
解決方法:將類頭部更換為public class Hello extends HttpServlet{}即可。