public class HttpMessage extends Object
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.
Modifier and Type | Field and Description |
---|---|
(package private) Hashtable |
headers |
(package private) URL |
servlet |
Constructor and Description |
---|
HttpMessage(URL servlet)
Constructs a new HttpMessage that can be used to communicate with the
servlet at the specified URL.
|
Modifier and Type | Method and Description |
---|---|
InputStream |
sendGetMessage()
Performs a GET request to the servlet, with no query string.
|
InputStream |
sendGetMessage(Properties args)
Performs a GET request to the servlet, building
a query string from the supplied properties list.
|
private void |
sendHeaders(URLConnection con) |
InputStream |
sendPostMessage()
Performs a POST request to the servlet, with no query string.
|
InputStream |
sendPostMessage(Properties args)
Performs a POST request to the servlet, building
post data from the supplied properties list.
|
InputStream |
sendPostMessage(Serializable obj)
Performs a POST request to the servlet, uploading a serialized object.
|
void |
setAuthorization(String name,
String password)
Sets the authorization information for the request (using BASIC
authentication via the HTTP Authorization header).
|
void |
setCookie(String name,
String value)
Sets a request cookie with the given name and value.
|
void |
setHeader(String name,
String value)
Sets a request header with the given name and value.
|
private String |
toEncodedString(Properties args) |
public HttpMessage(URL servlet)
servlet
- the server resource (typically a servlet) with which
to communicatepublic InputStream sendGetMessage() throws IOException
IOException
- if an I/O error occurspublic InputStream sendGetMessage(Properties args) throws IOException
args
- the properties list from which to build a query stringIOException
- if an I/O error occurspublic InputStream sendPostMessage() throws IOException
IOException
- if an I/O error occurspublic InputStream sendPostMessage(Properties args) throws IOException
args
- the properties list from which to build the post dataIOException
- if an I/O error occurspublic InputStream sendPostMessage(Serializable obj) throws IOException
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.
obj
- the serializable object to uploadIOException
- if an I/O error occurspublic void setHeader(String name, String value)
name
- the header namevalue
- the header valueprivate void sendHeaders(URLConnection con)
public void setCookie(String name, String value)
name
- the header namevalue
- the header valuepublic void setAuthorization(String name, String password)
name
- the user namename
- the user passwordprivate String toEncodedString(Properties args)
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses