Spring、Spring MVC、SpringBoot的欢迎页配置

一、Spring MVC(纯 XML 配置 / 注解配置)

1. XML 配置(传统方式)

适用于基于spring-mvc.xml配置的项目,核心是配置WelcomePageHandlerMappingmvc:view-controller

  • path="/"表示访问项目根路径(如http://localhost:8080/项目名/)时触发;

  • view-name="index"会结合视图解析器的前缀 / 后缀,最终指向/WEB-INF/pages/index.jsp

  • 如果页面放在 webapp 根目录(而非 WEB-INF),可直接配置<mvc:view-controller path="/" view-name="/index.jsp"/>

<!-- 1. 基础配置:开启注解驱动、视图解析器(示例为JSP视图) --> <mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/" /> <!-- 页面前缀 --> <property name="suffix" value=".jsp" /> <!-- 页面后缀 --> </bean> <!-- 2. 配置欢迎页:访问根路径/时,跳转到index.jsp --> <!-- 方式A:直接配置视图控制器(推荐) --> <mvc:view-controller path="/" view-name="index"/> <!-- 方式B:配置WelcomePageHandlerMapping(兼容老版本) --> <!-- <bean class="org.springframework.web.servlet.handler.WelcomePageHandlerMapping"> <property name="welcomePage" value="/WEB-INF/pages/index.jsp"/> </bean> -->

2. 注解配置(无 XML)

适用于基于@Configuration的 Spring MVC 配置,通过编程式配置视图控制器

import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration @EnableWebMvc // 开启Spring MVC注解支持 public class WebMvcConfig implements WebMvcConfigurer { // 配置欢迎页 @Override public void addViewControllers(ViewControllerRegistry registry) { // 访问/时,跳转到index视图(结合视图解析器) registry.addViewController("/").setViewName("index"); // 如果是静态页面(如webapp下的index.html),直接指定路径: // registry.addViewController("/").setViewName("/index.html"); } // 配置视图解析器(可选,根据页面类型) /* @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/pages/"); resolver.setSuffix(".jsp"); return resolver; } */ }

二、Spring 框架

纯 Spring 框架(非 Web 场景)没有 “欢迎页” 概念,因为 Spring 核心是 IoC/DI 容器,不处理 Web 请求;只有当 Spring 结合 Spring MVC 用于 Web 开发时,才需要按上面 Spring MVC 的方式配置欢迎页。

如果是 Spring 整合 Web 但未用 Spring MVC(极少场景),本质还是依赖 Servlet 规范配置欢迎页:在web.xml中配置

<!-- web.xml 中配置Servlet规范的欢迎页 --> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list>

三、SpringBoot(最简化配置)

1. 静态资源欢迎页

SpringBoot 会自动扫描以下目录下的index.html/index.jsp作为欢迎页

2. 自定义控制器指定欢迎页

如果需要动态逻辑(比如登录判断后跳转),可通过@Controller配置

import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class IndexController { // 访问根路径时跳转 @GetMapping("/") public String index() { // 可添加自定义逻辑(如用户登录状态判断) // 返回的"index"会结合视图解析器(如Thymeleaf/JSP)找页面 return "index"; // 如果是静态页面,直接返回路径:return "/index.html"; } }

3. 配置文件指定(覆盖默认)

如果需要自定义欢迎页路径,可在application.properties/application.yml中配置

# application.properties # 方式1:通过视图控制器指定 spring.mvc.view.controller.path=/ spring.mvc.view.controller.view-name=custom-index # 对应templates/custom-index.html(Thymeleaf) # 方式2:如果是JSP,需先配置视图解析器 spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp spring.mvc.view.controller.path=/ spring.mvc.view.controller.view-name=index # 对应/WEB-INF/jsp/index.jsp

注意:SpringBoot 对 JSP 支持较弱

若用 JSP 做欢迎页,需要:

(1)添加 JSP 依赖:按方式 2/3 配置,而非方式 1(静态资源目录不识别 JSP

<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>

(2)JSP 文件需放在src/main/webapp/WEB-INF/jsp/下(不能放在 resources 下)

(3)按方式 2/3 配置,而非方式 1(静态资源目录不识别 JSP)

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

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

相关文章

Java毕设项目推荐-基于springboot的二手手机销售系统【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

用谷歌的antigravity和Android studio开发一个apk

prompt: 写一个完整的能用Android Studio直接bulid的安卓apk程序,功能是 我用谷歌的antigravity和Android studio开发一个apk成功在Android studio同步了六分钟,然后直接build就行了,在output里就会出现apk

2026年直线模组厂家推荐排行榜:双滑台/多滑台/龙门/高精度/高速模组,专业制造与创新技术实力深度解析

2026年直线模组厂家推荐排行榜:双滑台/多滑台/龙门/高精度/高速模组,专业制造与创新技术实力深度解析 在工业自动化浪潮持续深入的今天,直线模组作为精密运动控制的核心执行单元,其性能与可靠性直接决定了高端装备…

Java毕设选题推荐:基于Spring Boot+Vue的二手手机销售的设计与实现基于springboot的二手手机销售系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

智能研判与修复:CodeSense 5.1如何用AI提升代码审计效率

在软件开发的质量保障体系中&#xff0c;静态分析工具已经成为发现潜在缺陷的关键手段。然而&#xff0c;这项技术的实际应用却面临着一个普遍困境&#xff1a;工具产生的海量代码告警需要人工逐一审计&#xff0c;开发团队不得不投入大量时间验证误报、理解缺陷原理并寻找修复…

计算机Java毕设实战-基于springboot的二手手机销售系统电子产品交易销售管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

Java计算机毕设之基于SpringBoot+Vue的二手手机交易平台基于springboot的二手手机销售系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

2026工业链板优质生产厂家推荐榜,冲孔链板/非标链条哪里卖

2026工业链板优质生产厂家推荐榜,冲孔链板/非标链条哪里卖 一、行业发展背景与选型痛点解析 根据《2025中国工业自动化输送设备产业白皮书》数据,2025年国内工业自动化输送设备市场规模达420亿元,同比增长12.3%,其…

去闭口最有效的产品推荐哪款?这套控油祛痘水乳让T区变哑光

中国美容行业协会2025年油性及混合性肌肤护理调研报告显示,我国高达76%的油痘肌人群面临“反复长痘、油光满面、痘印难消”三大困扰,其中超过半数用户曾因使用不当控油产品或刺激性祛痘成分,导致肌肤屏障受损、水油…

麦角硫因哪个口碑好?2026基于真实市场反馈的深度盘点与推荐

进入2026年,消费者的决策模式发生了深刻转变。根据《2026年中国数字消费者洞察报告》,超过70%的消费者在购买高价值健康产品前,会花费至少1小时深度浏览各大电商平台、社交媒体和垂直社群中的用户评价。他们不再轻信…

2026测评抗皱好的护肤品!深度解析哪种抗衰老的护肤品效果好

随着25岁以上人群对抗衰老需求的精细化(如结构性松垂、皱纹深化、屏障老化等),市场上抗老护肤品品类激增,但“成分有效性”“实测效果”“适用场景”缺乏统一参考。为提供客观选品依据,本次测评历时3个多月(2025…

奇正沐古:家居卫浴行业靠谱的品牌全案营销咨询公司

摘要:在卫浴行业迈向智能化、品质化的转型浪潮中,恒洁卫浴实现了从“产品提供者”到“生活解决方案引领者”的跨越式升级,连续斩获行业权威荣誉,稳居头部阵营。这一蜕变的核心推手,正是专注品牌全案营销咨询的奇正…

AI睡眠空调哪家好?全方位评测六款热门AI睡眠空调

随着智能家居的不断发展,AI技术在空调领域的应用也逐渐普及,尤其是“AI睡眠空调”成为许多消费者关注的焦点。这类空调通过先进的人工智能技术,结合睡眠周期算法、温湿度调节和噪音控制等功能,旨在为用户提供更高质…

2026年Deepseek推荐的品牌全案营销咨询公司

摘要:2026年,AI技术深度渗透与存量市场竞争加剧,推动品牌全案营销咨询行业从“创意导向”向“实战落地”全面转型,企业对咨询公司的全链路服务能力、行业适配性、长效价值创造能力提出更高要求。本文基于Deepseek整…

吐血推荐9个AI论文网站,自考学生轻松搞定毕业论文!

吐血推荐9个AI论文网站&#xff0c;自考学生轻松搞定毕业论文&#xff01; 自考论文的救星&#xff0c;AI工具如何帮你轻松应对 对于自考学生而言&#xff0c;毕业论文不仅是学业的终点&#xff0c;更是能力的考验。然而&#xff0c;面对繁重的写作任务、复杂的格式要求以及严格…

支撑集(support)

参考文献&#xff1a;Support (mathematics) | encyclopedia article by TheFreeDictionary 在数学中&#xff0c;实值函数的支撑集是其定义域的一个子集&#xff0c;包含了所有不被映射到0的元素。 对于概率密度函数而言&#xff0c;支撑集就是所有满足 的的集合&#xff0c;…

c语言的size_t类型

size_t是一个无符号整数类型&#xff0c;具体大小依赖于平台和编译器。 我的系统是64位系统。 例如&#xff1a;查看size_t定义&#xff1a;再继续查看__int64的定义&#xff1a;运行下面的代码&#xff1a; #include <stdio.h>int main() {printf("Size of size_t …

前端开发革命:界面代码自动生成

前端开发革命:界面代码自动生成 关键词:前端开发、界面代码自动生成、代码生成算法、实际应用场景、未来趋势 摘要:本文聚焦于前端开发中的界面代码自动生成这一革命性技术。首先介绍了该技术的背景,包括目的、预期读者、文档结构和相关术语。接着阐述了核心概念与联系,通…

Visual Studio Code:设置按住ctrl键并滚动鼠标滚轮时对编辑器字体大小进行缩放

打开设置窗口&#xff1a;常用设置 下面勾选 Editor&#xff1a;Mouse Wheel Zoom&#xff1a;

c语言:size_t类型格式化占位符%zu

%zu是C语言中size_t类型格式化占位符&#xff0c;例如&#xff0c;sizeof函数返回的是size_t类型&#xff0c;下面用printf语句打印&#xff1a; #include <stdio.h>int main() {long long a 20;unsigned long long c -23;printf("size of a: %zu\n", sizeof…