Servlets.com

Home

What's New?

com.oreilly.servlet

Servlet Polls

Mailing Lists

List Archives

Servlet Engines

Servlet ISPs

Servlet Tools

Documentation

Online Articles

The Soapbox

"Java Servlet
Programming,
Second Edition"

"Java Enterprise
Best Practices"

Speaking & Slides

About Jason

XQuery Affiliate

Advertising Info

HttpMessage

com.oreilly.servlet
Class HttpMessage


java.lang.Object
  |
  +--com.oreilly.servlet.HttpMessage
Direct Known Subclasses:
HttpsMessage

public class HttpMessage
extends java.lang.Object

A class to simplify HTTP applet-server communication. It abstracts the communication into messages, which can be either GET or POST.

It can be used like this:

 URL url = new URL(getCodeBase(), "/servlet/ServletName");
  
 HttpMessage msg = new HttpMessage(url);
  
 // Parameters may optionally be set using java.util.Properties
 Properties props = new Properties();
 props.put("name", "value");
  
 // Headers, cookies, and authorization may be set as well
 msg.setHeader("Accept", "image/png");             // optional
 msg.setCookie("JSESSIONID", "9585155923883872");  // optional
 msg.setAuthorization("guest", "try2gueSS");       // optional
  
 InputStream in = msg.sendGetMessage(props);
 

This class is loosely modeled after the ServletMessage class written by Rod McChesney of JavaSoft.

Version:
1.3, 2000/10/24, fixed headers NPE bug
, 1.2, 2000/10/15, changed uploaded object MIME type to application/x-java-serialized-object , 1.1, 2000/06/11, added ability to set headers, cookies, and authorization , 1.0, 1998/09/18
Author:
Jason Hunter, Copyright © 1998

Constructor Summary
HttpMessage(java.net.URL servlet)
          Constructs a new HttpMessage that can be used to communicate with the servlet at the specified URL.
 
Method Summary
 java.io.InputStream sendGetMessage()
          Performs a GET request to the servlet, with no query string.
 java.io.InputStream sendGetMessage(java.util.Properties args)
          Performs a GET request to the servlet, building a query string from the supplied properties list.
 java.io.InputStream sendPostMessage()
          Performs a POST request to the servlet, with no query string.
 java.io.InputStream sendPostMessage(java.util.Properties args)
          Performs a POST request to the servlet, building post data from the supplied properties list.
 java.io.InputStream sendPostMessage(java.io.Serializable obj)
          Performs a POST request to the servlet, uploading a serialized object.
 void setAuthorization(java.lang.String name, java.lang.String password)
          Sets the authorization information for the request (using BASIC authentication via the HTTP Authorization header).
 void setCookie(java.lang.String name, java.lang.String value)
          Sets a request cookie with the given name and value.
 void setHeader(java.lang.String name, java.lang.String value)
          Sets a request header with the given name and value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpMessage

public HttpMessage(java.net.URL servlet)
Constructs a new HttpMessage that can be used to communicate with the servlet at the specified URL.

Parameters:
servlet - the server resource (typically a servlet) with which to communicate
Method Detail

sendGetMessage

public java.io.InputStream sendGetMessage()
                                   throws java.io.IOException
Performs a GET request to the servlet, with no query string.

Returns:
an InputStream to read the response
Throws:
java.io.IOException - if an I/O error occurs

sendGetMessage

public java.io.InputStream sendGetMessage(java.util.Properties args)
                                   throws java.io.IOException
Performs a GET request to the servlet, building a query string from the supplied properties list.

Parameters:
args - the properties list from which to build a query string
Returns:
an InputStream to read the response
Throws:
java.io.IOException - if an I/O error occurs

sendPostMessage

public java.io.InputStream sendPostMessage()
                                    throws java.io.IOException
Performs a POST request to the servlet, with no query string.

Returns:
an InputStream to read the response
Throws:
java.io.IOException - if an I/O error occurs

sendPostMessage

public java.io.InputStream sendPostMessage(java.util.Properties args)
                                    throws java.io.IOException
Performs a POST request to the servlet, building post data from the supplied properties list.

Parameters:
args - the properties list from which to build the post data
Returns:
an InputStream to read the response
Throws:
java.io.IOException - if an I/O error occurs

sendPostMessage

public java.io.InputStream sendPostMessage(java.io.Serializable obj)
                                    throws java.io.IOException
Performs a POST request to the servlet, uploading a serialized object.

The servlet can receive the object in its doPost() method like this:

     ObjectInputStream objin =
       new ObjectInputStream(req.getInputStream());
     Object obj = objin.readObject();
 
The type of the uploaded object can be determined through introspection.

Parameters:
obj - the serializable object to upload
Returns:
an InputStream to read the response
Throws:
java.io.IOException - if an I/O error occurs

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
Sets a request header with the given name and value. The header persists across multiple requests. The caller is responsible for ensuring there are no illegal characters in the name and value.

Parameters:
name - the header name
value - the header value

setCookie

public void setCookie(java.lang.String name,
                      java.lang.String value)
Sets a request cookie with the given name and value. The cookie persists across multiple requests. The caller is responsible for ensuring there are no illegal characters in the name and value.

Parameters:
name - the header name
value - the header value

setAuthorization

public void setAuthorization(java.lang.String name,
                             java.lang.String password)
Sets the authorization information for the request (using BASIC authentication via the HTTP Authorization header). The authorization persists across multiple requests.

Parameters:
name - the user name

 


Home   com.oreilly.servlet   Polls   Lists   Archives
Engines   ISPs   Tools   Docs   Articles   Soapbox   Book

Copyright © 1999-2005 Jason Hunter
Privacy Policy

webmaster@servlets.com
Last updated: October 30, 2006