< 이전 | 다음 >

학습 1.4: 애플리케이션을 테스트할 웹 프로젝트 작성

학습 1.4에서는 애플리케이션 테스트를 위해 웹 프로젝트를 작성하는 단계를 설명합니다.

시작하기 전에 학습 1.3을 완료해야 합니다.
이 학습에서는 다음을 수행합니다.
  1. EJBCounterDB 추출
    1. EJB 3.1 카운터 프로젝트에 대해 지속성을 제공하는 필수 데이터베이스를 다운로드하십시오.
    2. EJBCounterDB > EJBCounterDB.zip을 펼치고 EJBCounterDB.zip을 두 번 클릭하십시오.
      • Windows 아이콘: WebSphere® Application Server 설치 폴더의 /derby/databases 폴더에 데이터베이스의 압축을 푸십시오.
      • Linux
아이콘: WebSphere Application Server 설치 폴더의 /derby/databases 폴더에 데이터베이스의 압축을 푸십시오.
        • 데이터베이스 디렉토리에 대한 비루트 사용자 액세스를 제공하십시오. 가장 쉬운 방법은 모든 사용자에게 액세스 권한 chmod ugo+x databases를 제공하는 것입니다.
        • 압축을 푼 데이터베이스에 대한 비루트 사용자 쓰기 액세스를 제공하십시오. 예를 들어, 데이터베이스 디렉토리에 대한 액세스 권한을 가진 경우 비루트 사용자로 압축을 풀 수 있습니다.
      중요사항: /derby/databases의 기본 위치는 WebSphere Application Server의 유형에 따라 달라질 수 있습니다. 기본 설치 디렉토리에 대한 정보는 WebSphere Application Server 작성을 참조하십시오.
  2. Java™ EE 퍼스펙티브에서 엔터프라이즈 애플리케이션 프로젝트를 마우스 오른쪽 단추로 클릭하고 새로 작성 > 웹 프로젝트를 선택하여 웹 프로젝트 마법사를 여십시오.
  3. 웹 프로젝트 페이지의 프로젝트 이름 필드에 EJBCounterWeb을 입력하십시오.
  4. 프로젝트 템플리트 필드에서 단순을 선택하십시오.
  5. 프로그래밍 모델 필드에서 Java EE를 선택하십시오. 다음을 클릭하십시오.
  6. 배치 페이지의 사용 가능한 구성 옵션 목록에서 배치를 클릭하여 배치 구성 페이지를 여십시오.
    • 대상 런타임의 드롭 다운 상자에서 WebSphere Application Developer의 지원되는 버전을 선택하십시오.
    • WebSphere 바인딩 및 확장기능에 대한 지원 추가를 선택한 경우 이를 선택 취소하십시오.
    • Web 모듈 버전 필드에서 3.0을 선택하십시오.
    • EAR 멤버십 필드에서 EAR에 프로젝트 추가를 클릭하십시오.
    • EAR 프로젝트 이름 필드에 EJBCounterWebEAR이 표시되는지 확인하십시오.
  7. 다른 기본값을 승인하고 완료를 클릭하십시오. 연관된 퍼스펙티브를 여시겠습니까?라는 메시지가 표시되면 아니오를 클릭하십시오.
  8. EJBCounterWeb 프로젝트를 마우스 오른쪽 단추로 클릭하고 새로 작성 > 웹 페이지를 선택하십시오.
  9. 새 웹 페이지파일 이름 필드에 EJBCount.jsp를 입력하십시오. JSP가 선택된 템플리트인지 확인하고 완료를 클릭하십시오.
  10. 웹 페이지 편집기의 소스 보기에서 모든 기존 코드를 이 코드로 바꾸고 CTRL+S를 눌러 저장하십시오.
    <%@page session="false"%>
    <HTML>
    <HEAD>
    <TITLE>IBM WebSphere EJB3 and JPA1 Counter Sample</TITLE>
    <BODY bgcolor="cornsilk">
    <H1>EJB 3.0 and JPA 1.0 Counter Sample</H1>
    <P>
    <B>
    This application communicates with the WebSphere Application Server using http requests to increment a stateless EJB 3.0 counter bean which is using a JPA 1.0 entity (ie. keeps a persistent counter in a Derby database table).
    </B>
    <FORM METHOD=POST ACTION="counter">
    <BR/>
    <%
        response.setHeader("Pragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires",0);
        String msg = (String) request.getAttribute("msg");
        if (msg == null) msg = "";
    %>
    <B>Click on the Increment button to increment the count</B>
    <BR/><BR/>
    <INPUT TYPE=SUBMIT VALUE="Increment">
    </FORM>
    <H3><%=msg%></H3>
    </BODY>
    </HTML>
  11. EJBCounterWeb 프로젝트를 마우스 오른쪽 단추로 클릭하고 새로 작성 > 서블릿을 선택하십시오.
  12. 새 서블릿 페이지의 Java 패키지 필드에 com.ibm.example.websphere.ejb3sample.counter를 입력하십시오.
  13. 클래스 이름 필드에 EJBCount를 입력하고 다음을 클릭하십시오.
  14. 이름 필드에 EJB Count Servlet을 입력하십시오. URL 맵핑 필드에서 기존 맵핑을 편집하고 /EJB Count Servlet을 강조표시하고 편집을 클릭하십시오. 패턴을 /counter로 바꾸고 완료를 클릭하십시오.
    서블릿 배치 디스크립터 특정 정보 입력
  15. EJBCounterWeb 프로젝트를 마우스 오른쪽 단추로 클릭하고 특성을 선택하십시오.
  16. 배치 어셈블리를 선택하고 Manifest 항목을 선택한 후 추가를 클릭하십시오.
  17. EJBCounterSample.jar을 선택하고 완료를 클릭한 후 확인을 클릭하십시오. EJBCounterSample.jar이 나타나지 않는 경우, 사용 가능한 Manifest 항목 구성 링크를 클릭하고 EAR 모듈 어셈블리 창의 소스 열에서 EJBCounterSample을 선택한 다음 적용을 클릭하고 확인을 클릭하십시오. 마지막으로, Manifest 항목 추가 창에서 완료를 클릭하고 특성 창에서 확인을 클릭하십시오.
    모듈 종속성 추가
  18. EJBCounterWeb > Java 자원 > src > com.ibm.example.websphere.ejb3sample.counter를 펼치고 EBJCount.java 파일을 두 번 클릭하십시오. Java 편집기에서 파일이 열립니다.
  19. 기존 코드를 다음 코드로 바꾼 후 CTRL+S를 눌러 저장하십시오.
    package com.ibm.example.websphere.ejb3sample.counter;
    
    // This program may be used, executed, copied, modified and distributed
    // without royalty for the purpose of developing, using, marketing, or distributing.
    
    import java.io.IOException;
    
    import javax.ejb.EJB;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    /**
     * This servlet demonstrates an EJB3 counter bean with JPA.
     */
    
    public class EJBCount extends HttpServlet {
    
        private static final long serialVersionUID = -5983708570653958619L;
        
        // Use injection to get the ejb      
        @EJB private LocalCounter statelessCounter;
        
        public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    		String msg = null;
    		int ejbCount = 0;
    		
    		try {
    			ejbCount = statelessCounter.getTheValue();
    		} 
    		catch (RuntimeException e) {
    			msg = "Error - getTheValue() method on EJB failed!";
            	e.printStackTrace();
    		}
    		msg = "EJB Count value for Stateless Bean with JPA: " + ejbCount;
    		
    		// Set attributes and dispatch the JSP.
            req.setAttribute("msg", msg);
            RequestDispatcher rd = getServletContext().getRequestDispatcher("/EJBCount.jsp");
            rd.forward(req, res);
    	}
        
        public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    		String msg = null;
    		int ejbCount = 0;
    		
    		try {
    			ejbCount = statelessCounter.increment();
    		} 
    		catch (RuntimeException e) {
    			msg = "Error - increment() method on EJB failed!";
            	e.printStackTrace();
    		}
    		msg = "EJB Count value for Stateless Bean with JPA: " + ejbCount;
    		
    		// Set attibutes and dispatch the JSP.
            req.setAttribute("msg", msg);
            RequestDispatcher rd = getServletContext().getRequestDispatcher("/EJBCount.jsp");
            rd.forward(req, res);
    	}
        
    
    }
  20. 엔터프라이즈 탐색기 보기에서 EJBCounterWeb > Java 자원 > src > com.ibm.example.websphere.ejb3sample.counter를 확장하고 EJBCount.java 파일을 마우스 오른쪽 단추로 클릭하여 실행 > 서버에서 실행을 선택한 후 완료를 클릭하십시오.
  21. 카운터 애플리케이션이 웹 브라우저에서 열립니다.
    EBJ 3.0 웹 페이지
EJB 3.0 카운터 학습서를 마치겠습니다.
< 이전 | 다음 >
주제 유형을 표시하는 아이콘 학습서 학습 주제
Information Center의 이용 약관 | 피드백

시간소인 아이콘 마지막 업데이트 날짜: 2014-05-22

파일 이름: exer14ejb3.html