重定向时将重定向方式变成post请求

public class HttpClientPostFs {
Map<String, String> parameter=new HashMap<String, String>();
HttpServletResponse response;

public HttpClientPostFs()
{
}
public HttpClientPostFs(HttpServletResponse response)
{
  this.response=response;
}
public void setParameter(String key,String value)
{
  this.parameter.put(key, value);
}
public void sendByPost(String url) throws IOException
{
  this.response.setContentType("text/html");
  PrintWriter out = this.response.getWriter();
  out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
  out.println("<HTML>");
  out.println(" <HEAD><TITLE>sender</TITLE></HEAD>");
  out.println(" <BODY>");
  out.println("<form name=\"submitForm\" action=\""+url+"\" method=\"post\">");
    Iterator<String> it=this.parameter.keySet().iterator();
  while(it.hasNext())
  {
   String key=it.next();
   out.println("<input type=\"hidden\" name=\""+key+"\" value=\""+this.parameter.get(key)+"\"/>");
  }
  out.println("</from>");
  out.println("<script>window.document.submitForm.submit();</script> ");
  out.println(" </BODY>");
  out.println("</HTML>");
  out.flush();
  out.close();
}

}

调用的地方使用下面代码

HttpClientPostFs http=new HttpClientPostFs(response);
http.setParameter(parmas,value);//将参数封装到这个里面,以键值对的形式存在
http.sendByPost(url);//重定向的地址



猜你喜欢

转载自blog.csdn.net/h2520ny/article/details/78611762