ssm项目中配置欢迎页的方式

在传统的 SSM (Spring + Spring MVC + MyBatis) 项目中,配置"欢迎页"(即访问项目根路径 http://localhost:8080/项目名/ 时显示的页面)主要有以下 3 种常用方式

根据你的页面存放位置(在 webapp 根目录还是 WEB-INF 下),选择最适合的一种:


方式 1:使用 web.xml 配置 (最基础)

适用场景 :你的欢迎页是静态 HTML 或普通的 JSP,且直接放在 webapp (或 WebContent) 根目录下 ,没有放在 WEB-INF 里。

这是 Java Web 容器(如 Tomcat)的标准规范,不需要经过 Spring MVC 的 DispatcherServlet。

配置位置src/main/webapp/WEB-INF/web.xml

XML 复制代码
<web-app>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
</web-app>

注意 :这种方式无法 直接访问 WEB-INF 目录下的文件,因为 WEB-INF 对浏览器是隐藏的。


方式 2:使用 Controller 控制器 (最常用/推荐)

适用场景

  1. 你的页面放在 WEB-INF 目录下(为了安全)。

  2. 进入欢迎页前需要查询数据库或处理业务逻辑。

  3. 使用 Thymeleaf 或其他模板引擎。

通过 Spring MVC 拦截 / 请求并转发到指定视图。

Java 代码

java 复制代码
package com.qcby.controller;

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

@Controller
public class WelcomeController {

    @RequestMapping("/")
    public String showWelcomePage() {
        // 这里的 "index" 对应你的视图解析器配置
        // 如果是 JSP,可能对应 /WEB-INF/jsp/index.jsp
        // 如果是 Thymeleaf,可能对应 classpath:/templates/index.html
        return "index"; 
    }
}

方式 3:使用 Spring MVC 配置文件 (最简洁)

适用场景 :页面在 WEB-INF 下,但不需要执行任何 Java 业务逻辑,只是单纯的跳转显示。

你可以在 Spring MVC 的配置文件(通常是 spring-mvc.xml)中直接定义一个映射,省去写 Controller 类的麻烦。

XML 配置 (spring-mvc.xml):

XML 复制代码
<mvc:view-controller path="/" view-name="index"/>

<mvc:annotation-driven />

💡 总结:我该选哪个?

你的页面位置 是否需要查数据? 推荐方式
webapp/ 根目录 (如 index.html) 方式 1 (web.xml)
WEB-INF/ 目录下 是 (需要数据) 方式 2 (Controller)
WEB-INF/ 目录下 否 (直接显示) 方式 3 (view-controller) 或 方式 2

特别提醒

如果同时配置了 web.xml@RequestMapping("/"),通常 Controller 的优先级更高 (前提是请求被 DispatcherServlet 拦截了,通常拦截配置为 /)。

相关推荐
我真会写代码1 天前
SSM(指南一)---Maven项目管理从入门到精通|高质量实操指南
java·spring·tomcat·maven·ssm
千寻技术帮4 天前
10334_基于Web的文学书刊服务平台
mysql·ssm·源码·代码·文学书刊
shejizuopin4 天前
基于SSM的高校旧书交易系统的设计与实现(毕业论文)
java·mysql·毕业设计·论文·ssm·毕业论文·高校旧书交易系统的设计与实现
阿杰学AI10 天前
AI核心知识69——大语言模型之SSM (简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·ssm·状态空间模型
不吃香菜学java11 天前
springboot左脚踩右脚螺旋升天系列-整合开发
java·spring boot·后端·spring·ssm
二哈喇子!16 天前
基于SSM框架的公交车查询系统的设计与实现
java·数据库·ssm
千寻技术帮17 天前
10408_基于SSM的野营用品租赁管理系统
毕业设计·ssm·源码·安装·文档·ppt·野营租赁
千寻技术帮18 天前
10336_基于SSM的少数民族文化商城
mysql·毕业设计·ssm·非遗商城
曹轲恒20 天前
SSM项目的部署
java·ssm