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

淺談Springmvc中的頁(yè)面跳轉(zhuǎn)問(wèn)題

 更新時(shí)間:2017年12月06日 10:22:26   作者:昨天的你,現(xiàn)在的未來(lái)  
這篇文章主要介紹了淺談Springmvc中的頁(yè)面跳轉(zhuǎn)問(wèn)題,具有一定參考價(jià)值,需要的朋友可以了解下。

SpringMvc跳轉(zhuǎn)問(wèn)題

SpringMvc的Controller每次處理完數(shù)據(jù)后都會(huì)返回一個(gè)邏輯視圖(view)和模型(model)

所以我們會(huì)看到原生的Controller是返回一個(gè)ModelAndView(內(nèi)部包含了view和model)。

正常情況下(除非被@ModelAttribute注解了的方法),否則最終都會(huì)返回ModelAndView。

當(dāng)然有時(shí)候一個(gè)功能處理方法不一定要返回一個(gè)邏輯視圖,也可以重定向到另一個(gè)功能方法

服務(wù)器內(nèi)部轉(zhuǎn)發(fā)到一個(gè)邏輯視圖或者另一個(gè)功能方法。

---

SpringMvc的強(qiáng)大之處在于它封裝了Servlet大量底層代碼,但是有沒(méi)有完全屏蔽用戶(hù)對(duì)ServletAPI

的使用。所以SpringMvc中頁(yè)面跳轉(zhuǎn)也是分為兩大類(lèi):

使用ServletAPI實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)

重定向方式:由于重定向的本質(zhì)是要求瀏覽器重新發(fā)送一個(gè)請(qǐng)求,SpringMvc里面的頁(yè)面一般是放到WEB-INF下,瀏覽器不可以直接訪問(wèn))

所以這里的重定向?qū)嵸|(zhì)是重定向到另一個(gè)功能方法。

服務(wù)器內(nèi)部請(qǐng)求轉(zhuǎn)發(fā):請(qǐng)求轉(zhuǎn)發(fā)為服務(wù)器內(nèi)部行為,所以可以直接跳轉(zhuǎn)訪問(wèn)一個(gè)jsp頁(yè)面也可以跳轉(zhuǎn)到另一個(gè)功能處理方法。

```text

//使用原生的ServletApi進(jìn)行頁(yè)面跳轉(zhuǎn)
@RequestMapping("/c")
public String test(HttpServletResponse response, HttpServletRequest request) throws ServletException, IOException {
System.out.println("testC");
//跳轉(zhuǎn)到服務(wù)器內(nèi)部的一個(gè)頁(yè)面
//request.getRequestDispatcher("/WEB-INF/jsp/index.jsp").forward(request,response);
  //跳轉(zhuǎn)到服務(wù)器內(nèi)部的一個(gè)功能處理方法
  //request.getRequestDispatcher("/dispather/b").forward(request,response);
  //重定向一個(gè)功能方法
  response.sendRedirect(request.getContextPath()+"/dispather/b");
  return null;
 }

使用SpringMvc的API實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)

直接返回邏輯視圖名

text @RequestMapping("/b") public String testB(){ System.out.println("testB"); //直接返回一個(gè)視圖 return "index"; }

返回自定義的ModelAndView:自定義ModelAndView時(shí),可以重定向或請(qǐng)求轉(zhuǎn)發(fā)

```text

//Controller中使用ModelAndView進(jìn)行跳轉(zhuǎn)和重定向
@RequestMapping("/e")
public ModelAndView testE(){
System.out.println("testE");
//跳轉(zhuǎn)到服務(wù)器內(nèi)部的一個(gè)頁(yè)面
//return "index";
 //跳轉(zhuǎn)到服務(wù)器內(nèi)部的一個(gè)功能處理方法
 //return new ModelAndView("forward:/dispather/b");
 //重定向一個(gè)功能方法
 return new ModelAndView("redirect:/dispather/b");
}

總結(jié)

以上就是本文關(guān)于淺談Springmvc中的頁(yè)面跳轉(zhuǎn)問(wèn)題的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

參考:

Java編程實(shí)現(xiàn)springMVC簡(jiǎn)單登錄實(shí)例

SpringMVC攔截器實(shí)現(xiàn)單點(diǎn)登錄

