com.adventnet.snmp.snmp2
Class ServletCommunication

java.lang.Object
  |
  +--com.adventnet.snmp.snmp2.ServletCommunication

class ServletCommunication
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");
  
 ServletCommunication msg = new ServletCommunication(url);
  
 Properties props = new Properties();
 props.put("name", "value");
  
 InputStream in = msg.sendGetMessage(props);
 


Field Summary
(package private)  java.lang.String args
           
(package private)  java.net.URL servlet
           
 
Constructor Summary
ServletCommunication(java.net.URL servlet)
          Constructs a new ServletCommunication 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.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

servlet

java.net.URL servlet

args

java.lang.String args
Constructor Detail

ServletCommunication

public ServletCommunication(java.net.URL servlet)
Constructs a new ServletCommunication 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 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 retrieved as the subtype of the content type (java-internal/classname).
Parameters:
obj - the serializable object to upload
Returns:
an InputStream to read the response
Throws:
java.io.IOException - if an I/O error occurs