1. 개요 
 
  JAX-RS(Java API for RESTful Web Services)는 자바 플랫폼에서 경량화된 REST 방식의 웹 애플리케이션 구현을 지원하는 자바 API 이다.  - from 위키백과
  REST에 대한 구현 표준이 바로 JAX-RS 인 것이다. 
  SOAP기반의 SOA 연동은 자바 애플리케이션을 무겁게 한다는 비판과 함께, 최근 웹 애플리케이션의 경향인 AJAX 기반으로 JSON이나 RSS와 같이
  간결한 프로토콜을 사용한 연동이 보편화되면서 쉽게 구현할 수 있도록 Java EE에 JAX-RS 라는 사양이 포함되고 있다.
 
 
2. JAX-RS 어노테이션을 알아볼까?
 
 - @Path :실제 요청 URL을 나타낸다. 이 애노테이션은 클래스 선언부, 메서드 선언부 모두 위치할수 있으며 클래스 선언부에 @Path("/sample"), 메서드 선언부에 @Path("/xml") 이라고 설정한다면
   해당 메서드의 호출은 /api/sample/xml 이 된다. 여기서 /api는 web.xml 파일에 설정된 Jersey URL이다.
 - @GET : GET방식으로 데이터 추출, 선택가능한 옵션은 @PUT, @DELETE, @POST 등이 있다.
 - @Consumes : 수신 하고자하는 데이터 포맷을 정의한다. 
 - @Produces : 출력하고자 하는 데이터 포맷을 정의한다. 여기서 사용하는 포맷은 "application/json", "text/xml" 이고 각각 json, xml 타입으로 데이터를 출력한다.
   기타 선택가능한 옵션은 "application/atom+xml", "application/x-www-form-urlencoded", "application/octet-stream", "application/svg+xml", "application/xhtml+xml", "application/xml", "multipart/form-data", "text/html", "text/plain" 등이 있다.
 - @QueryParam : URI 쿼리 파라미터의 값을 꺼내온다.
 - @FormParam : Form값이 전송된 경우 Form안의 값들을 꺼내온다.
 - @PathParam :  URI template에 명시되어 있는 값을 꺼내온다.  
 - @CookieParam : 쿠키에 있는 값을 꺼내온다.
 - @HeaderParam : 헤더에 있는 값을 꺼내온다.
 - @Context : Request header나  URI 정도등등의 inject 정보를 사용할 수 있다.
 
 - Produces와 Consumes 차이 : @Produces는 Accept 헤더를 참고하고 @Consumes은 Content-Type 헤더를 참고한다.
 
 
3. REST 구현을 쉽게 도와줄 수 있는 프레임웍이 있다는데?
 
  그게 바로 Jersey 다.
  Jersey RESTful Web Services framework is an open source, production quality,
           framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs
           and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation.