com.adventnet.snmp.snmp2
Class ServletCommunication

java.lang.Object
  extended by 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