Spring Boot入门指南:留言板

以下是一个简单的Spring Boot留言板示例,包括后端API和前端页面。

后端API(Controller):




import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.ArrayList;
 
@RestController
@RequestMapping("/api/guestbook")
public class GuestbookController {
 
    private static final List<Message> messages = new ArrayList<>();
 
    @GetMapping
    public List<Message> getAllMessages() {
        return messages;
    }
 
    @PostMapping
    public Message addMessage(@RequestBody Message message) {
        message.setId((int) (messages.size() + 1));
        messages.add(message);
        return message;
    }
 
    static class Message {
        private int id;
        private String content;
 
        // standard getters and setters
        public int getId() {
            return id;
        }
 
        public void setId(int id) {
            this.id = id;
        }
 
        public String getContent() {
            return content;
        }
 
        public void setContent(String content) {
            this.content = content;
        }
    }
}

前端页面(HTML):




<!DOCTYPE html>
<html>
<head>
    <title>Simple Guestbook</title>
</head>
<body>
    <h1>Simple Guestbook</h1>
    <form action="/api/guestbook" method="post">
        <textarea name="content" rows="4" cols="50"></textarea>
        <input type="submit" value="Submit">
    </form>
    <hr>
    <h2>Messages</h2>
    <ul id="messages">
        <!-- messages are dynamically loaded here -->
    </ul>
 
    <script>
        function loadMessages() {
            fetch('/api/guestbook')
                .then(response => response.json())
                .then(messages => {
                    const messageList = document.getElementById('messages');
                    messageList.innerHTML = ''; // clear current messages
                    messages.forEach(message => {
                        const listItem = document.createElement('li');
                        listItem.textContent = message.content;
                 
最后修改于:2024年09月04日 16:11

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日