Click to See Complete Forum and Search --> : question on servlet


hcarousel
06-20-2006, 03:27 PM
I am using Tomcat 5.5.15. When I run a servlet, it always gives the following error message.

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Cannot allocate servlet instance for path /servlet/Training
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:388)
org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:169)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.NoClassDefFoundError: Training/Training (wrong name: Training)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1779)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:866)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1319)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:369)
org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:169)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Can anybody tell me what is wrong with my servlet?

Thanks!

Khalid Ali
06-20-2006, 04:53 PM
I am using Tomcat 5.5.15. .....
Can anybody tell me what is wrong with my servlet?

Thanks!

1.Yes, your servlet path is wrong
2.The name of the servlet in the file is different from then what you have saved
as a file

hcarousel
06-21-2006, 09:43 AM
Thanks for reply, Khalid. The following is what I wrote in the web.xml file.

<servlet>
<servlet-name>Training</servlet-name>
<servlet-class>Training.Training</servlet-class>
</servlet>

I put Training.class under /webapps/ROOT/WEB-INF/classes/Training

Is it the correct path? By the way, I am using UNIX.