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

SpringBoot 轉(zhuǎn)發(fā)請求至指定頁面的操作方法

 更新時間:2022年11月02日 14:15:36   作者:PkyShare  
這篇文章主要介紹了SpringBoot 轉(zhuǎn)發(fā)請求至指定頁面,需要使用@Controller,不可使用@RestController,@RestController相當于@Controller和@ResponseBody合在一起的作用,本文通過實例代碼詳細講解,需要的朋友可以參考下

1、前言

  原先的頁面訪問地址為:http://127.0.0.1:8888/office/schdule/index/,
重構(gòu)項目,SpringBoot 項目,前后分離,前端文件放置靜態(tài)目錄(static)下,訪問地址:http://127.0.0.1:8888/office/schdule/index.html??梢钥闯?,原先是請求接口進行轉(zhuǎn)發(fā)到指定頁面的,而現(xiàn)在是直接訪問靜態(tài)文件,為了能兼容原先訪問地址,則需對請求進行轉(zhuǎn)發(fā)處理。

2、多種方式嘗試

2.1 redirect、forward關(guān)鍵字(不是 Java 關(guān)鍵字)

/**
 * 跳轉(zhuǎn)控制器
 * @author pky
 */
@Controller
public class JumpController extends BaseResultController {

    /**
     * 跳轉(zhuǎn)主頁
     * @return 要轉(zhuǎn)發(fā)的頁面地址
     */
    @GetMapping("html/index")
    public String forwordIndexHtml() {
        return "forword:/schdule/index.html";
    }
        /**
     * 跳轉(zhuǎn)主頁
     * @return 要重定向的頁面地址
     */
    @GetMapping("html/index")
    public String redirectIndexHtml() {
        return "redirect:/schdule/index.html";
    }
}

注意:需要使用@Controller,不可使用@RestController
@RestController相當于@Controller@ResponseBody合在一起的作用,如果使用@RestController注解Controller層的話,則返回的是return里面的內(nèi)容,無法返回到指定的頁面,配置的視圖解析器InternalResourceViewResolver也就自然沒有作用了。

  然而,上述代碼報了Cannot resolve MVC View ‘forword:/schdule/index.html’無法解析視圖的錯誤。

2.2 重寫 WebMvcConfigurer 接口中的方法

  創(chuàng)建 WebConfig 類實現(xiàn) WebMvcConfigurer 接口,重寫 addViewControllers 方法。如下代碼:

import org.springframework.boot.SpringBootConfiguration;
import org.springframework.web.servlet.config.annotation.*;

/**
 * Web 配置類
 *
 * @author pky
 */
@SpringBootConfiguration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        // 設(shè)置訪問相對路徑及其對應(yīng)的 HTML 文件的相對路徑(相對于靜態(tài)目錄)
        registry.addViewController("html/index").setViewName("schdule/index.html");
    }
}

  依然還是報了Cannot resolve MVC View ‘forword:/schdule/index.html’無法解析視圖的錯誤。

2.3 引入 thymeleaf

  以上的錯誤是因為沒有使用模板引擎,無法識別靜態(tài)頁面。

pom.xml

   <!--    模板引擎   -->
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-thymeleaf</artifactId>
   </dependency>

applicaiton.properties

server.servlet.context-path=/office/
server.port=10000
# 靜態(tài)資源路徑
spring.resources.static-locations=classpath:/static/, classpath:/templates/

  值得注意的是,SpringBoot 默認的靜態(tài)目錄是resources下的 static,引入thymeleaf模板引擎后,還是無法識別static下的文件,只能識別templates下的文件。因此applicaiton.properties需配置templates資源路徑地址,如下圖index.html路徑:

在這里插入圖片描述

修改 Controller

  去掉forword redirect關(guān)鍵字,直接寫需跳轉(zhuǎn)的地址。

/**
 * 跳轉(zhuǎn)控制器
 * @author pky
 */
@Controller
public class JumpController extends BaseResultController {

    /**
     * 跳轉(zhuǎn)主頁(使用template模板引擎)
     * @return 要轉(zhuǎn)發(fā)到指定頁面的相對地址(相對于 templates)
     */
    @GetMapping("html/index")
    public String forwordIndexHtml() {
        return "schdule/index.html";
    }
}

