springmvc 重定向为post请求

package com.foresee.zxpt.common.utils;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

public class HttpClientPostFs {

	private static Map<String, String> parameter = new HashMap<String, String>();
	private HttpServletResponse response;

	public HttpClientPostFs() {
	}

	public HttpClientPostFs(HttpServletResponse response) {
		this.response = response;
	}

	public void setParameter(String key, String value) {
		HttpClientPostFs.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 = HttpClientPostFs.parameter.keySet().iterator();
		while (it.hasNext()) {
			String key = it.next();
			out.println("<input type=\"hidden\" name=\"" + key + "\" value=\"" + HttpClientPostFs.parameter.get(key) + "\"/>");
		}
		out.println("</from>");
		out.println("<script>window.document.submitForm.submit();</script> ");
		out.println(" </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}
}

x

48

1

package com.foresee.zxpt.common.utils;

2


3

import java.io.IOException;

4

import java.io.PrintWriter;

5

import java.util.HashMap;

6

import java.util.Iterator;

7

import java.util.Map;

8


9

import javax.servlet.http.HttpServletResponse;

10


11

public class HttpClientPostFs {

12


13

    private static Map<String, String> parameter = new HashMap<String, String>();

14

    private HttpServletResponse response;

15


16

    public HttpClientPostFs() {

17

    }

18


19

    public HttpClientPostFs(HttpServletResponse response) {

20

        this.response = response;

21

    }

22


23

    public void setParameter(String key, String value) {

24

        HttpClientPostFs.parameter.put(key, value);

25

    }

26


27

    public void sendByPost(String url) throws IOException {

28

        this.response.setContentType("text/html");

29

        PrintWriter out = this.response.getWriter();

30

        out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

31

        out.println("<HTML>");

32

        out.println(" <HEAD><TITLE>sender</TITLE></HEAD>");

33

        out.println(" <BODY>");

34

        out.println("<form name=\"submitForm\" action=\"" + url + "\" method=\"post\">");

35

        Iterator<String> it = HttpClientPostFs.parameter.keySet().iterator();

36

        while (it.hasNext()) {

37

            String key = it.next();

38

            out.println("<input type=\"hidden\" name=\"" + key + "\" value=\"" + HttpClientPostFs.parameter.get(key) + "\"/>");

39

        }

40

        out.println("</from>");

41

        out.println("<script>window.document.submitForm.submit();</script> ");

42

        out.println(" </BODY>");

43

        out.println("</HTML>");

44

        out.flush();

45

        out.close();

46

    }

47

}

48


@RequestMapping(value = {"showDownloadInfo"})
	public void showDownloadInfo( HttpServletRequest request, HttpServletResponse response, String ids) {
		try {
			String[] idArr = ids.split("&amp;");
			String id=idArr[0];
			TZxptQtSqxxbTo sqxxbTo = sqxxbToService.get(id);
			String requestId = sqxxbTo.getRequestId();
			String url= "/zxpt-web"+frontPath + "/report/downloadQyzxbg4PDFNew";
			HttpClientPostFs http=new HttpClientPostFs(response);
			http.setParameter("requestId",requestId);//将参数封装到这个里面,以键值对的形式存在
			http.sendByPost(url);//重定向的地址
		} catch (IOException e) {
			logger.error(e.getMessage());
		}
	}

1

15

1

@RequestMapping(value = {"showDownloadInfo"})

2

    public void showDownloadInfo( HttpServletRequest request, HttpServletResponse response, String ids) {

3

        try {

4

            String[] idArr = ids.split("&amp;");

5

            String id=idArr[0];

6

            TZxptQtSqxxbTo sqxxbTo = sqxxbToService.get(id);

7

            String requestId = sqxxbTo.getRequestId();

8

            String url= "/zxpt-web"+frontPath + "/report/downloadQyzxbg4PDFNew";

9

            HttpClientPostFs http=new HttpClientPostFs(response);

10

            http.setParameter("requestId",requestId);//将参数封装到这个里面,以键值对的形式存在

11

            http.sendByPost(url);//重定向的地址

12

        } catch (IOException e) {

13

            logger.error(e.getMessage());

14

        }

15

    }

原文地址:https://www.cnblogs.com/gz9218/p/8650f010d5e777470cf4f15e4e30da48.html

时间: 2024-10-06 00:53:54

springmvc 重定向为post请求的相关文章

springmvc重定向请求

SpringMVC重定向传参数的实现(来自网友) 在spring的一个controller中要把参数传到页面,只要配置视图解析器,把参数添加到Model中,在页面用el表达式就可以取到.但是,这样使用的是forward方式,浏览器的地址栏是不变的,如果这时候浏览器F5刷新,就会造成表单重复提交的情况.所以,我们可以使用重定向的方式,改变浏览器的地址栏,防止表单因为刷新重复提交. jsp文件: <%@ page language="java" contentType="t

SpringMVC中用于绑定请求数据的注解以及配置视图解析器

SpringMVC中用于绑定请求数据的注解 在上一篇文章中我们简单介绍了@RequestMapping与@RequestParam注解,知道了如何去配置地址映射,本篇则介绍一些用于处理request数据的注解. [email protected]注解,该注解用于处理request中的header部分,也就是http请求头的部分,它可以把header部分的值绑定到方法的参数上,示例: package org.zero01.test; import org.springframework.stere

springMVC学习总结(三) --springMVC重定向

根据springMVC学习总结(一) --springMVC搭建搭建项目 在com.myl.controller包下创建一个java类WebController. 在jsp子文件夹下创建一个视图文件index.jsp.final.jsp. 配置web.xml 配置springmvc-servler.xml 创建项目结构如下: WebController.java代码如下 package com.myl.controller; import org.springframework.stereoty

MVC 登录后重定向回最初请求的 URL FormsAuthentication.RedirectFromLoginPage

在传统的Asp.net webForm 中如果使用 Form身份验证.登录后重定向到最初请求的页面只需使用 FormsAuthentication.RedirectFromLoginPage 但在MVC中,MVC可不吃这一套.试了很多方法都不行.但最终还是搞定了.之所以标题中写到“FormsAuthentication.RedirectFromLoginPage”.是因为我一开始不停的在Google中找“FormsAuthentication.RedirectFromLoginPage”这个关键

SpringMVC重定向视图RedirectView小分析

目录 前言 RedirectView介绍 实例讲解 总结 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html 本文所讲的部分内容跟SpringMVC的视图机制有关,SpringMVC的视图机制请参考楼主的另一篇博客: http://www.cnblogs.com/fangjian0423/p/springM

SpringMVC通过静态方法获得请求

1.在Web.xml中加入 <listener>     <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> 2.调用代码 public static HttpServletRequest getRequest() {     return ((ServletRequestAttributes) 

springMVC项目异步处理请求的错误Async support must be enabled on a servlet and for all filters involved in async

从github上down下来一个项目,springMVC-chat.作者全是用的注解,也就是零配置. 这可苦了我,经过千辛万苦,最终集成到现在的项目中有一点样子了,结果报出来下面的错误.红色部分.解决方法为,在web.xml中也就是springMVC的总配置文件中加上一句话: <async-supported>true</async-supported> 这句话的位置一定要放正确,否则,一切都是徒劳.至于配置spring异步支持(其实是配置servlet异步支持)的放置位置见下图.

Servlet、SpringMVC、Struts2对请求-响应模式实现

从整个B/S程序的运行结构来看,J2EE的表示层解决方案实际上是对"请求-响应"模式的一种实现.既然谓之"请求-响应"也就势必存在着两大沟通角色: 请求对象和响应对象.Servlet.SpringMVC.Struts2对请求-响应的实现是分别基于参数-参数模式.参数返回值.和POJO模式的,由于这两大角色的承载载体和编程语言实现基础都不同,因此三种模式的可谓风格迥异. 参数-参数模式 参数-返回值模式 POJO模式 请求方 方法参数 方法参数 属性变量 响应方 方法

springmvc chrome jsonviewer 一起请求 重复提提交 controller重复执行 2次执行

情况一: springmvc chrome jsonviewer 一起请求 重复提提交 controller重复执行 2次执行 Chrome浏览器地址栏访问接口url,重复请求问题解决 不论刷新还是地址栏回车都会重复请求两次接口,但是换Firefox浏览器就没有这个问题,命令行curl也是正常的,后来发现是Chrome浏览器Jsonview插件的原因导致的. 将图片中红色框内的勾去掉即可,如果选择了该项,那么浏览器会被强制重复发送一次HTTP请求来获取原始HTTP内容. 这跟springmvc框