ZAWWW-2st1.2-l05.tresc-1.0

From Studia Informatyczne

Spis treści

Zaawansowane aplikacje internetowe

EJB 2

Celem tego laboratorium jest pokazanie, w jaki sposób aplikacje stworzone w różnych technologiach mogą korzystać z funkcjonalności udostępnianej przez komponenty EJB. W ramach ćwiczeń powstaną kolejno: serwlet oraz inny bean EJB, korzystające z funkcjonalności beana utworzonego w ćwiczeniu pierwszym.

Prezentowane ćwiczenia zostały wykonane w środowisku Oracle JDeveloper 10.1.3.0.4 (do pobrania ze strony: http://www.oracle.com/ ).

Ćwiczenie 1

W tym ćwiczeniu zostanie przygotowane środowisko pozwalające na wykonanie ćwiczeń – w repozytorium programu JDeveloper zostanie stworzona odpowiednia aplikacja i projekt. A następnie zostanie przygotowany testowy bean.

  • Po uruchomieniu programu Oracle JDeveloper należy utworzyć nową aplikację. W tym celu należy wybrać opcję: File -> New
  • W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od poniższego):


  • Następny ekran pozwala na ustawienie właściwości tworzonej aplikacji. Należy wprowadzić: nazwę aplikacji, nazwę katalogu, w którym znajdą się jaj pliki, prefiks dla pakietów tworzonych w ramach tej aplikacji i wybrać aplikację bez wzorca

Image:ZAWWW-2st1_2-l05_tresc-1_0_02.png

  • Kolejnym krokiem jest stworzenie projektu w ramach aplikacji – można pozostawić domyślną nazwę: Project1

Image:ZAWWW-2st1_2-l05_tresc-1_0_03.png


  • Następnie należy utworzyć testowego beana sesyjnego o nazwie TestowyEJB (dla potrzeb tego ćwiczenia nie ma znaczenia czy będzie on stanowy, czy też bezstanowy) udostępniającego następującą implementacje metody getHello:

  public String getHello(String kogo_witamy)
  {
    return "Hello " + kogo_witamy;
  }

  • Beana należy uruchomić.
  • Następnie należy wygenerować przykładową aplikację kliencką dla tego beana (szczegóły znajdują się w opisie do pierwszego zestawu ćwiczeń omawiających technologię EJB)
  • W aplikacji testowej umieścić następujące wywołanie udostępnionej metody beana

System.out.println(testowyEJB.getHello("Student"));

  • Sprawdzić działanie aplikacji klienckiej

Ćwiczenie 2

Ćwiczenie będzie polegało na stworzeniu serwletu, uruchamiającego metodę utworzonego wcześniej beana.

W tym celu należy:

  • W widocznym nawigatorze aplikacji należy zaznaczyć utworzony w poprzednim ćwiczeniu projekt

Image:ZAWWW-2st1_2-l05_tresc-1_0_04.png

  • Następnie należy wybrać opcję: File -> New, lub z menu kontekstowego wybrać opcje New
  • W wyświetlonym oknie należy wybrać chęć utworzenia serwletu


  • Należy określić nazwę i typ dla tworzonego serwletu (można pozostawić proponowaną przez system). Implementowana będzie tylko metoda doGet()

Image:ZAWWW-2st1_2-l05_tresc-1_0_06.png

  • Do utworzonej klasy serwletu należy zaimportować pakiet

import javax.naming.InitialContext;


  • Następnie wewnątrz metody doGet() utworzonego serwletu dodać poniższy kod

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
    throws ServletException, IOException
  {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Servlet1</title></head>");
    out.println("<body>");
    out.println("<p>The servlet has received a GET. This is
                    the reply.</p>");
    try
    {
      final Context context = new InitialContext();
      TestowyEJB testowyEJB =
                 (TestowyEJB)context.lookup("TestowyEJB");
      // Call any of the Remote methods below to access the
      // EJB
       out.println(testowyEJB.getHello(  "Student" ));
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }
    out.println("</body></html>");
    out.close();
  }

  • Na koniec należy uruchomić serwlet

Ćwiczenie 3

  • W tym ćwiczeniu należy utworzyć beana o nazwie klientEJB, który podobnie jak serwlet z poprzedniego ćwiczenia wywoła metodę beana o nazwie testowyEJB.
  • Następnie stworzyć przykładową aplikację dla tego beana i sprawdzić jej działanie.