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

使用springboot跳轉(zhuǎn)到指定頁面和(重定向,請求轉(zhuǎn)發(fā)的實例)

 更新時間:2021年12月17日 10:50:38   作者:健康平安的活著  
這篇文章主要介紹了使用springboot跳轉(zhuǎn)到指定頁面和(重定向,請求轉(zhuǎn)發(fā)的實例),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

springboot跳轉(zhuǎn)到指定頁面

controller的寫法

必須是templates下面的頁面,不經(jīng)過配置,無法直接跳轉(zhuǎn)到public,static,等目錄下的頁面

package com.ljf.spring.boot.demo.controller; 
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
/**
 * @ClassName: UserController
 * @Description: TODO
 * @Author: liujianfu
 * @Date: 2021/04/01 10:26:05 
 * @Version: V1.0
 **/
@Controller
public class UserController {
    @RequestMapping("/api/show")
    public String showName(String userName,Model model){
        System.out.println("進(jìn)入controller層了!!!"+userName);
         model.addAttribute("name",userName);
        return "index";//跳轉(zhuǎn)到指定頁面
    } 
}

springboot重定向和請求轉(zhuǎn)發(fā)

springboot重定向

方式一:使用 "redirect" 關(guān)鍵字(不是指java關(guān)鍵字),注意:類的注解不能使用@RestController,要用@Controller;因為@RestController內(nèi)含@ResponseBody,解析返回的是json串。不是跳轉(zhuǎn)頁面

@RequestMapping(value="/test/test01/{name}" , method = RequestMethod.GET)
public String test(@PathVariable String name) {
  return "redirect:/ceng/hello.html";
}

方式二:使用servlet 提供的API,注意:類的注解可以使用@RestController,也可以使用@Controller

@RequestMapping(value="/test/test01/{name}" , method = RequestMethod.GET)
public void test(@PathVariable String name, HttpServletResponse response) throws IOException {
  response.sendRedirect("/ceng/hello.html");
}

springboot的請求轉(zhuǎn)發(fā)

方式一:使用 "forword" 關(guān)鍵字(不是指java關(guān)鍵字),注意:類的注解不能使用@RestController 要用@Controller

@RequestMapping(value="/test/test01/{name}" , method = RequestMethod.GET)
public String test(@PathVariable String name) {
  return "forword:/ceng/hello.html";
  }

方式二:使用servlet 提供的API,注意:類的注解可以使用@RestController,也可以使用@Controller

@RequestMapping(value="/test/test01/{name}" , method = RequestMethod.GET)
public void test(@PathVariable String name, HttpServletRequest request, HttpServletResponse response) throws Exception {
  request.getRequestDispatcher("/ceng/hello.html").forward(request,response);
}

springboot轉(zhuǎn)發(fā)和重定向

springmvc重定向?qū)懛?/h3>
@RequestMapping(“/test1”)
public String test1(){
return “index”;
}

轉(zhuǎn)發(fā)是不需要手動加html的,此時springboot發(fā)現(xiàn)是轉(zhuǎn)發(fā),默認(rèn)配置下他會自動去templates文件夾下找到對應(yīng)的文件進(jìn)行轉(zhuǎn)發(fā),如果return后寫的是index.html會報404。

重定向

@RequestMapping(“/test2”)
public String test2(){
return “redirect:index1.html”;
}

首先,添加redirect:這個毋庸置疑是mvc的語法問題,其次這里需要注意的是需要手動添加.html,否則會報404

轉(zhuǎn)發(fā)的特點

地址欄不發(fā)生變化,顯示的是上一個頁面的地址

請求次數(shù):只有1次請求

根目錄:http://localhost:8080/項目地址/,包含了項目的訪問地址

請求域中數(shù)據(jù)不會丟失

在這里插入圖片描述

重定向的特點

地址欄:顯示新的地址

請求次數(shù):2次

根目錄:http://localhost:8080/ 沒有項目的名字

請求域中的數(shù)據(jù)會丟失,因為是2次請求

疑問

問:什么時候使用轉(zhuǎn)發(fā),什么時候使用重定向?

如果要保留請求域中的數(shù)據(jù),使用轉(zhuǎn)發(fā),否則使用重定向。

以后訪問數(shù)據(jù)庫,增刪改使用重定向,查詢使用轉(zhuǎn)發(fā)。

問:轉(zhuǎn)發(fā)或重定向后續(xù)的代碼是否還會運(yùn)行?

