1. 程式人生 > >重定向時將重定向方式變成post請求

重定向時將重定向方式變成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);//重定向的地址