개요 MVC 구조의 Java 웹 애플리케이션 개발시 View를 구현하는 가장 일반적인 방법은 JSP(JavaServer Pages)를 기반으로 EL(Expression Language), JSTL(JavaServer Pages Standard Tag Libaray)를 사용하는 것이다. 이 것 만으로도 충분히 직관적이고 강력한 View를 구현할 수 있지만 Java EE에 종속적이라는 단점이 존재한다.(예를 들어 이메일 템플릿 같은 경우 서블릿 컨테이너를 벗어난 애플리케이션에서 JSP로 처리하려면 별도의 프리 프로세서가 필요하다.) 이에 MVC 구조에 극단적으로 최적화되어 있으면서 Java EE에 얽매이지 않아 어디서나 사용될 수 있는 FreeMarker 템플릿 엔진을 적용하는 방법을 소개하고자 한다. Je..
개요 최근 회사에서 N 포탈과의 제휴 서비스를 Jersey 2로 개발하면서 생산성 측면에서 쏠쏠한 재미를 보았다. 이번 글은 Jersey 2 프레임워크에서 MVC 패턴을 적용하는 방법을 간단히 설명하고자 한다. Jersey란 무엇인가? Jersey 2는 Oracle이 직접 JAX-RS 표준을 구현한 공식 레퍼런스 구현체로 Java 플랫폼에서 RESTful Web Services를 높은 생산성으로 구현하고 소비할 수 있게 해주는 프레임워크이다.(JAX-RS 표준이 서버만을 고려하여 작성된 데 반해 Jersey 2는 클라이언트 입장에서도 서비스를 편리하게 소비할 수 있도록 구현되었다.) MVC 패턴을 적용해보자 Jersey 2는 기본적으로 RESTful Web Services에 초점을 맞추고 있지만 공식적으..
개요 앞서 지난 글에서 Server-Sent Events(이하 SSE)를 이용한 채팅 웹 애플리케이션 구현 예제를 소개했었다. 이번 글에서는 Jersey 프레임워크의 Server SSE API를 이용한 SSE 브로드캐스트 기능을 이용하여 완전한 Real-Time Server Push Notification을 구현해보고자 한다. 개선된 점 이번 글에서 소개하는 v0.2 예제에서는 v0.1 예제 대비 아래와 같은 부분이 개선되었다. 본격적으로 Jersey 프레임워크를 도입하여 클라이언트로부터 새 메시지 도착시 곧바로 모든 SSE 연결에 새 메시지를 브로드캐스트(Broadcast)하는 기능을 추가하였다. v0.1은 브로드캐스트 기능이 존재하지 않아 각각의 SSE 연결마다 2.5초 간격으로(Polling) 새 ..
개요 스마트폰이 등장한 이래 웹 서비스를 소비하는 클라이언트의 종류가 다양해지면서 단순히 렌더링된 페이지를 보여주는 웹 서비스에서 API를 통해 다양한 클라이언트에 대응할 수 있는 RESTful Web Services의 중요성이 날로 높아지고 있다. 이러한 요구에 대응하기 위해 JAX-RS(Java API for RESTful Web Servies)가 Java EE 6부터 표준으로 포함되었다. Jersey는 바로 이 JAX-RS 표준을 충실히 구현한 웹 프레임워크이다. 이번 글에서는 Maven, Servlet 3, Jersey 2 기반의 Hello, World! 웹 프로젝트를 작성해 보고자 한다. Eclipse IDE for Java EE Developers가 설치되어 있어야 한다. Eclispe EE의..
- Total
- Today
- Yesterday
- jstl
- kotlin
- Docker
- Eclipse
- maven
- CentOS
- jpa
- node.js
- spring
- Spring MVC 3
- 알뜰폰
- JHipster
- Spring Boot
- java
- 자전거
- 로드 바이크
- 구동계
- 평속
- Kendo UI
- Kendo UI Web Grid
- bootstrap
- 로드바이크
- Tomcat
- 태그를 입력해 주세요.
- graylog
- JavaScript
- DynamoDB
- chrome
- jsp
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |