news 2026/4/16 17:53:36

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:23:22

什么是U盘开局

文章目录为什么需要U盘开局U盘开局是如何工作的U盘开局在SD-WAN场景中的应用U盘开局是一种部署简单&#xff0c;成本较低的开局技术。相比于传统的专业工程师逐台去给设备开局的方式&#xff0c;U盘开局只需要让专业工程师把开局索引文件制作好并存储到U盘中即可&#xff0c;具…

作者头像 李华
网站建设 2026/4/16 12:51:03

什么是UTM

文章目录 为什么需要UTMUTM的优势UTM的必备功能华为UTM防火墙的优势 统一威胁管理UTM&#xff08;Unified Threat Management&#xff09;是一种功能全面的安全产品&#xff0c;作为单个产品能提供多种安全功能&#xff0c;包括反病毒、反恶意软件、防火墙、入侵防御、URL过滤等…

作者头像 李华
网站建设 2026/4/16 1:57:40

面向太空应用的高效高稳定性钙钛矿电池发展综述

随着商业航天产业的快速发展&#xff0c;对轻质、高效、低成本的空间光伏技术需求日益迫切。钙钛矿太阳能电池&#xff08;PSCs&#xff09;凭借其高功率转换效率、优异的柔性及低温溶液加工潜力&#xff0c;成为极具前景的下一代空间能源技术。然而&#xff0c;太空环境中的极…

作者头像 李华
网站建设 2026/4/16 15:03:39

python随机生成密码

代码示例import random import string 数字 string.digits 英文 string.ascii_letters 字母表 list(数字 英文) random.shuffle(字母表) 长度 int(input("你的密码要几位数&#xff1f;")) 密码 "".join(字母表[:长度]) print(F"你的密码是:…

作者头像 李华
网站建设 2026/4/16 14:36:23

python返回随机数

代码示例 import random 数字 [1,2,3,4,5,6] random.shuffle(数字) print(数字)

作者头像 李华
网站建设 2026/4/16 12:17:12

亲测好用8个AI论文网站,专科生毕业论文必备!

亲测好用8个AI论文网站&#xff0c;专科生毕业论文必备&#xff01; AI工具助力论文写作&#xff0c;轻松应对学术挑战 在当前的学术环境中&#xff0c;越来越多的学生和科研工作者开始借助AI工具来提升论文写作效率。尤其是在继续教育领域&#xff0c;面对繁重的学业任务和严…

作者头像 李华