另外,引入了引入thymeleaf模板引擎后,上述addViewControllers(ViewControllerRegistry registry)方法也能在 IDEA 中正常跳轉(zhuǎn)到指定地址,但是運行時,卻總是報找不到靜態(tài)文件,無論怎么修改路徑都不行。具體原因不明,因此不采用。

3、最終效果

http://127.0.0.1:8888/office/schdule/index/

在這里插入圖片描述

http://127.0.0.1:8888/office/schdule/index.html

在這里插入圖片描述

到此這篇關(guān)于SpringBoot 轉(zhuǎn)發(fā)請求至指定頁面的文章就介紹到這了,更多相關(guān)SpringBoot 轉(zhuǎn)發(fā)請求至指定頁面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Boot 異步框架的使用詳解

    Spring Boot 異步框架的使用詳解

    這篇文章主要介紹了Spring Boot 異步框架的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Guava范圍類Range方法實例深入解析

    Guava范圍類Range方法實例深入解析

    這篇文章主要為大家介紹了Guava范圍類Range方法實例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 深入理解 Java 中的 Switch 語句示例詳解

    深入理解 Java 中的 Switch 語句示例詳解

    在Java編程中,switch語句通過表達式值來執(zhí)行不同代碼塊,本文介紹switch語法、案例、注意事項,以及與if語句的對比,包括基本語法、關(guān)鍵字、表達式、case常量、break和default的使用,以及如何根據(jù)輸入的字符輸出星期、大小寫轉(zhuǎn)換、成績判斷和季節(jié)判斷等實際應(yīng)用場景
    2024-10-10
  • Java JConsole遠程連接配置案例詳解

    Java JConsole遠程連接配置案例詳解

    這篇文章主要介紹了Java JConsole遠程連接配置案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java高級之HashMap中的entrySet()方法使用

    Java高級之HashMap中的entrySet()方法使用

    這篇文章主要介紹了Java高級之HashMap中的entrySet()方法使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring Boot中l(wèi)ombok的安裝與使用詳解

    Spring Boot中l(wèi)ombok的安裝與使用詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot中l(wèi)ombok安裝與使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • SpringBoot整合Javamail實現(xiàn)郵件發(fā)送功能

    SpringBoot整合Javamail實現(xiàn)郵件發(fā)送功能

    郵件發(fā)送是一個很普遍的功能,springboot整合了相關(guān)的starter,本文給大家介紹了可以實現(xiàn)一個簡單的郵件發(fā)送功能的實例,文中通過代碼給大家介紹的非常詳細,感興趣的朋友可以參考下
    2023-12-12
  • SpringBoot開發(fā)案例之打造私有云網(wǎng)盤的實現(xiàn)

    SpringBoot開發(fā)案例之打造私有云網(wǎng)盤的實現(xiàn)

    這篇文章主要介紹了SpringBoot開發(fā)案例之打造私有云網(wǎng)盤的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Spring詳解使用注解開發(fā)流程

    Spring詳解使用注解開發(fā)流程

    這篇文章主要為大家詳細介紹了Spring如何使用注解開發(fā),文中的示例代碼講解詳細,對我們學習或工作有一定幫助,需要的可以參考一下
    2022-05-05
  • springboot多模塊項目mvn打包遇到存在依賴但卻無法發(fā)現(xiàn)符號問題

    springboot多模塊項目mvn打包遇到存在依賴但卻無法發(fā)現(xiàn)符號問題

    在SpringBoot多模塊項目中,如果遇到依賴存在但無法發(fā)現(xiàn)符號的問題,常見原因可能是pom.xml配置問題,例如,如果某個模塊僅作為依賴而不是啟動工程,不應(yīng)在其pom中配置spring-boot-maven-plugin插件,因為這將影響jar包的生成方式
    2024-09-09

最新評論

剑阁县| 抚松县| 项城市| 江孜县| 旅游| 长岭县| 崇明县| 辽源市| 阳高县| 屏东市| 商南县| 绵阳市| 泰安市| 宜都市| 涟源市| 宁都县| 盘锦市| 玉门市| 华坪县| 泰和县| 建德市| 兴海县| 会泽县| 诸城市| 罗城| 麻阳| 余干县| 皋兰县| 台前县| 昆山市| 和顺县| 镇雄县| 金坛市| 绵阳市| 新宾| 凤台县| 平谷区| 衡东县| 东乌| 新邵县| 平远县|