---
# System prepended metadata

title: Java Spring Boot - ChatRoom
tags: [Spring, SpringBoot]

---

# Java Spring Boot - ChatRoom

## 後端功能
* WebSocketConfig
```
 // 實作 WebSocketMessageBrokerConfigurer 介面:
    定義 用於使用WebSocket客戶端的簡單消息協議（例如STOMP）配置消息處理 的方法。
 // 複寫 registerStompEndpoints 方法: 註冊節點 映射特定的URL 及 配置 SockJS
 // 複寫 configureMessageBroker 方法: 配置 消息(Message) 代理選項
 
```
* ChatController
```
// 建立 @Controller 結合 @MessageMapping 使用。
// @SendTo 指定目的地
```
* Model
    * ChatMessage

```
// 定義列舉常數 做 getter/setter 
```



### 每個功能建立一個 package

![](https://i.imgur.com/mofGSZL.png)

![](https://i.imgur.com/XYkiPCL.png)
[https://docs.spring.io/spring-framework/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/html/websocket.html](https://docs.spring.io/spring-framework/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/html/websocket.html)

## 前端
* 手動加入 SourceFolder 存放前端網頁
* static
    * index.html
* css
    * main.css
* js
    * main.js


![](https://i.imgur.com/kKQ1DXg.png)


* [Java Techie](https://www.youtube.com/watch?v=4Hyv4M1kFeM)
* [ddycai](https://github.com/ddycai/spring-boot-chatrooms)


###### tags: `Spring` `SpringBoot`