Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ClassNotFoundException while trying to invoke a servlet

1 view
Skip to first unread message

Goutam Mukherjee

unread,
Jul 21, 2004, 12:28:07 PM7/21/04
to
Hi,

I am trying to invoke a simple HelloServlet in WLS 6.1 SP 5. But I am getting a ClassNotFoundException. The exception looks like:
********************************************************
java.lang.ClassNotFoundException: test.HelloServlet
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:185)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:62)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:41)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:598)
at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:370)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:240)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2678)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2412)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)

javax.servlet.ServletException: Servlet class: 'test.HelloServlet' could not be loaded - the requested class wasn't found in the classpath: '/devl/xyz/1.0/wls/xyzdomain/applications/.wlnotdelete/HelloWebApp33640.war'
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:609)
at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:370)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:240)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2678)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2412)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
********************************************************

Entry for the war file in config.xml:
********************************************************
<Application Deployed="true" Name="HelloWebApp"
Path="/devl/xyz/1.0/wls/webapp/deploy" StagedTargets="server1">
<WebAppComponent DeploymentOrder="1001" Name="HelloWebApp"
Targets="server1" URI="hello.war"/>
</Application>
********************************************************

Is there anything to be added to the server classpath??

Please help.

Thanks,
Goutam.

Pankaj Khandelwal

unread,
Jul 21, 2004, 2:32:03 PM7/21/04
to
What is the request you are sending to the server ?
How does you web.xml looks like ?

If you are new to the weblogic server, you may also refer to the examples shipped along with it.

Goutam Mukherjee

unread,
Jul 21, 2004, 2:38:03 PM7/21/04
to
The request to the server:
http://host:port/HelloWebApp/hello
*****************

web.xml:

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 1.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>test.HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
<url-pattern>/hello</url-pattern>
<servlet-name>hello</servlet-name>
</servlet-mapping>
</web-app>
************************

contents of the war file:
META-INF/
META-INF/MANIFEST.MF
HelloServlet.java
test/
test/HelloServlet.class
WEB-INF/
WEB-INF/web.xml
*********************************

HelloServlet.java file:

package test;

import java.io.*;

import javax.servlet.http.*;
import javax.servlet.*;

public class HelloServlet extends HttpServlet {
public void doGet (HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException
{
PrintWriter out = res.getWriter();

out.println("Hello, world!");
out.close();
}
}
***************************************************

Pankaj Khandelwal

unread,
Jul 21, 2004, 3:00:35 PM7/21/04
to
move the test/HelloServlet.class to
WEB-INF/classes/test/HelloServlet.class and try.

Goutam Mukherjee

unread,
Jul 22, 2004, 4:35:33 PM7/22/04
to
Thanks, Pankaj.
It has worked after making the change you had suggested.
0 new messages