当前位置: 首页> 文旅> 酒店 > 使用Spring Boot框架来生成HTML页面并返回给客户端

使用Spring Boot框架来生成HTML页面并返回给客户端

时间:2025/7/13 3:02:18来源:https://blog.csdn.net/p309654858/article/details/139962326 浏览次数:0次

文章目录

      • 1. 创建Spring Boot项目
        • 1.1 项目结构
      • 2. 配置 `pom.xml`
      • 3. 编写代码
        • 3.1 创建主应用程序类
        • 3.2 创建数据模型
        • 3.3 创建数据仓库
        • 3.4 创建控制器
        • 3.5 创建HTML模板
      • 4. 运行应用程序
      • 总结

下面是一个简单的Java实现,使用Spring Boot框架来生成HTML页面并返回给客户端。

1. 创建Spring Boot项目

首先,确保你已经安装了Java和Maven。然后创建一个新的Spring Boot项目。

1.1 项目结构
myapp
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── myapp
│   │   │               ├── MyAppApplication.java
│   │   │               ├── controller
│   │   │               │   └── ListController.java
│   │   │               ├── model
│   │   │               │   └── DataItem.java
│   │   │               └── repository
│   │   │                   └── DataRepository.java
│   │   └── resources
│   │       ├── application.properties
│   │       └── templates
│   │           └── list.html
├── mvnw
├── mvnw.cmd
└── pom.xml

2. 配置 pom.xml

pom.xml中添加必要的依赖:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>myapp</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.2</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

3. 编写代码

3.1 创建主应用程序类

MyAppApplication.java

package com.example.myapp;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class MyAppApplication {public static void main(String[] args) {SpringApplication.run(MyAppApplication.class, args);}
}
3.2 创建数据模型

DataItem.java

package com.example.myapp.model;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;@Entity
public class DataItem {@Id@GeneratedValue(strategy = GenerationType.AUTO)private Long id;private String name;private String value;// Constructors, getters, setterspublic DataItem() {}public DataItem(String name, String value) {this.name = name;this.value = value;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}
}
3.3 创建数据仓库

DataRepository.java

package com.example.myapp.repository;import com.example.myapp.model.DataItem;
import org.springframework.data.jpa.repository.JpaRepository;public interface DataRepository extends JpaRepository<DataItem, Long> {
}
3.4 创建控制器

ListController.java

package com.example.myapp.controller;import com.example.myapp.model.DataItem;
import com.example.myapp.repository.DataRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;import java.util.List;@Controller
public class ListController {@Autowiredprivate DataRepository dataRepository;@GetMapping("/list")public String listView(Model model) {List<DataItem> data = dataRepository.findAll();model.addAttribute("data", data);return "list";}
}
3.5 创建HTML模板

src/main/resources/templates目录下创建list.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>Data List</title>
</head>
<body><h1>Data List</h1><table><thead><tr><th>ID</th><th>Name</th><th>Value</th></tr></thead><tbody><tr th:each="item : ${data}"><td th:text="${item.id}"></td><td th:text="${item.name}"></td><td th:text="${item.value}"></td></tr></tbody></table>
</body>
</html>

4. 运行应用程序

在项目根目录下运行以下命令:

mvn spring-boot:run

然后在浏览器中访问http://localhost:8080/list即可查看生成的HTML页面。

总结

这种方案利用Spring Boot在服务器端生成HTML页面并返回给客户端,隐藏了后端的接口,有助于提高安全性,但也带来了性能和灵活性方面的挑战。具体实施时需权衡利弊,选择合适的技术方案。

关键字:使用Spring Boot框架来生成HTML页面并返回给客户端

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: