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 拦截了,通常拦截配置为 /)。

相关推荐
二哈喇子!3 天前
基于SSM框架的公交车查询系统的设计与实现
java·数据库·ssm
千寻技术帮4 天前
10408_基于SSM的野营用品租赁管理系统
毕业设计·ssm·源码·安装·文档·ppt·野营租赁
千寻技术帮5 天前
10336_基于SSM的少数民族文化商城
mysql·毕业设计·ssm·非遗商城
曹轲恒7 天前
SSM项目的部署
java·ssm
二哈喇子!9 天前
基于SSM框架的网上商城购物系统的设计与实现(开源项目——实现CRUD功能整体流程超详细)
java·spring·mybatis·ssm
biyezuopinvip9 天前
基于JavaSSM+MySQL的机房预约管理系统设计与实现
java·mysql·毕业设计·论文·ssm·jsp·机房预约管理系统设计与实现
计算机程序设计小李同学11 天前
基于SSM框架的动画制作及分享网站设计
java·前端·后端·学习·ssm
计算机程序设计小李同学12 天前
平价药店销售与管理系统
java·mysql·spring·spring cloud·ssm
不吃香菜学java15 天前
spring-依赖注入
java·spring boot·后端·spring·ssm