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

SpringMVC中redirect重定向(帶參數(shù))的3種方式

 更新時(shí)間:2024年07月12日 11:25:04   作者:一勺菠蘿丶  
Spring MVC中做form表單功能提交時(shí),防止用戶(hù)客戶(hù)端后退或者刷新時(shí)重復(fù)提交問(wèn)題,需要在服務(wù)端進(jìn)行重定向跳轉(zhuǎn),本文主要介紹了SpringMVC中redirect重定向(帶參數(shù))的3種方式,感興趣的可以了解一下

Spring MVC中做form表單功能提交時(shí),防止用戶(hù)客戶(hù)端后退或者刷新時(shí)重復(fù)提交問(wèn)題,需要在服務(wù)端進(jìn)行重定向跳轉(zhuǎn),其中redirect是直接跳轉(zhuǎn)到其他頁(yè)面,有以下3種方法進(jìn)行重定向。

redirect重定向流程

客戶(hù)發(fā)送一個(gè)請(qǐng)求到服務(wù)器,服務(wù)器匹配servlet,這都和請(qǐng)求轉(zhuǎn)發(fā)一樣,servlet處理完之后調(diào)用了sendRedirect()這個(gè)方法,這個(gè)方法是response的方法,所以,當(dāng)這個(gè)servlet處理完之后,看到response.senRedirect()方法,立即向客戶(hù)端返回這個(gè)響應(yīng),響應(yīng)行告訴客戶(hù)端你必須要再發(fā)送一個(gè)請(qǐng)求,去訪(fǎng)問(wèn)test.jsp,緊接著客戶(hù)端受到這個(gè)請(qǐng)求后,立刻發(fā)出一個(gè)新的請(qǐng)求,去請(qǐng)求test.jsp,這里兩個(gè)請(qǐng)求互不干擾,相互獨(dú)立,在前面request里面setAttribute()的任何東西,在后面的request里面都獲得不了。可見(jiàn),在sendRedirect()里面是兩個(gè)請(qǐng)求,兩個(gè)響應(yīng)。

1. response.sendRedirect重定向跳轉(zhuǎn)

@RequestMapping(value="/testredirect",method = { RequestMethod.POST, RequestMethod.GET })  
public ModelAndView testredirect(HttpServletResponse response){  
    response.sendRedirect("/index");
    return null; 
}

2. ViewResolver直接跳轉(zhuǎn)

不帶參數(shù)

@RequestMapping(value="/testredirect",method = { RequestMethod.POST, RequestMethod.GET })  
public  String testredirect(HttpServletResponse response){  
    return "redirect:/index";  
} 

帶參數(shù)

@RequestMapping("/testredirect")
public String testredirect(Model model, RedirectAttributes attr) {
	attr.addAttribute("test", "51gjie");//跳轉(zhuǎn)地址帶上test參數(shù)
    attr.addFlashAttribute("u2", "51gjie");//跳轉(zhuǎn)地址不帶上u2參數(shù)
	return "redirect:/user/users";
}
  • 使用RedirectAttributes的addAttribute方法傳遞參數(shù)會(huì)跟隨在URL后面,如上代碼即為http:/index.action?test=51gjie
  • 使用addFlashAttribute不會(huì)跟隨在URL后面,會(huì)把該參數(shù)值暫時(shí)保存于session,待重定向url獲取該參數(shù)后從session中移除,這里的redirect必須是方法映射路徑,jsp無(wú)效。你會(huì)發(fā)現(xiàn)redirect后的jsp頁(yè)面中b只會(huì)出現(xiàn)一次,刷新后b再也不會(huì)出現(xiàn)了,這驗(yàn)證了上面說(shuō)的,b被訪(fǎng)問(wèn)后就會(huì)從session中移除。對(duì)于重復(fù)提交可以使用此來(lái)完成.
  • spring mvc設(shè)置下RequestMappingHandlerAdapter 的ignoreDefaultModelOnRedirect=true,這樣可以提高效率,避免不必要的檢索。

3. ModelAndView重定向

不帶參數(shù)

@RequestMapping(value="/restredirect",method = { RequestMethod.POST, RequestMethod.GET })  
public  ModelAndView restredirect(String userName){  
    ModelAndView  model = new ModelAndView("redirect:/main/index");    
    return model;  
}

帶參數(shù)

@RequestMapping(value="/toredirect",method = { RequestMethod.POST, RequestMethod.GET })  
public  ModelAndView toredirect(String userName){  
    ModelAndView  model = new ModelAndView("/main/index");   
    model.addObject("userName", userName);  //把userName參數(shù)帶入到controller的RedirectAttributes
    return model;  
}

4. 直接跳轉(zhuǎn)某網(wǎng)頁(yè)

import javax.servlet.http.HttpServletResponse;

HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
httpServletResponse.sendRedirect("http://srip.cpu.edu.cn/#/admins")

