ZAWWW-2st1.2-l05.tresc-1.0
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
- Kolejnym krokiem jest stworzenie projektu w ramach aplikacji – można pozostawić domyślną nazwę: Project1
- 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
- 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()
- 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.