無論轉(zhuǎn)發(fā)或重定向后續(xù)的代碼都會執(zhí)行

在這里插入圖片描述

1、轉(zhuǎn)發(fā)使用的是getRequestDispatcher()方法;重定向使用的是sendRedirect();

2、轉(zhuǎn)發(fā):瀏覽器URL的地址欄不變。重定向:瀏覽器URL的地址欄改變;

3、轉(zhuǎn)發(fā)是服務(wù)器行為,重定向是客戶端行為;

4、轉(zhuǎn)發(fā)是瀏覽器只做了一次訪問請求。重定向是瀏覽器做了至少兩次的訪問請求;

5、轉(zhuǎn)發(fā)2次跳轉(zhuǎn)之間傳輸?shù)男畔⒉粫G失,重定向2次跳轉(zhuǎn)之間傳輸?shù)男畔G失(request范圍)。

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

相關(guān)文章

  • Spring如何使用三級緩存解決循環(huán)依賴

    Spring如何使用三級緩存解決循環(huán)依賴

    在Spring框架中,循環(huán)依賴是指兩個或多個Bean相互依賴,形成閉環(huán),導(dǎo)致無法完成初始化,此問題僅存在于單例Bean中,而原型Bean會拋出異常,Spring通過三級緩存及提前暴露策略解決循環(huán)依賴:一級緩存存放完全初始化的Bean
    2024-11-11
  • Maven之遠(yuǎn)程倉庫的配置詳解

    Maven之遠(yuǎn)程倉庫的配置詳解

    這篇文章主要介紹了Maven之遠(yuǎn)程倉庫的配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Spring Cloud Zuul路由規(guī)則動態(tài)更新解析

    Spring Cloud Zuul路由規(guī)則動態(tài)更新解析

    這篇文章主要介紹了Spring Cloud Zuul路由規(guī)則動態(tài)更新解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • 詳解JavaWeb如何實現(xiàn)文件上傳和下載功能

    詳解JavaWeb如何實現(xiàn)文件上傳和下載功能

    這篇文章主要介紹了如何利用JavaWeb實現(xiàn)文件的上傳和下載功能,文中的示例代碼講解詳細(xì),對我們的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下
    2021-12-12
  • Debian配置JDK1.7 與Linux Java Helloworld

    Debian配置JDK1.7 與Linux Java Helloworld

    這篇文章主要介紹了Debian配置JDK1.7 與Linux Java Helloworld 的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • VMware虛擬機(jī)下hadoop1.x的安裝方法

    VMware虛擬機(jī)下hadoop1.x的安裝方法

    這篇文章主要為大家詳細(xì)介紹了VMware虛擬機(jī)下hadoop1.x的安裝方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 調(diào)用java.lang.Runtime.exec的正確姿勢分享

    調(diào)用java.lang.Runtime.exec的正確姿勢分享

    這篇文章主要介紹了調(diào)用java.lang.Runtime.exec的正確姿勢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 一篇文章帶你搞定SpringBoot不重啟項目實現(xiàn)修改靜態(tài)資源

    一篇文章帶你搞定SpringBoot不重啟項目實現(xiàn)修改靜態(tài)資源

    這篇文章主要介紹了一篇文章帶你搞定SpringBoot不重啟項目實現(xiàn)修改靜態(tài)資源,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 深入淺析java中finally的用法

    深入淺析java中finally的用法

    finally自己由關(guān)鍵字finally和后面的finally塊組成。這篇文章重點給大家介紹java中finally的用法,需要的朋友參考下吧
    2018-06-06
  • application作用域?qū)崿F(xiàn)用戶登錄擠掉之前登錄用戶代碼

    application作用域?qū)崿F(xiàn)用戶登錄擠掉之前登錄用戶代碼

    這篇文章主要介紹了application作用域?qū)崿F(xiàn)用戶登錄擠掉之前登錄用戶代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11

最新評論

姚安县| 深泽县| 石柱| 洛扎县| 四平市| 镇远县| 布尔津县| 郧西县| 改则县| 克拉玛依市| 洛阳市| 鱼台县| 葫芦岛市| 盱眙县| 南京市| 桐乡市| 广灵县| 兴城市| 卢湾区| 大宁县| 苍梧县| 清徐县| 化隆| 申扎县| 中方县| 衡水市| 惠州市| 镶黄旗| 渝中区| 凤阳县| 定襄县| 资兴市| 历史| 琼结县| 嘉义市| 元朗区| 吴堡县| 聂拉木县| 道孚县| 芒康县| 徐水县|