< 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.
Im vorliegenden Lernprogramm werden Sie folgende Arbeitsschritte ausführen:
  1. Extrahieren von "EJB3CounterDB.zip"
    1. Laden Sie die erforderliche Datenbank herunter, die für EJB 3.1-Zählerprojekte Persistenz bereitstellt.
    2. Nachdem Sie EJB3CounterDB heruntergeladen haben, blenden Sie EJB3CounterDB > EJB3CounterDB.zip ein und klicken Sie doppelt auf die Datei "EJB3CounterDB.zip". In einem externen Fenster wird ein Extrahierungsdienstprogramm geöffnet.
      • 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, unter der Voraussetzung, dass Sie Zugriff auf das Verzeichnis databases haben).
      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. Gehen Sie auf der Seite "Webprojekt" wie folgt vor:
    1. Geben Sie im Feld Projektname die Zeichenfolge EJBCounterWebEE6 ein.
    2. Wählen Sie im Feld für die Projektschablonen die Option Einfach aus.
    3. Wählen Sie im Feld Programmiermodell die Option Java EE aus.
    4. 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 die Option "WebSphere Application Developer Version 8" aus der Dropdown-Liste aus.
      • Inaktivieren Sie Support für WebSphere-Bindings und -Erweiterungen hinzufügen.
      • 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 EJBCounterSampleEE6EAR im Feld Name des EAR-Projekts angezeigt wird.
    5. Übernehmen Sie die anderen Standardwerte und klicken Sie auf Fertigstellen. Wenn Sie aufgefordert werden anzugeben, ob die zugehörige Perspektive geöffnet werden soll, dann klicken Sie auf Nein.
  4. Klicken Sie mit der rechten Maustaste auf das Projekt EJBCounterWebEE6 und wählen Sie dann Neu > Webseite aus.
  5. Geben Sie auf der Seite Neue Webseite im Feld Dateiname die Zeichenfolge EJBCount.jsp ein. Stellen Sie sicher, dass JSP die ausgewählte Schablone ist und klicken Sie auf Fertigstellen.
  6. 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 EJB 3.1 and JPA 2.0 Counter Sample</TITLE>
    <BODY bgcolor="cornsilk">
    <H1>EJB 3.1 and JPA 2.0 Counter Sample</H1>
    <P>
    <B>
    This application communicates with the WebSphere Application Server using http requests to increment a singleton EJB 3.1 counter bean which is using a JPA 2.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>
  7. Klicken Sie mit der rechten Maustaste auf das Projekt EJBCounterWebEE6 und wählen Sie dann Neu > Servlet aus.
  8. Geben Sie auf der Seite Neues Servlet im Feld Java-Paket die Zeichenfolge com.ibm.example.websphere.ejb3sample.counter ein.
  9. Geben Sie im Feld Klassenname die Zeichenfolge EJBCount ein und klicken Sie dann auf Weiter:
    Seite "Servlet erstellen"
  10. 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.
  11. Fügen Sie Implementierungsassemblyeinträge hinzu:
    1. Klicken Sie mit der rechten Maustaste auf das Projekt EJBCounterWebEE6 und wählen Sie dann Eigenschaften aus.
    2. Wählen Sie Deployment-Assembly, anschließend Manifesteinträge aus und klicken Sie auf Hinzufügen.
      Implementierungsassemblywerte hinzufügen
    3. Wählen Sie EJBCounterSampleEE6.jar aus und klicken Sie erst auf Fertigstellen und dann auf OK.
      Modulabhängigkeit hinzufügen
  12. Erweitern Sie EJBCounterWebEE6 > Java-Ressourcen > src > com.ibm.example.websphere.ejb3sample.counter und doppelklicken Sie dann auf die Datei EBJCount.java. Daraufhin wird die Datei im Java-Editor geöffnet.
  13. 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.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    /**
     * This servlet demonstrates an EJB3 counter bean with JPA.
     */
    
    @WebServlet(
    		description="This servlet demonstrates the various ways to increment EJB 3.1 counter beans.",
    		name="EJB Count Servlet",
    		displayName="EJB Count Servlet",
    		urlPatterns="/counter"
    		)
    public class EJBCount extends HttpServlet {
    
        private static final long serialVersionUID = -5983708570653958619L;
        
        // Injektion zum Abrufen der EJB verwenden
        @EJB private LocalCounter singletonCounter;
        
        public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    		String msg = null;
    		int ejbCount = 0;
    		
    		try {
    			ejbCount = singletonCounter.getTheValue();
    		} 
    		catch (RuntimeException e) {
    			msg = "Error - getTheValue() method on EJB failed!";
            	e.printStackTrace();
    		}
    		msg = "EJB Count value for Singleton 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 = singletonCounter.increment();
    		} 
    		catch (RuntimeException e) {
    			msg = "Error - increment() method on EJB failed!";
            	e.printStackTrace();
    		}
    		msg = "EJB Count value for Singleton Bean with JPA: " + ejbCount;
    		
    		// Attribute definieren und JSP senden.
            req.setAttribute("msg", msg);
            RequestDispatcher rd = getServletContext().getRequestDispatcher("/EJBCount.jsp");
            rd.forward(req, res);
    	}
        
    
    }
Sie sind nun bereit für Übung 1.5: Webprojekt zum Testen Ihrer Anwendung erstellen.
< 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: exer14ejb31.html