SpringBoot 如何 返回页面

背景

@RestController = @ResponseBody + @Controller
@Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。

@Mapping + @ResponseBody 也会出现同样的问题。

解决办法

①去除@ResponseBody 或 将含有Rest的注解换成对应的原始注解;
②不通过String返回,通过ModelAndView对象返回,上述例子可将return语句换成return new ModelAndView("index")

在这里插入图片描述

前提

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>hello</title>
</head>
<body>
你好!初学者,我是SpringBoot的简单启动页面!
</body>
</html>

在这里插入图片描述

@Controller
public class HelloController {@RequestMapping("/map1")public String index() {return "index.html";}@RequestMapping("/map2")public String map2() {return "index2.html";}
}

在这里插入图片描述

不使用 模板引擎

访问的页面放在resources/static/,就可直接访问这个页面

http://localhost:8080/index.html  成功返回http://localhost:8080/map1        成功返回

访问的页面放在resources/templates/,禁止访问这个页面

http://localhost:8080/index2.html  404返回http://localhost:8080/map1         404返回

[Ref] SpringBoot如何返回页面

在这里插入图片描述

使用 模板引擎

使用 springmvc 配置

如果使用spring-boot-starter-parent,就无需引入依赖

spring:mvc:view:suffix: .htmlstatic-path-pattern: /**web:resources:static-locations: classpath:/templates/,classpath:/static/

在这里插入图片描述

http://localhost:8080/index.html    成功返回
http://localhost:8080/index.htm2    成功返回http://localhost:8080/map1    报404
http://localhost:8080/map2    报404
调用接口需要 redirect
@Controller
public class HelloController {@RequestMapping("/map1")public String index() {return "redirect:index.html";}@RequestMapping("/map2")public String map2() {return "redirect:index2.html";}
}
http://localhost:8080/index.html    成功返回
http://localhost:8080/index.htm2    成功返回http://localhost:8080/map1  成功返回
http://localhost:8080/map2  成功返回

使用Thymeleaf模板引擎

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId><version>2.1.6.RELEASE</version>
</dependency>
http://localhost:8080/index.html   成功返回
http://localhost:8080/index2.html  404返回
spring:thymeleaf:prefix: classpath:/static/suffix: .htmlcache: false #关闭缓存
但是缺点是智能配置一个,配置谁谁好用配置 prefix: classpath:/static/
http://localhost:8080/map1  成功返回
http://localhost:8080/map2  404返回配置 prefix: classpath:/templates/
http://localhost:8080/map1  404返回
http://localhost:8080/map2  成功返回

返回效果演示

成功返回

在这里插入图片描述

404返回

在这里插入图片描述

参考

SpringBoot如何返回页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/601563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

雅思词汇——Word List 2(V2)

文章目录 1. regional [ˈriːdʒənl]2. secure [sɪˈkjʊər]3. preserve [prɪˈzɜːrv]4. reject [rɪˈdʒɛkt]5. code [koʊd]6. seek [siːk]7. item [ˈaɪtəm]8. crown [kraʊn]9. effort [ˈɛfərt]10. point [pɔɪnt]11. review [rɪˈvjuː]12. fabrication …

明明白白安装Python解释器(多版本共存切换)、Python IDE:PyCharm(专业版永久)、透彻!

Python解释器安装 ———————— 解释器&#xff08;英语&#xff1a;Interpreter&#xff09;。用户可以到Python的官网上直接下载Python解释器安装程序。 在浏览器地址栏中输入&#xff1a; http://www.python.org 需要最新专业版PyCharm永久使用权限的扫码免费获取&a…

基于FFmpeg的短视频编辑工具Cut

前言 最近在学习FFmpeg和音视频的相关知识&#xff0c;为了加强对FFmpeg的认识和了解&#xff0c;于是撸了一个短视频编辑软件Cut。 效果图先行&#xff1a; 技术点 启动页优化 但启动app的时候会有一个短暂的黑屏或者白屏。为什么呢&#xff1f; 是因为在App启动时&#x…

智能分析网关V4在工业园区周界防范场景中的应用

一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;对…

分布式系统——共识问题

1. 分布式系统 1.1 分布式系统的概念 分布式系统是由多台计算机组成的网络&#xff0c;这些计算机共同协作以实现一个共同的目标。在这种环境中&#xff0c;每台计算机作为一个独立的进程运行。但对最终用户来说&#xff0c;它们似乎是作为一个单一系统在操作。这个概念对于创…

大学生搜题软件,未来可期吗?

作为一家专注于软件开发的公司《智创有术》&#xff0c;我们致力于为客户提供创新、高效和可靠的解决方案。通过多年的经验和专业知识&#xff0c;我们已经在行业内建立了良好的声誉&#xff0c;并赢得了客户的信任和支持。 支持各种源码&#xff0c;网站搭建&#xff0c;APP&a…

数字孪生在增强现实(AR)中的应用

数字孪生在增强现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;中的应用可以提供更丰富、交互性更强的现实世界增强体验。以下是数字孪生在AR中的一些应用&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff…

GBASE南大通用-Command 属性

GBASE南大通用CommandText 属性 获取或者设置要在数据源中执行的 SQL 语句&#xff0c;默认是空字符串。  语法 [Visual Basic] Public Overrides Property CommandText As String Get Set [C#] GBASE南大通用public override string CommandText { get; set; }  …

视频剪辑实战:如何批量嵌套合并视频,提高剪辑效率必备技巧

在视频剪辑工作中&#xff0c;经常要处理大量的视频片段。要提高工作效率&#xff0c;批量嵌套合并视频成为了一项必备技巧。现在一起看看云炫AI智剪如何使用一些实用的技巧&#xff0c;快速、准确地完成批量嵌套合并视频的任务。 合并后的视频截图&#xff0c;由两段不同片段组…

【STM32】STM32学习笔记-DMA直接存储器存储(23)

00. 目录 文章目录 00. 目录01. DMA简介02. DMA主要特性03. 存储器映像04. DMA框图05. DMA基本结构06. DMA请求07. 数据宽度与对齐08. 数据转运DMA09. ADC扫描模式DMA10. 附录 01. DMA简介 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F…

解决Gitlab Prometheus导致的磁盘空间不足问题

解决Gitlab Prometheus导致的磁盘空间不足问题 用docker搭建了一个gitlab服务&#xff0c;已经建立了多个项目上传&#xff0c;但是突然有一天就503了。 df -TH查看系统盘&#xff0c;发现已经Used 100%爆满了。。。 &#x1f4a1;Tips&#xff1a;/dev/vda1目录是系统盘目录。…

AntV L7 实现地图功能(高德)

一、 使用前的准备 首先&#xff0c;注册开发者账号&#xff0c;成为高德开放平台开发者 登陆之后&#xff0c;在进入「应用管理」 页面「创建新应用」 为应用添加 Key&#xff0c;「服务平台」一项请选择「 Web 端 ( JSAPI ) 」 二、安装依赖 // 安装L7 依赖 npm install…

【AI】WSL安装Anaconda

书接上篇&#xff0c;我们构建了wsl的CUDA环境&#xff0c;还有python环境没有搭建&#xff0c;这里我们就安装Anaconda来进行搭建python环境。 0.下载Anaconda安装包 这里有两个方式&#xff0c;一是直接在wsl中执行wget命令下载&#xff0c;这种方式没什么好说的&#xff0…

数据预处理 虚战1

import pandas as pd import numpy as npdf pd.read_csv(diabetes.csv)def preprocess(df):print(----------------------------------------------)print("Before preprocessing")print("Number of rows with 0 values for each variable")#遍历每一列fo…

2024年【危险化学品生产单位主要负责人】复审模拟考试及危险化学品生产单位主要负责人作业模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年危险化学品生产单位主要负责人复审模拟考试为正在备考危险化学品生产单位主要负责人操作证的学员准备的理论考试专题&#xff0c;每个月更新的危险化学品生产单位主要负责人作业模拟考试祝您顺利通过危险化学品…

深度学习 Day23——J3DenseNet算法实战与解析

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 文章目录 前言1 我的环境2 pytorch实现DenseNet算法2.1 前期准备2.1.1 引入库2.1.2 设…

C++学习笔记(二十六):c++ 复制与拷贝构造函数

本节介绍拷贝构造函数。当我们复制数据或对象是一般情况下我们会有两个副本。但当我们仅需要读取数据或者修改一个已经存在的对象时&#xff0c;我们不想去复制一份副本&#xff0c;这样会造成性能的损耗。理解什么时候复制&#xff0c;什么时候不需要复制对提升程序的性能有较…

数据库服务器如何处理并发访问请求?

在当今的数字化时代&#xff0c;并发访问请求的处理已成为数据库服务器的重要挑战之一。随着应用程序和互联网的普及&#xff0c;数据库服务器需要处理来自大量用户和设备的并发访问请求&#xff0c;这对其性能和可扩展性提出了更高的要求。本文将探讨数据库服务器如何处理并发…

flutter 使用adb 同时连接 多个模拟器

MUMU模拟器 MuMu模拟器官网_安卓12模拟器_网易手游模拟器 传统只需要 连接一个 默认命令是 默认端口是7555 adb connect 127.0.0.1:7555 但是需要同时连接调试多个模拟器的时候 就需要连接多个 这里可以使用自带的多开 多开后 使用 1 是对应多开的序号 这样就可以查看对…

我是谁 whoami

文章目录 我是谁 whoami更多信息 我是谁 whoami 我知道你是谁&#xff0c;但我不知道我是谁&#xff0c;此时whoami可以帮助你&#xff0c;哈哈。 whoami将打印当前用户的名字。与id -un类似。 官方定义为&#xff1a; whoami - print effective userid 用法为&#xff1a; …