Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Saturday, December 1, 2007

java code for JSP post

//jspPost.jsp
/*

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>







*/

//viewPost.jsp
/*
<%@page contentType="text/html"%><%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

Post Data Viewer

Here is your posted data



:






*/
package com.java2s;

import java.util.Map;
import java.util.Iterator;
import java.util.Map.Entry;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.HttpException;

public class PostBean implements java.io.Serializable {

private Map parameters;
private String url;

public PostBean(){
}

public void setParameters(Map param){

if (param != null)
parameters = param;
}

public Map getParameters(){

return parameters;
}

public void setUrl(String url){

if (url != null && !(url.equals("")))
this.url=url;
}

public String getUrl(){

return url;
}


public String getPost() throws java.io.IOException,HttpException{

if (url == null || url.equals("") || parameters == null)
throw new IllegalStateException("Invalid url or parameters in PostBean.getPost method.");

String returnData = "";
HttpClient httpClient = new HttpClient();
PostMethod postMethod = new PostMethod(url);
//convert the Map passed into the bean to a NameValuePair[] type
NameValuePair[] postData = getParams(parameters);
//the 2.0 beta1 version has a
//PostMethod.setRequestBody(NameValuePair[])
//method, as addParameters is deprecated
postMethod.addParameters(postData);
httpClient.executeMethod(postMethod);
//A "200 OK" HTTP Status Code
if (postMethod.getStatusCode() == HttpStatus.SC_OK) {
returnData= postMethod.getResponseBodyAsString();
} else {
returnData= "The POST action raised an error: " + postMethod.getStatusLine();
}
//release the connection used by the method
postMethod.releaseConnection();
return returnData;

}//end getPost

private NameValuePair[] getParams(Map map){

NameValuePair[] pairs = new NameValuePair[map.size()];
//Use an Iterator to put name/value pairs from the Map
//into the array
Iterator iter = map.entrySet().iterator();
int i = 0;
while (iter.hasNext()){

Map.Entry me = (Map.Entry) iter.next();
pairs[i] = new NameValuePair(
(String)me.getKey(),((String[]) me.getValue())[0]);
i++;
}
return pairs;
}//end getParams

}

No comments: