国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

java實現(xiàn)響應重定向發(fā)送post請求操作示例

瀏覽:77日期:2022-09-03 08:50:42

本文實例講述了java實現(xiàn)響應重定向發(fā)送post請求操作。分享給大家供大家參考,具體如下:

關(guān)于重定向我們用的比較多的還是redirect:重定向,默認發(fā)送的get請求。

return 'redirect:/index';

但有時候請求地址必須為post請求,比如security登錄就只能接收post請求,下面來看一下如何后臺如何發(fā)送post請求響應重定向。

首先可以定義一個map,用于存放參數(shù)鍵值對

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

添加參數(shù)方法

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

發(fā)送請求代碼:

//url參數(shù)為請求地址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('<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>'); out.println('<HTML>'); out.println(' <HEAD>'); out.println(' <meta http-equiv=Content-Type content='text/html; charset=utf-8'>'); out.println(' <TITLE>loading</TITLE>'); out.println(' <meta http-equiv='Content-Type' content='text/html charset=GBK'>n'); out.println(' </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();}

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<String, String> parameter = new HashMap<String, String>(); 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('<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>'); out.println('<HTML>'); out.println(' <HEAD>'); out.println(' <meta http-equiv=Content-Type content='text/html; charset=utf-8'>'); out.println(' <TITLE>loading</TITLE>'); out.println(' <meta http-equiv='Content-Type' content='text/html charset=GBK'>n'); out.println(' </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(); }}

實例化RedirectWithPost請求類

RedirectWithPost redirectWithPost = new RedirectWithPost(response);//redirectUrl請求地址String redirectUrl = '/login';

添加請求參數(shù)

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

調(diào)用方法,發(fā)送請求

redirectWithPost.sendByPost(redirectUrl);

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java Socket編程技巧總結(jié)》、《Java文件與目錄操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》和《Java緩存操作技巧匯總》

希望本文所述對大家java程序設(shè)計有所幫助。

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 崇仁县| 华容县| 常德市| 诸暨市| 西林县| 遂宁市| 贡山| 保靖县| 平乡县| 阿鲁科尔沁旗| 浦北县| 共和县| 德令哈市| 临澧县| 昂仁县| 贡嘎县| 栾川县| 普洱| 江城| 云安县| 阿合奇县| 洛浦县| 城步| 徐州市| 大姚县| 新丰县| 山丹县| 五台县| 桐乡市| 榆树市| 永康市| 乌海市| 慈利县| 新郑市| 德化县| 宾阳县| 隆化县| 乐至县| 怀远县| 汕尾市| 东城区|