Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Web, Java
Expertise: All
Oct 11, 2000

How to Speed Up Data Transfer Between Servlet and Applet

We can speed up the data transfer between servlet and applet in a Web application by compressing the data transferred between them. The example below demonstrates how this is done:

Servlet Code:

 
public void doGet(HttpServletRequest req, HttpServletResponse res)
              throws ServletException, IOException
   {
     try
      {
	res.setHeader("Content-Encoding","gzip");
	OutputStream out = res.getOutputStream();
	GZIPOutputStream gz = new GZIPOutputStream(out);

	String data = "Compressed Data";

        gz.write(data.getBytes());
	gz.close();
       	out.close();
      }
     catch(Exception e)
      {
	System.out.println("In CompressServlet: Exception in doGet");
      }
  }

//Applet Code:
 
public class UnCompressApplet extends Applet {

   String fromServ = "";

   public void start()
	{
	  try
	   {
	     readData();
	   }
	  catch(Exception e)
	   {
	     System.out.println("Exception in start()");
	   }
	}


	public void paint(Graphics g)
	 {
	    // Display the obtained data
  	g.drawString("Contents of Servlet Data: " + fromServ, 10, 10);
	 }


public void readData() throws Exception
  {

  try
   {
      GZIPInputStream gz = new GZIPInputStream( getData() );

      byte[] buf = new byte[1024];
      int len;

      while ((len = gz.read(buf)) > 0)

	 fromServ = new String(buf);

      gz.close();
   }
  catch (IOException e)
   {
      System.out.println("In UncompressApplet: Exception in readData()");
   }

}

public InputStream getData() throws Exception
  {
try{
	
//URL of the Web Server
String url = "http://localhost:8080/examples/servlet/CompressServlet";

	URL postURL = new URL( url );

	URLConnection urlCon = null;

	urlCon = postURL.openConnection();

	urlCon.setDoOutput(true);
	urlCon.setDoInput(true);

	return urlCon.getInputStream();

}
    catch(Exception e)
  	{
	  e.printStackTrace();
	  return null; //something went wrong
    }

  }//end of getData


}//end of class


HTML Code :



Applet/Servlet Communication


Mahesh Chulet
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap