帮我写一段spring boot聊天对话代码
时间: 2023-07-31 19:09:07 浏览: 55
好的,以下是一个简单的 Spring Boot 聊天对话的代码示例:
首先,我们需要引入必要的依赖,包括 Spring Boot Web、Spring Boot Thymeleaf 和 Spring Boot WebSocket:
```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-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
</dependencies>
```
接下来,我们创建一个简单的聊天室页面,用于展示聊天消息和输入框:
```html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Chat Room</title>
</head>
<body>
<div>
<ul id="chatMessages">
<!-- 这里展示聊天消息 -->
</ul>
</div>
<div>
<input type="text" id="messageInput">
<button onclick="sendMessage()">Send</button>
</div>
<script th:inline="javascript">
// 在这里添加 WebSocket 相关代码
</script>
</body>
</html>
```
然后,我们在后端创建一个 WebSocket 处理器,用于处理聊天消息的发送和接收:
```java
@Component
public class ChatHandler extends TextWebSocketHandler {
private final List<WebSocketSession> sessions = new CopyOnWriteArrayList<>();
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
sessions.add(session);
}
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
sessions.remove(session);
}
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
for (WebSocketSession s : sessions) {
s.sendMessage(new TextMessage(session.getId() + ": " + message.getPayload()));
}
}
}
```
最后,我们在 Spring Boot 应用程序中启用 WebSocket 并添加聊天室页面的路由:
```java
@SpringBootApplication
@EnableWebSocket
public class ChatApplication implements WebSocketConfigurer {
@Autowired
private ChatHandler chatHandler;
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(chatHandler, "/chat");
}
public static void main(String[] args) {
SpringApplication.run(ChatApplication.class, args);
}
}
```
现在,您可以在浏览器中访问聊天室页面,并开始与其他用户进行聊天了。