最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringMVC如何用Post方式重定向

 更新時間:2022年10月26日 10:19:15   作者:賀總的好兄弟  
這篇文章主要介紹了SpringMVC如何用Post方式重定向,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringMVC用Post方式重定向

正常會以return "redirect:/XXX"這種方式直接重定向,但是這種方式是Get方式提交。

然而有些業(yè)務(wù)為了安全性必須要Post方式重定向。

Post方式重定向

我嘗試過的方法:

? ? /** ?
? ? ?* 請求進(jìn)行重定向 ?
? ? ?*/ ?
? ? @RequestMapping(value = “postPayAmount”, method = RequestMethod.GET) ??
? ? public RedirectView postPayAmount(HttpSession session,ModelMap map) { ??
? ? ? ? return new RedirectView(WsUrlConf.URI_PAY,true,false,false);//最后的參數(shù)為false代表以post方式提交請求 ??
? ? } ?

以上方法并不好用,我看了作者寫的另一個解決辦法

1、先封裝一個Form,用他來發(fā)Post請求。

/**
?? ? * @Description: 后臺進(jìn)行POST請求(請寫在代碼執(zhí)行結(jié)尾)
?? ? * @return void ?返回類型
?? ? */
?? ?public static void doBgPostReq(HttpServletResponse response,String postUrl,Map<String, ?> paramMap) throws IOException {
?? ??? ?response.setContentType( "text/html;charset=utf-8"); ??
?? ? ? ?PrintWriter out = response.getWriter(); ?
?? ? ? ?out.println("<form name='postSubmit' method='post' action='"+postUrl+"' >"); ?
?? ? ? ?for (String key : paramMap.keySet()) {
?? ? ? ??? ?out.println("<input type='hidden' name='"+key+"' value='" + paramMap.get(key)+ "'>");
?? ??? ?}
?? ? ? ?out.println("</form>"); ??
?? ? ? ?out.println("<script>"); ??
?? ? ? ?out.println(" ?document.postSubmit.submit()"); ??
?? ? ? ?out.println("</script>"); ??
?? ?}

2、在控制層直接調(diào)用

/**
?? ? * 進(jìn)行請求
?? ? * @param request
?? ? * @return
?? ? * @throws IOException?
?? ? */
?? ?@RequestMapping(value = "doPostRedirectView.do", method = RequestMethod.GET)
?? ?@ResponseBody
?? ?public void doPostRedirectView(HttpServletRequest request,HttpServletResponse response,ModelMap map) throws IOException {
?? ??? ?logger.debug("-----進(jìn)入了doPostRedirectView----");
?? ??? ?map.put("aaa", "aaaa");
?? ??? ?HttpUtils.doBgPostReq(response, "doPostReq.do", map);
?? ?}

SpringMVC的Post提交405錯誤,只能使用重定向方式

前端文件

? <form action="welcome1" method="post">
? ? ? ? <input type="submit" value="post-請求轉(zhuǎn)發(fā)">
? </form>

? <br>
? <br>

? <form action="welcome2" method="post">
? ? ? <input type="submit" value="post-重定向">
? </form>

后端控制器類

@Controller
public class SpringMvcController {

? ? @RequestMapping(path = "welcome1",method = RequestMethod.POST)
? ? public String welcome1(){

? ? ? ? return ?"success"; ? ? ? ?//默認(rèn)使用請求轉(zhuǎn)發(fā)
? ? }

? ? @RequestMapping(path = "welcome2",method = RequestMethod.POST)
? ? public String welcome2(){

? ? ? ? return ?"redirect:success.html"; ? ? ? ?//使用重定向
? ? }

}

使用@PostMapping注解的方式也一樣。

配置類

# 應(yīng)用名稱
spring.application.name=sringmvc-blog
# 應(yīng)用服務(wù) WEB 訪問端口
server.port=8081

# 后綴名
spring.mvc.view.suffix=.html

要跳轉(zhuǎn)的success.html頁面

<h1>springMVC 的 post</h1>

