개발 환경
- Spring MVC 4.0 이상
- JDK 7
- maven 사용
웹소켓 적용하기
1.pom.xml
websocket dependency 추가하기
<properties>
<spring.version>4.2.1.RELEASE</spring.version>
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>${spring.version}</version>
</dependency>
2.app-context.xml (xml config 설정)
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket
http://www.springframework.org/schema/websocket/spring-websocket.xsd">
<websocket:handlers allowed-origins="*">
<websocket:mapping path="/myHandler" handler="myHandler" />
</websocket:handlers>
<bean id="myHandler" class="org.springframework.samples.MyHandler"/>
allowed-origins : same origin의 요청만받거나 'http://', 'https://'으로 시작하는 특별한 origin을 처리할 수 있다. 모든 요청에 대해 처리하기 위해서는 '*'을 사용한다.
3.MyHandler 설정
@Component
public class MyHandler extends AbstractWebSocketHandler {
@Autowired
private SessionManager clients;
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
super.handleTextMessage(session, message);
String payloadMessage = message.getPayload();
TextMessage returnMessage = new TextMessage(message.getPayload());
session.sendMessage(returnMessage);
if(payloadMessage.equals("test"))
{
session.close();
}
}
4.main.jsp
function connect() {
console.log('websocket url is : ' + url);
// 중요 포인트!! url을 이용해서 WebSocket을 생성하고 각각 이벤트에 대한 처리를 정의한다
ws = new WebSocket(url);
ws.onopen = function () {
// 서버에 접속한 후 이벤트 정의
log('Info: connection opened.');
};
ws.onmessage = function (event) {
// 웹소켓 메시지 수신
log(message);
};
ws.onclose = function (event) {
// 서버에서 접속 종료한 후 이벤트 정의
log('Info: connection closed.');
log(event);
};
ws.onerror = function (event) {
// 서버에서 에러 발생 후 이벤트 정의
log('Info: connection onerror.');
};
}
참고 사이트
[Tomcat][ERROR] Tomcat PermGen space (0) | 2016.02.16 |
---|---|
[Tomcat] 톰캣 버전 확인 (0) | 2015.11.23 |
[Eclipse] PlugIn - Properties Editor (0) | 2015.11.23 |
[Tomcat] Heap size 설정하기 (0) | 2015.11.23 |
[Eclipse][Error] The import org.apache.commons cannot be resolved (0) | 2015.11.23 |
댓글 영역