[color=darkred]下载commons-httpclient-2.0-alpha2.jar[/color]
MyJsp.jsp
testPostBean.jsp
postBean.java
MyJsp.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form method="get" action="testPostBean.jsp" name="myForm"><p> <input type="text" name="userName"></p><p> <input type="text" name="passWord"></p><p> <input type="radio" value="china" name="radio1">china</p><p>
<input type="submit" name="button2" value="submit"></p><p> </p><p> </p><p> </p></form></body>
</html>
testPostBean.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'testPostBean.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<jsp:useBean id="postBean" class="myServlet.PostBean"></jsp:useBean>
<jsp:setProperty property="url" name="postBean" value="http://localhost:8080/success/viewPoint.jsp"/>
<jsp:setProperty property="parameters" name="postBean" value="<%=request.getParameterMap() %>"/>
<jsp:getProperty property="post" name="postBean"/>
</body>
</html>
postBean.java
package myServlet;
import java.io.IOException;
import java.util.*;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class PostBean {
private Map parameters;
private String url;
private String post;
public PostBean(){}
public void setParameters(Map params)
{
this.parameters=params;
}
public Map getParameters()
{
return parameters;
}
public void setUrl(String url)
{
this.url=url;
}
public String getUrl()
{
return url;
}
public void setPost(String post)
{
this.post=post;
}
public String getPost() throws HttpException, IOException
{
String rString="";
HttpClient hc=new HttpClient();
PostMethod pm=new PostMethod(url);
pm.addParameters(getParams(parameters));
hc.executeMethod(pm);
if(pm.getStatusCode()==HttpStatus.SC_OK)
{
rString=pm.getResponseBodyAsString();
}
else
{
rString="the post action raised an error"+pm.getStatusLine();
}
post=rString;
pm.releaseConnection();
return post;
}
private NameValuePair[] getParams(Map map)
{
NameValuePair[] pair=new NameValuePair[map.size()];
Iterator iterator=map.entrySet().iterator();
int i=0;
while(iterator.hasNext())
{
Map.Entry en=(Map.Entry)iterator.next();
pair[i]=new NameValuePair((String)en.getKey(),((String[])en.getValue())[0]);
i++;
}
return pair;
}
}