본문 바로가기
Java/Spring

채팅구현 - 웹소켓통신

by amungstudy 2023. 8. 28.

참고 : mvc_security_template
pom.xml

<!-- https://mvnrepository.com/artifact/org.springframework/spring-websocket -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-websocket</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>

root-context.xml에 등록 (이때 path가 SockJS 객체 생성시에 들어가는 url 요청 경로임)

<bean id="chatHandler"
          class="com.bitc.sec.util.ChatHandler"/>
    <websocket:handlers>
        <websocket:mapping handler="chatHandler" path="/chatHandler" />
        <websocket:sockjs />
    </websocket:handlers>

 

 

1.ChatHandler 클래스 생성.

 

public class ChatHandler extends TextWebSocketHandler {

 

메소드 :

handleTextMessage : client에서 메세지 받으면 실행되는 메소드.

.sendMessage : 클라이언트로 메세지를 보내는 메소드

 

 

2. 실제 자바스크립트로 jsp페이지에서 사용.(chat.jsp)

 

```

<script src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script>

```

 

SockJS 객체

- SockJS 생성자 매개변수  : url요청경로

```

<script>
// SockJS 생성자 매개변수  : url요청경로
var sock = new SockJS("chatHandler");

```


메소드 :
.onopen : 서버와 연결이 성사되었을 때 실행될 함수
.onclose : 서버와 연결이 끊겼을 때 호출 (브라우저에서 페이지가 없어지면 socket객체도 없어짐)
.send : 서버로 메세지 보내는 메소드
.onmessage: 서버에서 메세지가 전달되었을 때 호출되는 함수

'Java > Spring' 카테고리의 다른 글

인텔리 j  (0) 2023.08.31
SpringBoot 설치  (0) 2023.08.29
spring security & DB 연계  (0) 2023.08.28
SPRING SECURITY 보안프레임워크  (0) 2023.08.25
이메일 검증하는 법 : SMTP 활용  (0) 2023.08.24