uknowapps

uknowapps.egloos.com

포토로그



Spring에서 WebSocket 사용시 HttpSession에 저장된 값 사용하기 Spring

Spring에서 WebSocket 사용시 HttpSession에 저장된 값 사용하기



Spring4에서 WebSocket를 사용할 때는 아래와 같이 maven dependency를 추가해줌


<dependency>

 <groupId>org.springframework</groupId>

 <artifactId>spring-websocket</artifactId>

 <version>4.0.9.RELEASE</version>

</dependency>


servlet-context.xml에서 websocket:handlers 태그에 websocket:mapping 아래 websocket:handshake-interceptors에

HttpSessionHandshakeInterceptor를 추가하면 WebSocketHandler에 접근하기 전에 HttpSession에 접근하여 저장된 값을

읽어 들여 WebSocketHandler에서 사용할 수 있도록 처리함


<websocket:handlers>

<websocket:mapping handler="chatHandler" path="/chat-ws.do"/>

    <websocket:handshake-interceptors>

   <beans:bean class="org.springframework.web.socket.server.support.HttpSessionHandshakeInterceptor"/>

    </websocket:handshake-interceptors>

 </websocket:handlers>


구현된 WebSocketHandler 클래스의 아래 메서드에서 테스트

@Override

protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {

  

  Map<String,Object> map = session.getAttributes();

  String userId = (String)map.get("userId");

  System.out.println("로그인 한 아이디 : " + userId);

 }



덧글

댓글 입력 영역



애드센스 수평