JAX-RS 웹 서비스 작성

시작하기 전에

웹 서비스를 배치하려면 Java™ 5.0 이상 JVM 지원이 정의되고 시작된 서버가 있어야 합니다. 여기에는 다음이 포함됩니다.
  • WebSphere® Application Server 버전 7.0 또는 버전 8.0 - 웹 2.0 및 모바일용 기능팩과 WebSphere Application Server 개발 도구를 설치하도록 선택
  • WebSphere Application Server v6.1 - 기능팩 번들을 설치하도록 선택
기본적으로 WebSphere Application Server 설치 시 서버가 작성됩니다. 서버 보기에서 이 서버를 볼 수 있습니다.

WebSphere Application Server 이외의 서버에 배치하도록 선택하는 경우 IBM JAX-RS 라이브러리를 사용할 수 없으며 프로젝트 패싯 > JAX-RS 참조 페이지를 통해 자체 JAX-RS 라이브러리를 설치하고 구성해야 합니다.

WebSphere Application Server에서 JAX-RS 웹 서비스 사용에 대한 자세한 정보는 WebSphere Application Server Information Center를 참조하십시오.

JAX-RS 사용 웹 프로젝트 작성

About this task

JAX-RS 웹 서비스는 JAX-RS 패싯이 사용 가능한 상태로 프로젝트에 상주해야 합니다.

Procedure

  1. Java EE 퍼스펙티브에서 엔터프라이즈 애플리케이션 프로젝트를 마우스 오른쪽 단추로 클릭하고 새로 작성 > 웹 프로젝트를 선택하여 웹 프로젝트 마법사를 여십시오.
  2. 이름 필드에 새 웹 프로젝트의 이름을 입력하십시오.
  3. 프로젝트 템플리트 섹션에서 사용할 웹 템플리트 유형을 선택하십시오. 단순을 클릭하여 단순 웹 프로젝트를 작성하십시오.
  4. 프로그래밍 모델 섹션에서 사용할 프로그래밍 모델을 선택하십시오. Java EE 프로그래밍 모델을 선택하십시오. 다음을 클릭하여 새 웹 프로젝트를 구성하십시오.
  5. 배치 페이지의 사용 가능한 구성 옵션 목록에서 배치를 클릭하여 배치 구성 페이지를 여십시오.
    • 드롭 다운 상자에서 다른 항목을 선택하여 대상 런타임을 변경할 수 있습니다. 기능 변경을 클릭하여 프로젝트 패싯 창을 여십시오. 프로젝트 패싯 페이지에서 JAX-RS(REST 웹 서비스)를 선택하고 확인을 클릭하십시오.
    • WebSphere 바인딩 및 확장기능에 대한 지원 추가를 클릭하거나 이 필드를 선택 취소하십시오.
    • 웹 모듈 버전 필드에서 사용할 웹 모듈 버전을 선택하십시오.
    • EAR 멤버십 필드에서 EAR 멤버십을 포함하려면 EAR에 프로젝트 추가를 클릭하고 EAR 파일에 웹 프로젝트를 추가하지 않으려면 이 필드를 선택 취소하십시오.
    • EAR 프로젝트 이름 필드에 존재하는 EAR 파일의 이름이 표시됩니다. 찾아보기를 클릭하여 다른 EAR 파일을 선택할 수 있습니다.
    Note: 새 웹 프로젝트에 Java EE 프로그래밍 모델을 사용하도록 선택한 경우에만 배치 옵션을 사용할 수 있습니다.
  6. 사용 가능한 구성 옵션 목록에서 REST 서비스를 클릭하십시오.
    1. JAX-RS 구현 라이브러리 필드에서 서버 버전에 적합한 라이브러리(예: IBM WebSphere Application Server v8.0 JAX-RS 라이브러리 또는 IBM WebSphere Application Server v8.5 JAX-RS 라이브러리)를 선택하십시오.
      사용자가 설치한 각 WebSphere Test Environment의 JAX-RS 라이브러리가 이 드롭 다운 상자에 표시됩니다. 비WebSphere 라이브러리를 사용하려면 사용자 라이브러리 환경 설정 페이지를 사용하여 다른 라이브러리를 가져올 수 있습니다. 사용자 라이브러리를 선택하는 경우 사용자 라이브러리 환경 설정 페이지를 실행하여 라이브러리를 추가할 수 있습니다. 프로젝트가 작성되면 해당 프로젝트를 마우스 오른쪽 단추로 클릭한 후 환경 설정 > 프로젝트 패싯 > JAX-RS를 선택하여 라이브러리를 변경할 수 있습니다. 수동으로 클래스 경로를 구성해야 하는 경우 마법사가 라이브러리를 구성하지 않도록 선택할 수도 있습니다.
    2. v8 이전 버전의 WebSphere Application Server를 사용하고 있는 경우 이 애플리케이션과 함께 라이브러리 포함을 선택하고 이 라이브러리를 공유 라이브러리로 포함하도록 선택하십시오. 이로 인해 JAX-RS jar가 클래스 경로에 추가되고 확장 EAR에 공유 라이브러리 항목이 추가됩니다.
    3. web.xml을 사용하여 보안 제한조건 및 기타 동작을 구성해야 하므로 기본적으로 배치 디스크립터 업데이트가 선택됩니다. 마법사에서 이전에 배치 디스크립터를 생성하지 않도록 선택한 경우에도 web.xml이 생성되고 JAX-RS 서블릿 정보로 업데이트됩니다. 이 옵션은 웹 모듈 패싯 v3.0 이상을 선택한 경우에만 사용 가능합니다.
    4. 배치 디스크립터를 업데이트하도록 선택한 경우 서블릿 이름 및 서블릿 클래스 이름을 변경하고 URL 맵핑 패턴을 변경할 수 있습니다.
  7. 사용 가능한 구성 옵션 목록에서 Java를 클릭하여 Java 구성 페이지를 여십시오.
    • 빌드 경로의 소스 폴더 필드에서 기본 src 디렉토리를 승인하거나 폴더 추가, 편집... 또는 제거를 클릭하여 소스 파일을 저장할 폴더를 지정하십시오.
    • 기본 출력 폴더 필드에서 출력 파일을 저장할 폴더를 지정하거나 기본값(WebContent\WEB-INF\classes)을 승인하십시오.
  8. 사용 가능한 구성 옵션 목록에서 웹 모듈을 클릭하십시오. 웹 모듈 구성 페이지에서 다음을 수행하십시오.
    • 컨텍스트 루트 필드에 웹 프로젝트 루트의 이름을 입력하거나 기본값(사용자의 웹 프로젝트 이름)을 승인하십시오.
    • 컨텐츠 디렉토리 필드에 컨텐츠 디렉토리 이름을 입력하거나 기본값(WebContent)을 승인하십시오.
    • 배치 디스크립터를 작성하려면 web.xml 배치 디스크립터 생성을 선택하십시오. 나중에 웹 모듈에 배치 디스크립터를 추가할 수도 있습니다.
  9. 완료를 클릭하십시오.

