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