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

springmvc請(qǐng)求轉(zhuǎn)發(fā)和重定向問題(攜帶參數(shù)和不攜帶參數(shù))

 更新時(shí)間:2022年10月26日 10:23:48   作者:lxcoding  
這篇文章主要介紹了springmvc請(qǐng)求轉(zhuǎn)發(fā)和重定向問題(攜帶參數(shù)和不攜帶參數(shù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

請(qǐng)求轉(zhuǎn)發(fā)的三種方式

SpringMVC請(qǐng)求轉(zhuǎn)發(fā)區(qū)別于重定向,請(qǐng)求轉(zhuǎn)發(fā)地址欄不會(huì)發(fā)生改變、只發(fā)送一次請(qǐng)求、能攜帶原有的參數(shù),但只可以在同一個(gè)服務(wù)器中進(jìn)行轉(zhuǎn)發(fā)。

1、傳統(tǒng)的請(qǐng)求轉(zhuǎn)發(fā)

@RequestMapping("/forwardCommon")
public ?forwardCommon(HttpServletRequest request,HttpServletResponse response){
? request.getServletDispatcher("/WEBINF/pages/success.jsp").forward(request,response);
}

2、SpringMVC中不經(jīng)過視圖解析器的請(qǐng)求轉(zhuǎn)發(fā)

@RequestMapping("/forwardView")
public String forwardView(){
?? ?return "forward:/WEB_INF/pages/success.jsp";
}
@RequestMapping("/forwardView")
public String forwardView(){
?? ?ModelAndView mv=new ModelAndView();
? ? mv.setViewName("forward:/WEB_INF/pages/success.jsp");
}

3、請(qǐng)求轉(zhuǎn)發(fā)經(jīng)過視圖解析器

其實(shí)很多人并不知道經(jīng)過視圖解析器的路由轉(zhuǎn)發(fā)也是請(qǐng)求轉(zhuǎn)發(fā)

@RequestMapping("/shopmanagement")
private String shopManagement(Model model) {
?? ?return "shop/shopmanagement";
}
@RequestMapping("/shopmanagement")
private ModelAndView shopManagement(Model model) {
?? ?ModelAndView mv=new ModelAndView();
? ? mv.setViewName("shop/shopmanagement");//也是請(qǐng)求轉(zhuǎn)發(fā),會(huì)經(jīng)過視圖解析器
? ? return mv;
}

上面的請(qǐng)求轉(zhuǎn)發(fā)只要在瀏覽器地址欄中輸入localhost:8080/o2o/shopadmin/shopmanagement?shopId=53,就可以訪問shopmanagement.html這個(gè)頁(yè)面,并且我們可以嘗試在該頁(yè)面中引入一個(gè)js文件,試圖查看請(qǐng)求轉(zhuǎn)發(fā)后的地址。

$(function(){
?? ?var shopId=getQueryString("shopId");//獲取url中的參數(shù)
?? ?var url=window.location.href;//獲得請(qǐng)求url
})
function getQueryString(name){
?? ?var reg=new RegExp("(^|&)"+name+"=([^&]*)(&|$)");
?? ?var r=window.location.search.substr(1).match(reg);
?? ?if(r!=null){
?? ??? ?return decodeURIComponent(r[2]);
?? ?}
?? ?return null;
}

在這里插入圖片描述

我們可以發(fā)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)后的地址和第一次請(qǐng)求的地址一樣, 連地址后面攜帶的參數(shù)都一樣。所以請(qǐng)求轉(zhuǎn)發(fā)不僅可以在請(qǐng)求體中攜帶參數(shù)(POST請(qǐng)求),也可以在地址欄中攜帶參數(shù)(GET請(qǐng)求),最后都可以在轉(zhuǎn)發(fā)后的頁(yè)面中獲得該參數(shù)的值。

重定向

傳統(tǒng)的重定向請(qǐng)求地址會(huì)改變(兩次請(qǐng)求)、不能傳遞參數(shù),但是利用SpringMVC的重定向可以攜帶和傳遞參數(shù)。

重定向相比于請(qǐng)求轉(zhuǎn)發(fā)可以跨服,但是不能直接重定向訪問WEB-INF下的資源(可重定向后再進(jìn)行一次請(qǐng)求轉(zhuǎn)發(fā))。

1、傳統(tǒng)的重定向

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

2、SpringMVC中不帶參數(shù)的重定向

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

3、SpringMVC中帶參數(shù)的重定向

redirectAttributes.addAttributie("prama",value); 

這種方法相當(dāng)于在重定向鏈接地址上追加傳遞的參數(shù)

@RequestMapping("/test")
private String shopList(RedirectAttributes ra) {
?? ?ra.addAttribute("param", 1);
?? ?return "redirect:/shopadmin/shoplist";
}

//相當(dāng)于請(qǐng)求 http://localhost:8080/o2o/shopadmin/shoplist?param=1
redirectAttributes.addFlashAttributie("prama",value); 

這種方法是隱藏了參數(shù),鏈接地址上不直接暴露,用(@ModelAttribute(value = "prama")String prama)的方式獲取參數(shù)。

@RequestMapping("/test")
private String shopList(RedirectAttributes ra) {
?? ?ra.addFlashAttribute("param", 1);
?? ?return "redirect:/shopadmin/shoplist";
}

接收參數(shù)

@RequestMapping("/shoplist")
private String shopList(@ModelAttribute("param") String param) {
?? ?System.out.println(param);//輸出1
?? ?return "shop/shoplist";
}

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

相關(guān)文章

  • SpringCloud中的Feign詳解

    SpringCloud中的Feign詳解

    這篇文章主要介紹了SpringCloud中的Feign詳解,Feign是一個(gè)聲明式的Web Service客戶端,以Java接口注解的方式調(diào)用Http請(qǐng)求,同時(shí)Feign整合了Ribbon和Hystrix,實(shí)現(xiàn)負(fù)載均衡與容斷功能,需要的朋友可以參考下
    2023-09-09
  • SpringBoot JWT接口驗(yàn)證實(shí)現(xiàn)流程詳細(xì)介紹

    SpringBoot JWT接口驗(yàn)證實(shí)現(xiàn)流程詳細(xì)介紹

    這篇文章主要介紹了SpringBoot+JWT實(shí)現(xiàn)接口驗(yàn)證,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-09-09
  • 阿里云發(fā)布 Spring Boot 新腳手架工程

    阿里云發(fā)布 Spring Boot 新腳手架工程

    這篇文章主要介紹了阿里云發(fā)布 Spring Boot 新腳手架的相關(guān)資料,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,可以參考下
    2020-04-04
  • java 重載(overload)與重寫(override)詳解及實(shí)例

    java 重載(overload)與重寫(override)詳解及實(shí)例

    這篇文章主要介紹了java 重載(overload)與重寫(override)詳解及實(shí)例的相關(guān)資料,并附實(shí)例代碼,需要的朋友可以參考下
    2016-10-10
  • hibernate和mybatis對(duì)比分析

    hibernate和mybatis對(duì)比分析

    通過本文給分享了hibernate和mybatis對(duì)比分析,從開發(fā)對(duì)比,系統(tǒng)調(diào)優(yōu)對(duì)比,對(duì)象管理與抓取策略,緩存機(jī)制對(duì)比等方面給大家詳細(xì)介紹,需要的朋友參考下吧
    2017-09-09
  • Java中類加載過程全面解析

    Java中類加載過程全面解析

    這篇文章主要介紹了Java中類加載過程全面解析,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java實(shí)現(xiàn)九九乘法表的小例子

    Java實(shí)現(xiàn)九九乘法表的小例子

    九九乘法表一般為三角形,每個(gè)數(shù)分別和從1到自身的數(shù)相乘然后把結(jié)果列出來,即要用到兩層循環(huán),外層是從1到9for(i=1;i<=9;i++),內(nèi)層是當(dāng)前數(shù)和從1到自身相乘for(j=1;j<=i;j++)
    2013-09-09
  • 整理Java的MyBatis框架中一些重要的功能及基本使用示例

    整理Java的MyBatis框架中一些重要的功能及基本使用示例

    這篇文章主要介紹了Java的MyBatis框架中一些重要的功能及基本使用示例整理,MyBatis可以幫助Java程序進(jìn)行強(qiáng)大的數(shù)據(jù)庫(kù)操作,需要的朋友可以參考下
    2016-04-04
  • 關(guān)于Spring項(xiàng)目對(duì)JDBC的支持與基本使用詳解

    關(guān)于Spring項(xiàng)目對(duì)JDBC的支持與基本使用詳解

    這段時(shí)間一直在觀看Spring框架,所以下面這篇文章主要給大家介紹了關(guān)于Spring項(xiàng)目對(duì)JDBC的支持與基本使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Java?Rabbitmq中四種集群架構(gòu)的區(qū)別詳解

    Java?Rabbitmq中四種集群架構(gòu)的區(qū)別詳解

    這篇文章主要為大家詳細(xì)介紹了Java?Rabbitmq中四種集群架構(gòu)的區(qū)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02

最新評(píng)論

乌兰浩特市| 蒲江县| 若羌县| 昌平区| 奉新县| 西峡县| 吉林省| 金溪县| 建瓯市| 庆云县| 和平区| 永仁县| 襄樊市| 潮安县| 八宿县| 舞钢市| 桂阳县| 韶山市| 拉萨市| 米泉市| 乳山市| 若尔盖县| 宾阳县| 军事| 湖口县| 阿尔山市| 都兰县| 乌恰县| 沙洋县| 忻城县| 西平县| 商南县| 西乌珠穆沁旗| 满洲里市| 中阳县| 安岳县| 高碑店市| 凭祥市| 中卫市| 泰安市| 防城港市|