解决spring boot 无法访问静态页面的问题(一)

本文介绍了在使用Spring Initializr创建Spring Boot项目后,遇到无法访问静态HTML页面的问题。通过查看控制台日志,发现因HTML标签不完整导致SAXParseException。解决方案是对HTML文件进行修正,确保所有元素都有正确闭合标签。同时分析了Thymeleaf模板引擎对HTML5的严格解析方式,提出可以通过设置模板模式来避免此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.采用idea 中的Spring initializr创建Spring boot 项目
2.添加pom依赖
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--用来渲染页面 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
3.新建一个Controller
@Controller
public class HelloController {
   @RequestMapping(value = "/index",method = RequestMethod.GET)
   public String hellohtml ()
   {
       return "/index";
   }
}
4. 在resources中的templates文件夹下添加index.html文件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" >
    <title>Title</title>
</head>
<body>
这个是首页
</body>
</html>
5. 准备就绪,运行Application文件出现异常。

错误信息

6. 查看控台发现日志信息如下

org.xml.sax.SAXParseException: 元素类型 “meta” 必须由匹配的结束标记 "</meta>" 终止。

7. 解决:将上面html文件做出如下修改
<meta charset="UTF-8" >  更改前
<meta charset="UTF-8" /> 更改后
8. 分析: thymeleaf模板引擎默认是Template modes:HTML5解析的,解析比较严格。当然除此之外,使thymeleaf模板实现html5标签的非严格检查也可以。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值