SpringBoot项目中访问HTML页面

news2024/12/23 19:18:15

在这种情况下,如果你要访问静态页面,肯定是不能正确访问的:会出现如下错误:

那么,此时,你应该:

静态资源映射:

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
    //设置静态资源映射
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
    }

}

创建Controller:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

import javax.servlet.http.HttpServletRequest;

@Controller
public class IndexController {

    @GetMapping({"", "/", "/index", "/index.html"})
    public String indexPage(HttpServletRequest request){
        return "index";
    }
}

重启项目:重新运行程序

当然,这个是仅仅能进入index.html页面,至于其他页面:比如,注册,登录:


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class BBSUserController {

    /**
     * 跳转到登录页面
     *
     * @return 返回登录页面的视图路径
     */
    @GetMapping({"/login", "/login.html"})
    public String loginPage() {
        return "user/login";
    }

    /**
     * 跳转到注册页面
     *
     * @return 返回注册页面的视图路径
     */
    @GetMapping({"/register", "/register.html"})
    public String registerPage() {
        return "user/reg";
    }
}

重启项目:重新运行程序

此时注册/登录页面便能够成功运行了!!

完美!

当然,本次情况仅供参考!

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

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

相关文章

2010-2024年别克维修手册和电路图线路接线图资料更新

经过整理,2010-2024年别克汽车全系列已经更新至汽修帮手资料库内,覆盖市面上99%车型,包括维修手册、电路图、新车特征、车身钣金维修数据、全车拆装、扭力、发动机大修、发动机正时、保养、电路图、针脚定义、模块传感器、保险丝盒图解对照表…

使用Java 将字节数组转成16进制的形式

概述 在很多场景下,需要进行分析字节数据,但是我们存起来的字节数据一般都是二进制的,这时候就需要我们将其转成16进制的方式方便分析。比如在做音视频的时候,需要看下我们传输的视频h264数据中是否有对应的I帧或者B帧等数据&…

【java程序设计期末复习】chapter2 基本数据类型与数组

基本数据类型与数组 一,标识符和关键字 标识符 定义 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符,简单地说,标识符就是一个名字 。 性质 (1)标识符由字母、下划线、美元符号和…

集合竞价选股策略实战测试

2.3.2版本发布的集合竞价选股策略是网友吴PSYP提供的,团队按照策略实现的选股算法,最近半个月对策略进行的实战测试,从集合竞价选股开始,到股票收盘,收盘价格大于集合竞价价格,算作盈利,测试结果…

贪心-ACW803区间合并-XMUOJ力量碎片合并

题目 思路 附上几个参考链接 for(auto i : v)遍历容器元素_for auto 遍历-CSDN博客 C pair的基本用法总结(整理)_c pair用法-CSDN博客 使用 sort 实现自定义排序 - AcWing 话不多说,直接上代码 代码 /* ACW803区间合并-XMUOJ力量碎片合…

Redis-事务

简介 说到事务,一般都会第一时间的想到MySQL的事务。 在MySQL中事务的提出是为了解决解决原子性操作的,一组执行命令要么全部执行成功,要么执行失败进行回滚,一条也不执行。 在Redis中也有事务这个概念,但与MySQL相…

基于Pytorch框架的深度学习EfficientNet神经网络香蕉水果成熟度识别分类系统源码

第一步:准备数据 4种香蕉水果成熟度数据:overripe,ripe,rotten,unripe(过熟、熟、烂、未成熟),总共有13474张图片,每个文件夹单独放一种成熟度数据 第二步:搭…

零基础小白可以做抖音电商吗?小白做电商难度大吗?一篇全解!

大家好,我是电商花花 在直播电商的热度越来越多,更多普通的创业者都对抖音小店电商有了想法,因为很多普通 人都通过抖音小店开店卖货赚到了钱,让更多人对抖店电商产生了兴趣。 于是做抖音小店无货源,开店卖货赚钱成为…

【软件推荐】obsidian设置

【软件推荐】obsidian设置 初始化 附件相对路径设置 打开obsidian 设置-文件与链接,找到下图的这几个设置。设置为如图所示。 插件推荐 实时渲染 你可能会想,obsidian的使用体验没有typora好呀! typora可以实时渲染,obsid…

用c++用4个凸函数(觉得啥好用用啥)去测试adam,rmsprop,adagrad算法的性能(谁先找到最优点)

为了测试 Adam、RMSProp 和 Adagrad 算法的性能,你可以使用四个凸函数进行实验。以下是一些常用的凸函数示例: Rosenbrock 函数: Booth 函数: Himmelblau 函数: Beale 函数: 你可以选择其中一个或多…

光线追踪技术在AI去衣中的革命性角色

引言: 随着人工智能和计算机图形学的飞速发展,AI去衣技术已经从理论走向实践,为影视制作、虚拟现实、在线试衣等领域提供了强大的技术支持。在这一过程中,光线追踪技术以其卓越的渲染能力和逼真的光影效果,成为AI去衣领…

C++开发面试常问总结

一些面试总结 TCP粘包了解吗?解决办法?讲一下乐观锁悲观锁git中 git pull和git fetch的区别1.虚函数实现机制:2.进程和线程的区别:3.TCP三次握手、四次挥手:4.HTTP状态码,报头:5.智能指针&#…

MySql基础(一)--最详细基础入门,看完就懂啦(辛苦整理,想要宝宝的赞和关注嘻嘻)

前言 希望你向太阳一样,有起有落,不失光彩~ 一、数据库概述 1. 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改&…

【Django项目】 音乐网站spotify复刻

代码:https://github.com/tomitokko/spotify-clone 注:该项目不是自己提供mp3文件,而是使用spotify 的api接口获取。

奇舞周刊第529期:万字长文入门前端全球化

周五快乐(图片由midjourney生成) 奇舞推荐 ■ ■ ■ 万字长文入门前端全球化 目前国内企业正积极开拓国际市场,国际化已成为重要的发展方向,因此产品设计和开发更需考虑国际化。本文介绍了语言标识、文字阅读顺序等诸多知识。然后…

【编译原理复习笔记】中间语言

中间语言 中间语言的特点和作用 (1)独立于机器 (2)复杂性介于源语言和目标语言之间 中间语言可以使编译程序的结构在逻辑上更为简单明确 常用的中间语言 后缀式 图表示:抽象语法树,有向无环图 三地址代…

淘宝x5sec

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872 本文章未…

LeetCode 264 —— 丑数 II

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 第一个丑数是 1 1 1,由于丑数的质因子只包含 2 、 3 、 5 2、3、5 2、3、5,所以后面的丑数肯定是前面的丑数分别乘以 2 、 3 、 5 2、3、5 2、3、5 后得到的数字。 这样,我…

类的内存对齐位段位图布隆过滤器哈希切割一致性哈希

文章目录 一、类的内存对齐1.1规则1.2原因 二、位段2.1介绍2.2内存分配问题2.3跨平台问题2.4使用的注意事项 三、位图的应用3.1 给40亿个不重复的无符号整数,找给定的一个数。(int的范围可以到达42亿多)3.2 给定100亿个整数,设计算…

openEuler 22.03 LTS SP3源码编译部署OpenStack-Caracal

openEuler 22.03 LTS SP3源码编译部署OpenStack-Caracal 说明机器详情安装操作系统注意事项基础准备Controller节点 && Compute节点 && Block节点关闭防火墙关闭selinux设置静态IP更新安装前准备Controller节点 && Compute节点 && Block节点设…