Wrox Home  
Search P2P Archive for: Go

  Return to Index  

servlets thread: Problem with URLConnection and JRun3.0


Message #1 by "Cinzia Rubattino" <cinzia.rubattino@v...> on Thu, 1 Feb 2001 13:54:33 -0000
try using the code for the 2 servlets :

Client Servlet:

package cmanager;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.io.File;
/*import com.sun.xml.parser.Resolver;
import com.sun.xml.tree.XmlDocument;  */
import com.sun.xml.tree.ElementNode ;
import org.xml.sax.InputSource;
import org.w3c.dom.*;

import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.apache.crimson.parser.Resolver ;
import org.apache.crimson.tree.XmlDocument;

//import org.w3c.dom.Document ;
import java.net.*;

public class ClientServlet extends HttpServlet {

  //Initialize global variables
  public void init(ServletConfig config) throws ServletException {
    super.init(config);
  }

  //Process the HTTP Post request
  public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

      InputSource     input1,input2,output1;
      XmlDocument     doc1,doc2,doc3;

      byte[] bytessent = new byte[10000];
      byte[] bytesread = new byte[10000];

    response.setContentType("text/xml");
    PrintWriter out = new PrintWriter (response.getOutputStream());
    try
      {
          input1 = Resolver.createInputSource (new File("e:/weblogic/myserver/servletclasses/pizza.xml"));
	        doc1 =  XmlDocument.createXmlDocument (input1, false);
            doc1.getDocumentElement().normalize();


        String xmldoc =doc1.getDocumentElement().toString ();


         URL serverurl = new URL("http://kpraveen:7001/sservlet");
         URLConnection srvconnect = serverurl.openConnection ();


         srvconnect.setDoOutput (true);
         srvconnect.setDefaultUseCaches (false);

          OutputStream os = srvconnect.getOutputStream ();



         //out.println("Bytes sent to server servlet");
         for(int k=0;k < xmldoc.length () ;k++)
         {
            bytessent[k]= (byte)xmldoc.charAt (k);
           // out.print((char)bytessent[k]);

         }
         os.write (bytessent);
         os.flush();
         // srvconnect.wait (2);
         os.close ();




         InputStream is =srvconnect.getInputStream ();



            is.read(bytesread);
           

        // out.println("Bytes sent back from server  servlet");
         for(int j=0;j<bytesread.length ;j++)
         {

            out.println((char)bytesread[j]);
            }






         } catch (SAXParseException err)
            {
              out.println ("** Parsing 			error" + ", line " +
            			err.getLineNumber ()  +
            			", uri " + err.getSystemId ());
              out.println("   " + 	err.getMessage ());
            }
          catch (SAXException e)
          {
             e.printStackTrace();
          }
          catch (Throwable t)
          {
             t.printStackTrace();
          }
        out.close();
  }

  //Get Servlet information
  public String getServletInfo() {
    return "xmlstuff.ClientServlet Information";
  }
}
ServerServlet:

package cmanager;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.io.File;
import com.sun.xml.parser.Resolver;
import com.sun.xml.tree.XmlDocument;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import com.sun.xml.tree.*;
import org.w3c.dom.*;
import org.w3c.dom.Document ;

import java.net.*;

public class ServerServlet extends HttpServlet {

       byte[] bytessent = new byte[10000];
      byte[] bytesread = new byte[10000];

  //Initialize global variables
  public void init(ServletConfig config) throws ServletException {
    super.init(config);



  }

  //Service the request
  public void service( ServletRequest request,  ServletResponse response) throws ServletException, IOException {
    response.setContentType("text/plain");
    PrintWriter out = response.getWriter ();


    try{
          System.out.println("trying to read input stream in server servlet");
          ServletInputStream sis = request.getInputStream ();

          sis.read(bytesread);
          sis.close ();
          System.out.println("trying to read input stream in server servlet"+(char)bytesread[0]+bytesread.length);


         System.out.println("Bytes read from client servlet::");
       //    for(int j=0;j<=1000 ;j++)
      //    {
       //
      //      System.out.print ((char)bytesread[j]);
       //     }


            String buildtosend = new String(bytesread,0,bytesread.length-1);
            System.out.print (buildtosend);

        ServletOutputStream os = response.getOutputStream();
         for(int k=0;k < buildtosend.length () ;k++)
         {
            bytessent[k]= (byte)buildtosend.charAt (k);
            out.print((char)bytessent[k]);

         }
         os.write (bytessent);
         os.flush();
         // srvconnect.wait (2);
         os.close ();


        }catch(Exception ee){
                          System.out.println("Error reading stream");
                        }


  }

  //Get Servlet information
  public String getServletInfo() {
    return "xmlstuff.ServerServlet Information";
  }
}


  Return to Index