webcad_01_0_1
Class HttpMessage

public class HttpMessage
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 Detail

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

Method Detail

sendGetMessage
















































public InputStream sendGetMessage()
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

sendGetMessage
















































public InputStream sendGetMessage(Properties args)
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

sendPostMessage
















































public InputStream sendPostMessage()
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

sendPostMessage
















































public InputStream sendPostMessage(Properties args)
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

sendPostMessage
















































public InputStream sendPostMessage(Serializable obj)
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

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

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

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