< Précédent | Suivant >

Leçon 1.4 : Créer un projet Web pour tester votre application

La leçon 1.4 vous montre comment créer un projet Web pour tester votre application.

Avant de commencer, vous devez terminer la leçon 1.3.
Dans ce tutoriel, vous allez :
  1. Extrayez le contenu de EJB3CounterDB.zip
    1. Téléchargez la base de données requise, qui fournit la persistance pour le projet EJB 3.1 Counter.
    2. Après le téléchargement de EJB3CounterDB, développez EJB3CounterDB > EJB3CounterDB.zip et cliquez deux fois sur EJB3CounterDB.zip. Un utilitaire d'extraction de fichiers s'ouvre dans une fenêtre externe.
      • Icône Windows : Extrayez la base de données dans le dossier /derby/databases du dossier d'installation de WebSphere Application Server :
      • Icône Linux : Extrayez la base de données dans le dossier /derby/databases du dossier d'installation de WebSphere Application Server.
        • Donnez à l'utilisateur non-root l'accès au répertoire databases. (Le moyen le plus simple est de donner cet accès à tout le monde : chmod ugo+x databases.
        • Donnez à l'utilisateur non-root l'accès en écriture à la base de données décompressée (Par exemple, vous pouvez effectuer l'extraction comme utilisateur non-root, à condition d'avoir accès au répertoire databases).
      Important : Selon le type de serveur WebSphere Application Server, l'emplacement par défaut de vos bases de données /derby/databases peut varier. Pour des informations sur les répertoires d'installation par défaut, voir Création d'un serveur WebSphere Application Server.
  2. Dans la perspective Java™ EE, cliquez avec le bouton droit de la souris sur votre projet d'application d'entreprise, puis sélectionnez Nouveau > Projet Web pour l'assistant de projet Web.
  3. Sur la page Projet Web :
    1. Dans la zone Nom du projet, entrez EJBCounterWebEE6.
    2. Dans la zone Modèles de projet, sélectionnez Simple.
    3. Dans la zone Modèle de programmation, sélectionnez Java EE.
    4. Sur la page Déploiement, dans la liste des options de configuration disponibles, cliquez sur Déploiement pour ouvrir la page Configuration du déploiement.
      • Dans la liste Environnement d'exécution cible, sélectionnez WebSphere Application Developer v8.
      • Décochez Ajouter le support pour les liaisons et extensions WebSphere.
      • Dans la zone Version du module Web, sélectionnez 3.0.
      • Dans la zone Appartenance EAR, cliquez sur Ajouter le projet à un fichier EAR.
      • Assurez-vous que la zone Nom du projet EAR affiche EJBCounterSampleEE6EAR.
    5. Acceptez les autres valeurs par défaut et cliquez sur Terminer. Si vous recevez l'invite Ouvrir la Perspective associée ?, cliquez sur Non.
  4. Cliquez avec le bouton droit sur le projet EJBCounterWebEE6 et sélectionnez Nouveau > Page Web.
  5. Sur la page Nouvelle page Web, dans la zone Nom de fichier, tapez EJBCount.jsp, vérifiez que le modèle sélectionné est JSP et cliquez sur Terminer.
  6. Dans la vue Source de l'éditeur de page Web, remplacez tout le code existant par le code ci-après et appuyez sur les touches CTRL+S pour sauvegarder :
    <%@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. Cliquez avec le bouton droit sur le projet EJBCounterWebEE6 et sélectionnez Nouveau > Servlet.
  8. Sur la page Nouveau Servlet, dans la zone Package Java, entrez com.ibm.example.websphere.ejb3sample.counter.
  9. Dans la zone Nom de classe, entrez EJBCount et cliquez sur Suivant :
    Page Créer un servlet
  10. Dans la zone Nom, entrez EJB Count Servlet. Dans la zone Mappages d'URL, éditez le mappage existant et mettez en évidence /EJB Count Servlet puis cliquez sur Editer. Remplacez le modèle par /counter et cliquez sur Terminer :
    Entrée des informations spécifiques au descripteur de déploiement du servlet.
  11. Ajouter des entrées d'assemblage de déploiement :
    1. Cliquez avec le bouton droit sur le projet EJBCounterWebEE6 et sélectionnez Propriétés.
    2. Sélectionnez Assemblage de déploiement, sélectionnez Entrées de manifeste et cliquez sur Ajouter.
      Ajout d'entrées d'assemblage de déploiement
    3. Sélectionnez EJBCounterSampleEE6.jar, cliquez sur Terminer puis cliquez sur OK.
      Ajout d'une dépendance de module
  12. Développez EJBCounterWebEE6 > Ressources Java > src > com.ibm.example.websphere.ejb3sample.counter, et double-cliquez sur le fichier EBJCount.java. Celui-ci s'ouvre dans l'éditeur Java.
  13. Remplacez le code existant par le code ci-après et appuyez sur les touches CTRL+S pour sauvegarder :
    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;
        
        // Use injection to get the ejb
        @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;
    		
    		// 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 = singletonCounter.increment();
    		} 
    		catch (RuntimeException e) {
    			msg = "Error - increment() method on EJB failed!";
            	e.printStackTrace();
    		}
    		msg = "EJB Count value for Singleton Bean with JPA: " + ejbCount;
    		
    		// Set attibutes and dispatch the JSP.
            req.setAttribute("msg", msg);
            RequestDispatcher rd = getServletContext().getRequestDispatcher("/EJBCount.jsp");
            rd.forward(req, res);
    	}
        
    
    }
Vous êtes maintenant prêt à passer à l'exercice 1.5, Créer un projet de fragment Web pour tester votre application.
< Précédent | Suivant >
Icône indiquant le type de rubrique Rubrique de leçon de tutoriel
Dispositions pour les centres de documentation | Commentaires en retour

Icône d'horodatage Dernière mise à jour: May 29, 2014 10:11

Nom de fichier : exer14ejb31.html