Dear all,
After corrected the typo pointed out by Geeta, My Handler servlet can work now. But I
have new prolems now: I made a myTest.jar file which included the "Test.class" and put
it in the same path as Handler.class. Then I configured the JBuilder's "required
libaries" and added the myTest.jar.
Now My Handler.java is:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.xml.bind.*;
import com.gxmlhub.msgsvc.server.*;
public class Handler extends Test {
public void service(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException
{
super.service(request,response);
}
public void onMessage(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>onMessage by Handler!!!!</h1>");
}
}
My Test.java is(Please note that I added the "package"sentence in it):
package com.gxmlhub.msgsvc.server;
import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
onMessage(request,response);
out.println("</body>");
out.println("</html>");
}
public void onMessage(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException
{
PrintWriter out = response.getWriter();
out.println("<h1>onMessage by Test</h1>");
}
}
When I want to run the Handler servlet, JBUilder gives me the following errors:
Error: 500 Location: /servlet/Handler
Internal Servlet Error:java.lang.NullPointerException
at java.lang.ClassLoader.resolveClass0(Native Method)
at java.lang.ClassLoader.resolveClass(ClassLoader.java:588)
at
org.apache.tomcat.loader.AdaptiveClassLoader.loadClass(AdaptiveClassLoader.java:430)
at
org.apache.tomcat.loader.AdaptiveServletLoader.loadClass(AdaptiveServletLoader.java:174)
at org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:265)
at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289)
at org.apache.tomcat.core.Handler.service(Handler.java:254)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)
Can anyone tell me how to deal with it? Thanks!
Ying
----- Original Message -----
From: Ying Su
To: [EMAIL PROTECTED]
Sent: Thursday, March 14, 2002 10:46 AM
Subject: Can a servlet extends another servlet?
Dear all,
I wrote a servlet "Test.java" which contains a service(request,response) method, and
it works properly. Then I want to write another servlet "Handler.java" which extends
the "Test" class, and in Handler.java, I overrides the service(request,response)
method. It was compiled succesfully,but can not run. I use JBuilder to run my
servlets, and it gives the following error:
Error: 500 Location: /servlet/Handler
Internal Servlet Error:java.lang.NullPointerException
at java.lang.ClassLoader.resolveClass0(Native Method)
at java.lang.ClassLoader.resolveClass(ClassLoader.java:588)
at
org.apache.tomcat.loader.AdaptiveClassLoader.loadClass(AdaptiveClassLoader.java:430)
at
org.apache.tomcat.loader.AdaptiveServletLoader.loadClass(AdaptiveServletLoader.java:174)
at org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:265)
at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289)
at org.apache.tomcat.core.Handler.service(Handler.java:254)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)
Can anyone answer my question? Thanks a lot!
My Test.java:
import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
onMessage(request,response);
out.println("</body>");
out.println("</html>");
}
public void onMessage(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException
{
PrintWriter out = response.getWriter();
out.println("<h1>onMessage?</h1>");
}
}
My Handler.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Handler extends Test {
public void service(HttpServletRequest request, HttpServletResponse
response)throws IOException,ServletException
{
super.service(request,response);
}
public void onMessage(HttpServletRequest request, HttpServletResponse
response)throws IOException,ServletException
{
response.setContentType("text/html");
PrintWriter out = null;
out = response.getWriter();
out.println("<h1>EbXMLHandler!!!!</h1>");
}
}
best regards!
Sincerely
Ying
N�����r��zǧu隊[h�+-��ڲ�ܢf�v)ܖ�^�{ay�ʇ�鞲ƠzȠ���HDU,D�51$���b��!����܆+6�j˧r��j�!����ǫ�W��{^��-�٥E�(���m���j���w(��k�ۜ���z��z�����kz�.�Ǭ�٥,��HDU�i��i��0�[(~�(����楳��z����i