Eclipse nie wydaje się kompilować serwletu, powodując wyjątek java.lang.ClassNotFoundException
Obecnie używam Ubuntu 12.04LTS, Eclipse IDE i Apache Tomcat 7.0.27 i nie wykonuję tej pracy.
Zrobiłem prostą stronę jsp „index.jsp”, która znajduje się w „WebContent / index.jsp”. Zrobiłem serwlet o nazwie „EmployeeClass”, który znajduje się w pakiecie „com.pack.web”. Na stronie Jsp mam formularz z metodą get i następującą czynnością:
<form method="GET" action="hidden.do">
W web.xml mam także:
<servlet>
<servlet-name>Searcher</servlet-name>
<servlet-class>com.pack.web.EmployeeClass</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Searcher</servlet-name>
<url-pattern>/hidden.do</url-pattern>
</servlet-mapping>
Zrobiłem prosty serwlet „EmployeeClass”, jest w pakiecie:
package com.pack.web;
w tym serwletu mam metodę doGet jako:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("Something is happening");
}
Wreszcie uruchamiam mój projekt i po naciśnięciu przycisku Prześlij, mam to:
javax.servlet.ServletException: Error instantiating servlet class com.pack.web.EmployeeClass
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:662)
podstawowa przyczyna
java.lang.ClassNotFoundException: com.pack.web.EmployeeClass
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:662)