JAX-RS 웹 서비스 작성

Procedure

  1. 웹 프로젝트에서 패키지를 작성하십시오(Java 자원 > src를 마우스 오른쪽 단추로 클릭한 후 새로 작성 > 패키지 선택). 웹 서비스에 대한 클래스를 패키지로 가져오십시오.
  2. WebContent/WEB-INF/web.xml을 여십시오. 디자인 보기에서 서블릿 JAX-RS 서블릿을 선택하고 추가를 클릭하여 초기화 매개변수를 JAX-RS 서블릿에 추가하고 이름 및 값 필드는 비워두십시오. web.xml을 저장하고 오류가 표시되면 오류를 무시하십시오.
  3. 마커 보기에서 param-name에 대한 web.xml 오류를 선택하고 마우스 오른쪽 단추로 클릭한 후 빠른 수정사항을 선택하십시오. 애플리케이션을 찾아서 선택하십시오.
  4. JAX-RS 프로젝트를 포함하는 EAR을 서버에 추가하고 서버를 시작하십시오.

Results

정상적으로 배치하려면 모든 웹 애플리케이션에 웹 애플리케이션용 컨텍스트 루트가 포함되어야 합니다. 애플리케이션 어셈블리 또는 애플리케이션 배치 동안 각 웹 모듈의 컨텍스트 루트가 애플리케이션 배치 디스크립터에 정의됩니다. 컨텍스트 루트는 WAR 파일의 정의된 서블릿 맵핑과 결합되어 사용자가 서블릿에 액세스하기 위해 입력하는 전체 URL을 작성합니다. 각각의 배치된 웹 애플리케이션의 컨텍스트 루트는 서버에서 고유해야 합니다. 컨텍스트 루트가 비어 있을 수도 있습니다.

예를 들어, 웹 애플리케이션이 sample/application/의 컨텍스트 루트를 사용한 경우 웹 애플리케이션 요청 URL은 http://<hostname>:<port>/sample/application/으로 시작합니다. 서블릿의 URL 패턴이 웹 애플리케이션의 컨텍스트 루트에 추가됩니다. 예를 들어, 컨텍스트 루트가 sample/application/이고 서블릿 URL 맵핑이 rest/api/*인 경우 JAX-RS 웹 애플리케이션에 대한 기본 URI는 http://<hostname>:<port>/sample/application/rest/api입니다.

JAX-RS 프로젝트 편집

JAX-RS 웹 서비스를 작성한 후 프로젝트를 마우스 오른쪽 단추로 클릭하고 특성 > 프로젝트 패싯 > JAX-RS를 선택하여 편집할 수 있습니다. 이 페이지에서 다음을 변경할 수 있습니다.
  • 라이브러리 유형
  • JAX-RS 서블릿 이름
  • JAX-RS 서블릿 클래스 이름
  • URL 맵핑 패턴
예를 들어, 프로젝트를 다른 서버에 마이그레이션하는 경우 라이브러리 제공자를 새 서버에서 지원하는 것으로 변경할 수 있습니다.

피드백