springmvc Rest風(fēng)格介紹及實(shí)現(xiàn)代碼示例

相關(guān)文章

  • java8新特性教程之time包使用總結(jié)

    java8新特性教程之time包使用總結(jié)

    Java8新增了date和time的util包,下面這篇文章主要給大家介紹了關(guān)于java8新特性教程之time包使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • JSR303校驗(yàn)前端傳遞的數(shù)據(jù)方式

    JSR303校驗(yàn)前端傳遞的數(shù)據(jù)方式

    這篇文章主要介紹了JSR303校驗(yàn)前端傳遞的數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Mybatis全面分頁(yè)插件

    Mybatis全面分頁(yè)插件

    這篇文章主要為大家詳細(xì)介紹了Mybatis全面分頁(yè)插件的使用方法,比較適用于在分頁(yè)時(shí)候進(jìn)行攔截,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 詳解Java的Proxy動(dòng)態(tài)代理機(jī)制

    詳解Java的Proxy動(dòng)態(tài)代理機(jī)制

    Java有兩種代理方式,一種是靜態(tài)代理,另一種是動(dòng)態(tài)代理。對(duì)于靜態(tài)代理,其實(shí)就是通過(guò)依賴(lài)注入,對(duì)對(duì)象進(jìn)行封裝,不讓外部知道實(shí)現(xiàn)的細(xì)節(jié)。很多 API 就是通過(guò)這種形式來(lái)封裝的
    2021-06-06
  • SpringBoot整合Mybatis,解決TypeAliases配置失敗的問(wèn)題

    SpringBoot整合Mybatis,解決TypeAliases配置失敗的問(wèn)題

    這篇文章主要介紹了SpringBoot整合Mybatis,解決TypeAliases配置失敗的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java集合排序規(guī)則接口Comparator用法解析

    Java集合排序規(guī)則接口Comparator用法解析

    這篇文章主要介紹了Java集合排序規(guī)則接口Comparator用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • spring AOP的Around增強(qiáng)實(shí)現(xiàn)方法分析

    spring AOP的Around增強(qiáng)實(shí)現(xiàn)方法分析

    這篇文章主要介紹了spring AOP的Around增強(qiáng)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了spring面向切面AOP的Around增強(qiáng)具體步驟與相關(guān)操作方法,需要的朋友可以參考下
    2020-01-01
  • 詳解Java中字符流與字節(jié)流的區(qū)別

    詳解Java中字符流與字節(jié)流的區(qū)別

    這篇文章主要介紹了詳解Java中字符流與字節(jié)流的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Spring?Cloud?+?Nacos?+?Seata整合過(guò)程(分布式事務(wù)解決方案)

    Spring?Cloud?+?Nacos?+?Seata整合過(guò)程(分布式事務(wù)解決方案)

    Seata 是一款開(kāi)源的分布式事務(wù)解決方案,致力于在微服務(wù)架構(gòu)下提供高性能和簡(jiǎn)單易用的分布式事務(wù)服務(wù),這篇文章主要介紹了Spring?Cloud?+?Nacos?+?Seata整合過(guò)程(分布式事務(wù)解決方案),需要的朋友可以參考下
    2022-03-03
  • Mybatis自定義TypeHandler解決特殊類(lèi)型轉(zhuǎn)換問(wèn)題詳解

    Mybatis自定義TypeHandler解決特殊類(lèi)型轉(zhuǎn)換問(wèn)題詳解

    這篇文章主要介紹了Mybatis自定義TypeHandler解決特殊類(lèi)型轉(zhuǎn)換問(wèn)題詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評(píng)論

锡林浩特市| 株洲县| 建宁县| 永吉县| 东山县| 腾冲县| 镇宁| 宁晋县| 响水县| 太谷县| 北海市| 永兴县| 金华市| 睢宁县| 道真| 江川县| 元谋县| 六盘水市| 曲麻莱县| 泾川县| 十堰市| 巴马| 汉川市| 南和县| 日喀则市| 潮安县| 西丰县| 连平县| 和林格尔县| 广丰县| 平泉县| 随州市| 盈江县| 海阳市| 布拖县| 古交市| 义马市| 华阴市| 邢台县| 镇江市| 广昌县|