You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring WebSocket应用无法访问HTML页面并抛出404错误的原因排查

解决Spring Boot WebSocket应用根路径404问题

看起来你遇到的问题是静态HTML页面无法通过根路径访问,别着急,我们一步步来排查解决:

最可能的核心原因:HTML文件名未匹配默认规则

Spring Boot默认会把根路径/自动映射到static目录下的index.html文件。如果你创建的HTML文件是其他名字(比如chat-page.html),直接访问http://localhost:8080自然会返回404。

快速解决方案:

  • 把你的HTML文件重命名为index.html,之后再访问根路径就能正常加载页面了。
  • 如果不想修改文件名,你可以直接访问完整的文件路径,比如文件叫chat.html,就访问http://localhost:8080/chat.html。

检查静态资源目录结构是否正确

你提到是自行创建的static目录,要确保它的位置是src/main/resources/static(注意是复数resources,不是单数resource)。Spring Boot只会扫描这个标准路径下的静态资源,目录结构错误的话,静态文件根本不会被系统识别加载。

手动配置根路径映射(可选方案)

如果不想依赖默认的index.html规则,你可以添加一个简单的控制器来手动映射根路径到你的HTML页面:

@Controller
public class HomeController {
    @GetMapping("/")
    public String redirectToChatPage() {
        // 这里替换成你的实际HTML文件名,比如"chat.html"
        return "chat.html";
    }
}

额外检查:依赖是否齐全

确保你的项目依赖里包含了spring-boot-starter-web,静态资源的访问需要这个依赖的支持,同时WebSocket依赖spring-boot-starter-websocket也要存在:

Maven示例(pom.xml):

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-websocket</artifactId>
    </dependency>
</dependencies>

按照上面的步骤排查后,应该就能正常访问根路径的聊天页面了。

内容的提问来源于stack exchange,提问作者Omegon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 17:07:27