運(yùn)行頁面:

結(jié)果

請求轉(zhuǎn)發(fā)的方式:

重定向的方式:

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?Boot數(shù)據(jù)響應(yīng)問題實(shí)例詳解

    Spring?Boot數(shù)據(jù)響應(yīng)問題實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Spring?Boot數(shù)據(jù)響應(yīng)問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-03-03
  • SpringBoot配置Ollama實(shí)現(xiàn)本地部署DeepSeek

    SpringBoot配置Ollama實(shí)現(xiàn)本地部署DeepSeek

    本文主要介紹了在本地環(huán)境中使用?Ollama?配置?DeepSeek?模型,并在?IntelliJ?IDEA?中創(chuàng)建一個?Spring?Boot?項(xiàng)目來調(diào)用該模型,文中通過圖文示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • Springboot接口返回參數(shù)及入?yún)SA加密解密的過程詳解

    Springboot接口返回參數(shù)及入?yún)SA加密解密的過程詳解

    這篇文章主要介紹了Springboot接口返回參數(shù)及入?yún)SA加密解密,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Spring實(shí)戰(zhàn)之獲取其他Bean的屬性值操作示例

    Spring實(shí)戰(zhàn)之獲取其他Bean的屬性值操作示例

    這篇文章主要介紹了Spring實(shí)戰(zhàn)之獲取其他Bean的屬性值操作,結(jié)合實(shí)例形式分析了Spring操作Bean屬性值的相關(guān)配置與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • 淺談Java多線程實(shí)現(xiàn)及同步互斥通訊

    淺談Java多線程實(shí)現(xiàn)及同步互斥通訊

    下面小編就為大家?guī)硪黄獪\談Java多線程實(shí)現(xiàn)及同步互斥通訊。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Centos6.5下Jdk+Tomcat+Mysql環(huán)境安裝圖文教程

    Centos6.5下Jdk+Tomcat+Mysql環(huán)境安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了Centos6.5系統(tǒng)下Jdk+Tomcat+Mysql環(huán)境安裝過程,感興趣的小伙伴們可以參考一下
    2016-05-05
  • SpringBoot和VUE源碼直接整合打包成jar的踩坑記錄

    SpringBoot和VUE源碼直接整合打包成jar的踩坑記錄

    這篇文章主要介紹了SpringBoot和VUE源碼直接整合打包成jar的踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Java中驗(yàn)證 Mybatis 數(shù)據(jù)分片可以減輕GC壓力的操作方法

    Java中驗(yàn)證 Mybatis 數(shù)據(jù)分片可以減輕GC壓力的操作方法

    這篇文章主要介紹了Java中驗(yàn)證 Mybatis 數(shù)據(jù)分片可以減輕GC壓力的操作方法,本文使用 Spock(可集成Spring Boot項(xiàng)目) 編寫測試用例,基于 Groovy (JVM語言),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Java中工具Jstack的使用實(shí)例

    Java中工具Jstack的使用實(shí)例

    jstack用于生成java虛擬機(jī)當(dāng)前時刻的線程快照,下面這篇文章主要給大家介紹了關(guān)于Java中工具Jstack使用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • java高并發(fā)ScheduledThreadPoolExecutor類深度解析

    java高并發(fā)ScheduledThreadPoolExecutor類深度解析

    這篇文章主要為大家介紹了java高并發(fā)ScheduledThreadPoolExecutor類源碼深度解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評論

肇东市| 龙门县| 南木林县| 通许县| 墨玉县| 广南县| 永安市| 昂仁县| 南平市| 喜德县| 本溪市| 郓城县| 汾阳市| 砀山县| 印江| 上蔡县| 无锡市| 水城县| 元江| 衡水市| 盘锦市| 上杭县| 东平县| 广州市| 宜宾市| 桂林市| 中山市| 延川县| 昭通市| 大关县| 蓝山县| 安丘市| 慈溪市| 沽源县| 拉萨市| 香河县| 玉龙| 六盘水市| 庆阳市| 潮安县| 德州市|