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 
Nrzǧu隊[h+-ڲܢfv)ܖ^{ayʇ鞲ƠzȠHDU,D51$b!܆+޲6j˧rj!ǫW{^-٥E(mjw(kۜzz׫kz.Ǭ٥,HDUii0[(~(楳zi


Reply via email to