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
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
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