總結(jié)

1, redirect重定向可以跳轉(zhuǎn)到任意服務(wù)器,可以用在系統(tǒng)間的跳轉(zhuǎn)。
2, Spring MVC中redirect重定向,參數(shù)傳遞可以直接拼接url也可以使用RedirectAttributes來(lái)處理,由于是不同的請(qǐng)求,重定向傳遞的參數(shù)會(huì)在地址欄顯示,所以傳遞時(shí)要對(duì)中文編碼進(jìn)行處理。

到此這篇關(guān)于SpringMVC中redirect重定向(帶參數(shù))的3種方式的文章就介紹到這了,更多相關(guān)SpringMVC redirect重定向內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 集合框架(Collections Framework)詳解及代碼示例

    集合框架(Collections Framework)詳解及代碼示例

    這篇文章主要介紹了集合框架(Collections Framework)詳解及代碼示例,文章涉及集合數(shù)組的區(qū)別,collection接口,iterator迭代器,list接口及其用法,LinkedHashSet集合等有關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java實(shí)現(xiàn)按字節(jié)長(zhǎng)度截取字符串

    Java實(shí)現(xiàn)按字節(jié)長(zhǎng)度截取字符串

    在Java中,由于字符串可能包含多字節(jié)字符,直接按字節(jié)長(zhǎng)度截取可能會(huì)導(dǎo)致亂碼或截取不準(zhǔn)確的問(wèn)題,下面我們就來(lái)看看幾種按字節(jié)長(zhǎng)度截取字符串的方法吧
    2025-05-05
  • 聊聊java 過(guò)濾器、監(jiān)聽(tīng)器、攔截器的區(qū)別(終結(jié)篇)

    聊聊java 過(guò)濾器、監(jiān)聽(tīng)器、攔截器的區(qū)別(終結(jié)篇)

    這篇文章主要介紹了聊聊java 過(guò)濾器、監(jiān)聽(tīng)器、攔截器的區(qū)別(終結(jié)篇),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • macbook中springboot的jmeter壓測(cè)示例

    macbook中springboot的jmeter壓測(cè)示例

    這篇文章主要介紹了macbook中springboot的jmeter壓測(cè)示例詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-11-11
  • Mybatis如何構(gòu)建SQL語(yǔ)句

    Mybatis如何構(gòu)建SQL語(yǔ)句

    這篇文章主要介紹了Mybatis如何構(gòu)建SQL語(yǔ)句問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java中的四種單例模式淺析

    Java中的四種單例模式淺析

    這篇文章主要給大家介紹了關(guān)于Java中四種單例模式的相關(guān)資料,其中包括餓漢式、懶漢式、懶漢式(雙重鎖)及內(nèi)部類(lèi)等四種,分別給出了詳細(xì)的示例代碼和介紹,需要的朋友們下面來(lái)一起看看吧。
    2017-05-05
  • SpringBoot配置項(xiàng)目訪(fǎng)問(wèn)路徑URL的根路徑方式

    SpringBoot配置項(xiàng)目訪(fǎng)問(wèn)路徑URL的根路徑方式

    這篇文章主要介紹了SpringBoot配置項(xiàng)目訪(fǎng)問(wèn)路徑URL的根路徑方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java開(kāi)發(fā)推薦使用的JDK版本以及對(duì)比詳細(xì)分析

    Java開(kāi)發(fā)推薦使用的JDK版本以及對(duì)比詳細(xì)分析

    這篇文章詳細(xì)分析了JDK17和JDK21作為當(dāng)前推薦版本的優(yōu)缺點(diǎn),并對(duì)比了它們與JDK8和JDK11的差異,文中介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2025-04-04
  • Java Maven settings.xml中私有倉(cāng)庫(kù)配置詳解

    Java Maven settings.xml中私有倉(cāng)庫(kù)配置詳解

    這篇文章主要介紹了詳解Maven settings.xml配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • Java?IO流—異常及捕獲異常處理?try…catch…finally

    Java?IO流—異常及捕獲異常處理?try…catch…finally

    這篇文章主要介紹了Java?IO流—異常及捕獲異常處理?try…catch…finally,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論

桃园县| 陆丰市| 南阳市| 门源| 西乌珠穆沁旗| 汶川县| 黄龙县| 龙陵县| 厦门市| 沁水县| 本溪| 阜新市| 敦化市| 西昌市| 茂名市| 平塘县| 肥东县| 城固县| 惠东县| 仪征市| 瓦房店市| 鹤庆县| 玉树县| 哈密市| 吕梁市| 鞍山市| 新巴尔虎右旗| 龙山县| 甘洛县| 额济纳旗| 庆云县| 旬邑县| 铜鼓县| 佳木斯市| 万山特区| 苍南县| 新丰县| 水富县| 太康县| 绥阳县| 太和县|