< Zurück | Weiter >

Lerneinheit 1.4: Webprojekt zum Testen Ihrer Anwendung erstellen

Lerneinheit 1.4 führt Sie Schritt für Schritt durch die Erstellung eines Webprojekts zum Testen Ihrer Anwendung.

Bevor Sie mit dieser Lerneinheit beginnen können, müssen Sie Lerneinheit 1.3 abgeschlossen haben.
In dieser Lerneinheit werden Sie folgende Arbeitsschritte ausführen:
  1. Extrahieren Sie "EJBCounterDB".
    1. Laden Sie die erforderliche Datenbank herunter, die für EJB 3.1-Zählerprojekte Persistenz bereitstellt.
    2. Blenden Sie EJBCounterDB > EJBCounterDB.zip ein und klicken Sie doppelt auf EJBCounterDB.zip.
      • Windows-Symbol: Extrahieren Sie die Datenbank in den Ordner /derby/databases Ihres WebSphere Application Server-Installationsordners:
      • Linux-Symbol: Extrahieren Sie die Datenbank in den Ordner /derby/databases Ihres WebSphere Application Server-Installationsordners:
        • Erteilen Sie dem Benutzer ohne Rootberechtigung Zugriff auf das Datenbankverzeichnis. (Am einfachsten ist es dabei, allen Benutzern Zugriff zu erteilen: chmod ugo+x databases.
        • Erteilen Sie dem Benutzer ohne Rootberechtigung Schreibzugriff auf die extrahierte Datenbank. (Sie können z. B. die Extraktion unter der ID eines Benutzers ohne Rootberechtigung ausführen, vorausgesetzt, Sie haben Zugriff auf das Datenbankverzeichnis.)
      Wichtig: Je nach Typ des WebSphere Application Servers kann die Standardposition von /derby/databases unterschiedlich sein. Informationen zu Standardinstallationsverzeichnissen finden Sie in WebSphere Application Server erstellen.
  2. Klicken Sie in der Java™ EE-Perspektive mit der rechten Maustaste auf Ihr EAR-Projekt und wählen Sie Neu > Webprojekt aus, um den Webprojektassistenten zu öffnen.
  3. Geben sie auf der Seite "Webprojekt" im Feld Projektname die Zeichenfolge EJBCounterWeb ein.
  4. Wählen Sie im Feld für die Projektschablonen die Option Einfach aus.
  5. Wählen Sie im Feld Programmiermodell die Option Java EE aus. Klicken Sie auf "Weiter".
  6. Klicken Sie auf der Seite für die Implementierung in der Liste der verfügbaren Konfigurationsoptionen auf Implementierung, um die Seite für die Implementierungskonfiguration zu öffnen.
    • Wählen Sie unter Ziellaufzeit eine unterstützte Version von WebSphere Application Developer aus der Dropdown-Liste aus.
    • Heben Sie die Auswahl der Option Support für WebSphere-Bindings und -Erweiterungen hinzufügen auf, sofern sie ausgewählt ist.
    • Wählen Sie im Feld Webmodulversion den Eintrag 3.0 aus.
    • Klicken Sie im Feld EAR-Zugehörigkeit auf Projekt einer EAR hinzufügen.
    • Stellen Sie sicher, dass EJBCounterWebEAR im Feld Name des EAR-Projekts angezeigt wird.
  7. Übernehmen Sie die anderen Standardwerte und klicken Sie auf Fertigstellen. Wenn Sie aufgefordert werden, anzugeben, ob die zugehörige Perspektive geöffnet werden soll, klicken Sie auf Nein.
  8. Klicken Sie mit der rechten Maustaste auf das Projekt EJBCounterWeb und wählen Sie Neu > Webseite aus.
  9. Geben Sie auf der Seite Neue Webseite im Feld Dateiname die Zeichenfolge EJBCount.jsp ein. Stellen Sie sicher, dass "JSP" als Schablone ausgewählt ist und klicken Sie auf "Fertigstellen".
  10. Ersetzen Sie in der Quellensicht des Webseiteneditors den gesamten vorhandenen Code durch diesen Code und drücken Sie die Tastenkombination "STRG+S", um die Daten zu speichern:
    <%@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. Klicken Sie mit der rechten Maustaste auf das Projekt EJBCounterWeb und wählen Sie Neu > Servlet aus.
  12. Geben Sie auf der Seite Neues Servlet im Feld Java-Paket die Zeichenfolge com.ibm.example.websphere.ejb3sample.counter ein.
  13. Geben Sie im Feld Klassenname die Zeichenfolge EJBCount ein und klicken Sie auf Weiter:
  14. Geben Sie im Feld Name die Zeichenfolge EJB Count Servlet ein. Bearbeiten Sie im Feld URL-Zuordnungen die vorhandene Zuordnung, heben Sie "/EJB Count Servlet" hervor und klicken Sie auf Bearbeiten. Ersetzen Sie das Muster durch /counter und klicken Sie auf Fertigstellen:
    Implementierungsdeskriptorspezifische Informationen für Servlet eingeben.
  15. Klicken Sie mit der rechten Maustaste auf das Projekt EJBCounterWeb und wählen Sie Eigenschaften aus.
  16. Wählen Sie Implementierungsassemblierung und Manifesteinträge aus und klicken Sie auf Hinzufügen.
  17. Wählen Sie EJBCounterSample.jar aus und klicken Sie erst auf Fertigstellen und anschließend auf OK. Wenn EJBCounterSample.jar nicht angezeigt wird, klicken Sie auf den Link Verfügbare Manifesteinträge konfigurieren und wählen Sie im Fenster für die Assemblierung des EAR-Moduls den Eintrag EJBCounterSample aus der Spalte Quelle aus. Klicken Sie dann zuerst auf Anwenden und anschließend auf OK. Klicken Sie abschließend im Fenster Manifesteinträge hinzufügen auf Fertigstellen und im Fenster Eigenschaften auf OK.
    Modulabhängigkeit hinzufügen
  18. Blenden Sie die Einträge EJBCounterWeb > Java-Ressourcen > src > com.ibm.example.websphere.ejb3sample.counter ein und klicken Sie doppelt auf die Datei EBJCount.java. Daraufhin wird die Datei im Java-Editor geöffnet.
  19. Ersetzen Sie den vorhandenen Code durch den folgenden Code und drücken Sie die Tastenkombination "STRG+S", um die Daten zu speichern:
    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;
        
        // Injektion zum Abrufen der EJB verwenden
        @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;
    		
    		// Attribute definieren und JSP senden.
            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;
    		
    		// Attribute definieren und JSP senden.
            req.setAttribute("msg", msg);
            RequestDispatcher rd = getServletContext().getRequestDispatcher("/EJBCount.jsp");
            rd.forward(req, res);
    	}
        
    
    }
  20. Blenden Sie in der Ansicht "Enterprise-Explorer" die Einträge EJBCounterWeb > Java-Ressourcen > src > com.ibm.example.websphere.ejb3sample.counter ein und klicken Sie mit der rechten Maustaste auf die Datei "EJBCount.java". Wählen Sie dann Ausführen > Auf Server ausführen aus und klicken Sie auf "Fertigstellen".
  21. Die Zähleranwendung wird in einem Web-Browser geöffnet.
    EJB 3.0-Webseite
Sie haben das Lernprogramm "EJB 3.0-Zähler" abgeschlossen.
< Zurück | Weiter >
Symbol das den Typ des Artikels anzeigt. Artikel für Lerneinheit
Nutzungsbedingungen für Information Center | Feedback

Symbol für Zeitmarke Letzte Aktualisierung: 29.04.2014

Dateiname: exer14ejb3.html