java如何实现响应重定向发送post请求

小编这次要给大家分享的是java如何实现响应重定向发送post请求,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

创新互联从2013年成立,是专业互联网技术服务公司,拥有项目网站设计、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元民权做网站,已为上家服务,为民权各地企业和个人服务,联系电话:028-86922220

关于重定向我们用的比较多的还是redirect:重定向,默认发送的get请求。

return "redirect:/index";

但有时候请求地址必须为post请求,比如security登录就只能接收post请求,下面来看一下如何后台如何发送post请求响应重定向。

首先可以定义一个map,用于存放参数键值对

Map parameter = new HashMap();

添加参数方法

public void setParameter(String key, String value) {
  this.parameter.put(key, value);
}

发送请求代码:

//url参数为请求地址
public void sendByPost(String url) throws IOException {
  this.response.setContentType("text/html");
  response.setCharacterEncoding("utf-8");
  response.setContentType("text/html;charset=utf-8");
  PrintWriter out = this.response.getWriter();
  out.println("");
  out.println("");
  out.println(" ");
  out.println(" ");
  out.println(" loading");
  out.println(" \n");
  out.println(" ");
  out.println(" ");
  out.println("
"); Iterator it = this.parameter.keySet().iterator(); while (it.hasNext()) { String key = it.next(); out.println(""); } out.println(""); out.println(" "); out.println(" "); out.println(""); out.flush(); out.close(); }

RedirectWithPost请求类全部代码

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
 
/**
 * 用POST方式 重定向
 *
 * @author royFly
 */
public class RedirectWithPost {
  Map parameter = new HashMap();
  HttpServletResponse response;
 
  public RedirectWithPost(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");
    response.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = this.response.getWriter();
    out.println("");
    out.println("");
    out.println(" ");
    out.println(" ");
    out.println(" loading");
    out.println(" \n");
    out.println(" ");
    out.println(" ");
    out.println("");
    Iterator it = this.parameter.keySet().iterator();
    while (it.hasNext()) {
      String key = it.next();
      out.println("");
    }
    out.println("");
    out.println(" ");
    out.println(" ");
    out.println("");
    out.flush();
    out.close();
  }
}

实例化RedirectWithPost请求类

RedirectWithPost redirectWithPost = new RedirectWithPost(response);
//redirectUrl请求地址
String redirectUrl = "/login";

添加请求参数

redirectWithPost.setParameter("username", nickname);
redirectWithPost.setParameter("password", openid);

调用方法,发送请求

redirectWithPost.sendByPost(redirectUrl);

看完这篇关于java如何实现响应重定向发送post请求的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。


本文题目:java如何实现响应重定向发送post请求
文章分享:http://pwwzsj.com/article/jscooh.html