All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class com.oreilly.servlet.HttpMessage

java.lang.Object
   |
   +----com.oreilly.servlet.HttpMessage

public class HttpMessage
extends 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
Author:
Jason Hunter, Copyright © 1998

Constructor Index

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

Method Index

 o sendGetMessage()
Performs a GET request to the servlet, with no query string.
 o sendGetMessage(Properties)
Performs a GET request to the servlet, building a query string from the supplied properties list.
 o sendPostMessage()
Performs a POST request to the servlet, with no query string.
 o sendPostMessage(Properties)
Performs a POST request to the servlet, building post data from the supplied properties list.
 o sendPostMessage(Serializable)
Performs a POST request to the servlet, uploading a serialized object.
 o setAuthorization(String, String)
Sets the authorization information for the request (using BASIC authentication via the HTTP Authorization header).
 o setCookie(String, String)
Sets a request cookie with the given name and value.
 o setHeader(String, String)
Sets a request header with the given name and value.

Constructors

 o HttpMessage
 public HttpMessage(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

Methods

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

Returns:
an InputStream to read the response
Throws: IOException
if an I/O error occurs
 o sendGetMessage
 public InputStream sendGetMessage(Properties args) throws 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: IOException
if an I/O error occurs
 o sendPostMessage
 public InputStream sendPostMessage() throws IOException
Performs a POST request to the servlet, with no query string.

Returns:
an InputStream to read the response
Throws: IOException
if an I/O error occurs
 o sendPostMessage
 public InputStream sendPostMessage(Properties args) throws 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: IOException
if an I/O error occurs
 o sendPostMessage
 public InputStream sendPostMessage(Serializable obj) throws 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: IOException
if an I/O error occurs
 o setHeader
 public void setHeader(String name,
                       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
 o setCookie
 public void setCookie(String name,
                       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
 o setAuthorization
 public void setAuthorization(String name,
                              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
name - the user password

All Packages  Class Hierarchy  This Package  Previous  Next  Index