测试页面form
<form action="jsonRedirect.do" id="f1" name="f1" method="post">
<table width="70%" cellspacing="1" border="0">
<tbody>
<tr>
<td class="info_title">JSON接口测试工具</td>
</tr>
<tr>
<td width="100%">
<table width="100%" border="0" cellspacing="1">
<tbody>
<tr>
<td width="200" class="bg_gray" align="right">请求接口地址: </td>
<td class="bg_yellow2" align="left"> <textarea rows="2" cols="70" name="reqUrl" id="reqUrl" type="text"> </textarea> <br /></td>
</tr>
<tr>
<td width="200" class="bg_gray" align="right">JSON参数: </td>
<td class="bg_yellow2" align="left"> <textarea rows="8" cols="70" name="json" id="json" type="text"> </textarea><br /></td>
</tr>
<tr>
<td height="50"> </td>
<td><input type="submit" value="提交测试" /></td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table>
</form>
处理请求方法
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
resp.setHeader("content-type","text/html;charset=UTF-8");
resp.setHeader("Access-Control-Allow-Origin", "*");
String respMsg = "ok";
try
{
String json=req.getParameter("json");
String reqUrl=req.getParameter("reqUrl");
System.out.println(json+" :"+reqUrl);
Map<String,String> param = JSON.parseObject(json,Map.class);
respMsg = HttpFormUtil.formForward(reqUrl, param);
System.out.println("[请求信息:]"+param);
}
catch (Exception e)
{
respMsg="系统异常!";
}
resp.getOutputStream().write(respMsg.getBytes("utf8"));
}
模拟form表单提交工具类
import java.util.Iterator;
import java.util.Map;
public class HttpFormUtil
{
/**
* 自定义编码格式跳转
*
* @param url
* @param params
* @param charset
* @return
*/
public static String formForward(String url, Map <String, String> params, String charset)
{
StringBuffer formHtml = new StringBuffer();
formHtml.append("<html>");
String head = "<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=" + charset
+ "\" pageEncoding=\"" + charset + "\" />";
formHtml.append(head);
formHtml.append("<title>loading</title>");
formHtml.append("<style type=\"text/css\">");
formHtml.append("body{margin:200px auto;font-family: \"宋体\", Arial;font-size: 12px;color: #369;text-align: center;}");
formHtml.append("#1{height:auto; width:78px; margin:0 auto;}");
formHtml.append("#2{height:auto; width:153px; margin:0 auto;}");
formHtml.append("vertical-align: bottom;}");
formHtml.append("</style>");
formHtml.append("</head>");
formHtml.append("<body OnLoad=\"OnLoadEvent();\" >");
formHtml.append("<div id=\"3\">");
formHtml.append("Loading...");
formHtml.append("</div>");
formHtml.append("<form name=\"forwardForm\" action=\"").append(url).append("\" method=\"POST\">");
System.out.println("form表单跳转url:"+url);
Iterator <String> keyIterator = params.keySet().iterator();
while (keyIterator.hasNext())
{
String key = keyIterator.next();
formHtml.append(" <input type=\"hidden\" name=\"").append(key).append("\" value=\"")
.append(params.get(key)).append("\"/>");
System.out.println("form表单跳转参数:" + key + "=" + params.get(key));
}
formHtml.append("</form>");
formHtml.append("<SCRIPT LANGUAGE=\"Javascript\">");
formHtml.append(" function OnLoadEvent(){");
formHtml.append(" document.forwardForm.submit();");
formHtml.append(" }");
formHtml.append("</SCRIPT>");
formHtml.append("</body>");
formHtml.append("</html>");
return formHtml.toString();
}
/**
* 指定UTF-8编码格式跳转
*
* @param url
* @param params
* @return
*/
public static String formForward(String url, Map <String, String> params)
{
return formForward(url, params, "utf8");
}
}