◆ SockJS
웹 소켓(WebSocket)과 유사한 방식으로 양방향 통신을 가능하게 하는 라이브러리입니다. 그러나 웹 소켓이 지원되지 않는 구형 브라우저에서도 동작할 수 있도록 설계되어 있습니다.
서버와 클라이언트 간의 연결을 생성하고 유지하면서, 실시간으로 데이터를 전송할 수 있습니다.
이를 위해, SockJS는 다양한 전송 프로토콜(transport protocol)을 제공합니다. 예를 들어, WebSocket이 지원되는 경우 WebSocket을 사용하고, 그렇지 않은 경우에는 HTTP Streaming, HTTP Long Polling 등의 방식으로 연결을 유지하고 데이터를 전송합니다.
JavaScript, Python, Java, Ruby, PHP 등 다양한 언어에서 지원되는 라이브러리입니다. 이를 이용하여 웹 애플리케이션에서 실시간 채팅, 게임, 알림 등 다양한 기능을 구현할 수 있습니다.
Node.js와 함께 사용하기 적합한 라이브러리입니다. Node.js는 이벤트 기반(event-driven)으로 동작하며, 비동기(asynchronous)로 작업을 처리하기 때문에, SockJS와 같은 라이브러리와 함께 사용하면 높은 성능을 발휘할 수 있습니다.
◆ ObjectMapper
- Java 객체와 JSON 문자열 간의 변환 기능을 제공하는 Jackson 라이브러리의 클래스입니다.
- ObjectMapper 클래스의 writeValueAsString() 메서드는 Java 개체를 입력으로 사용하고 해당 개체의 JSON 문자열 표현을 반환합니다.
◆ View Resolver setting
- ex)
spring.mvc.view.prefix=/WEB-INF/views/
//접두사
spring.mvc.view.suffix=.jsp
//접미사
- 논리적 뷰 이름을 가져오고 실제 뷰를 반환하는 역할을 합니다.
- 컨트롤러에서 반환된 논리적 뷰 이름을 클라이언트에 렌더링될 실제 뷰(예: JSP, HTML 파일 등)로 확인하는 Spring Framework의 웹 MVC 모듈에 있는 구성 요소입니다.
- View Resolver가 실제 보기를 찾으면 DispatcherServlet으로 반환되어 보기를 렌더링하고 다시 클라이언트로 보냅니다.
Spring Framework는 JSP, FreeMarker 템플릿, Thymeleaf 템플릿 등과 같은 다양한 뷰 기술을 위한 몇 가지 기본 제공 View Resolver를 제공합니다. 필요한 경우 고유한 사용자 정의 View Resolver를 생성할 수도 있습니다.