1.4.4. Revoir les tutoriels Quickstart

1.4.4.1. Découvrir le Quickstart HelloWorld

Résumé

Le Quickstart helloworld vous montre comment déployer un simple Servlet dans la plateforme JBoss EAP 6. La logique commerciale comprend un service fourni sous forme de bean CDI (Contexts and Dependency Injection) qui est injecté dans le Servlet. Ce Quickstart est très simple. Tout ce qu'il se contente de faire est d'imprimer "Hello World" dans une page web. C'est une bonne façon de savoir si vous avez bien configuré et démarré votre serveur.

Des instructions détaillées sur la façon de construire et de déployer ce Quickstart par la ligne de commande se trouvent dans le fichier README qui se trouve dans le répertoire de Quickstart helloworld. Nous vous montrons ici comment utiliser JBoss Developer Studio pour exécuter le Quickstart.

Procédure 1.9. Importer le quickstart helloworld dans JBoss Developer Studio

Si vous avez précédemment importé tous les Quickstarts dans JBoss Developer Studio en suivant les étapes ici Section 1.4.3.1, « Exécuter les Quickstarts (Démarrages rapides) dans JBoss Developer Studio », vous pouvez passer à la section suivante.
  1. Si vous ne l'avez pas encore fait, configurez le référentiel Maven de JBoss EAP en utilisant les paramètres de Maven Section 2.3.2, « Configurer le référentiel JBoss EAP 6 Platform Maven Repository par les paramètres de configuration de Maven ».
  2. Si vous ne l'avez pas encore fait, installez JBoss Developer Studio Section 1.3.1.3, « Installer JBoss Developer Studio 5 ».
  3. À partir du menu, sélectionner FichierImporter.
  4. Dans la liste sélectionnée, choisir MavenProjets Maven existants, puis cliquer sur Suivant.
    Importer les projets Maven existants

    Figure 1.9. Importer les projets Maven existants

  5. Naviguer dans le répertoire QUICKSTART_HOME/quickstart/helloworld/ et cliquer sur le bouton OK. La case qui contient la liste Projets contient le fichier pom.xml qui vient du projet Quickstart helloworld.
    Sélectionner les projets Maven

    Figure 1.10. Sélectionner les projets Maven

  6. Cliquer sur Finish.

Procédure 1.10. Générer et déployer le Quickstart helloworld

  1. Si vous n'avez pas encore configuré JBoss Developer Studio pour JBoss EAP 6, vous devez Section 1.3.1.5, « Ajouter le serveur de JBoss EAP 6 au JBoss Developer Studio ».
  2. Cliquer avec le bouton droit de la souris sur jboss-as-helloworld sur l'onglet Project Explorer, puis sélectionner Exécuter en tant queExécuter sur le serveur.
    Exécuter sur le serveur

    Figure 1.11. Exécuter sur le serveur

  3. Sélectionner le serveur JBoss EAP 6.0 Runtime Server et cliquer sur Suivant. Cela déployera le Quickstart helloworld du serveur JBoss.
  4. Pour vérifier que le quickstart helloworld a bien été déployé dans le serveur JBoss, ouvrir le navigateur web et accéder à l'application par le lien URL suivant : http://localhost:8080/jboss-as-helloworld

Procédure 1.11. Observer la structure du répertoire

Le code du Quickstart helloworld se trouve dans le répertoire QUICKSTART_HOME/helloworld. Le Quickstart helloworld comprend un Servlet et un bean CDI. Il comprend également un fichier beans.xml qui indique à JBoss EAP 6 comment trouver des beans pour cette application et comment activer le CDI.
  1. Le fichier beans.xml se trouve dans le dossier WEB-INF/ qui se trouve dans le répertoire src/main/webapp/ du Quickstart.
  2. Le répertoire src/main/webapp/ inclut également un fichier index.html qui utilise une simple réactualisation meta pour rediriger le navigateur de l'utilisateur vers le Servlet, qui se trouve à http://localhost:8080/jboss-as-helloworld/HelloWorld.
  3. Tous les fichiers de configuration de cet exemple se trouvent dans WEB-INF/, qui se trouve dans le répertoire src/main/webapp/ de l'exemple.
  4. Notez que le Quickstart n'a pas même besoin d'un fichier web.xml!

Procédure 1.12. Examiner le code

La déclaration de paquet et les importations ont été exclues de ces listes. La liste complète est disponible dans le code source du Quickstart.
  1. Vérifier le code HelloWorldServlet

    Le fichier HelloWorldServlet.java se trouve dans le répertoire src/main/java/org/jboss/as/quickstarts/helloworld/. Le Servlet envoie les informations dans le navigateur.
    27. @WebServlet("/HelloWorld")
    28. public class HelloWorldServlet extends HttpServlet {
    29. 
    30.    static String PAGE_HEADER = "<html><head /><body>";
    31.
    32.    static String PAGE_FOOTER = "</body></html>";
    33.
    34.    @Inject
    35.    HelloService helloService;
    36.
    37.    @Override
    38.    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
                                 throws ServletException, IOException {
    39.       PrintWriter writer = resp.getWriter();
    40.       writer.println(PAGE_HEADER);
    41.       writer.println("<h1>" + helloService.createHelloMessage("World") + "</h1>");
    42.       writer.println(PAGE_FOOTER);
    43.       writer.close();
    44.     }
    45. 
    46. }
    
    

    Tableau 1.1. Infos HelloWorldServlet

    Ligne Note
    27 Avant Java EE 6, on utilisait un fichier XML pour enregistrer les Servlets. C'est bien plus clean. Tout ce qu'il vous reste à faire est d'ajouter l'annotation @WebServlet et de fournir un mappage vers un URL qui est utilisé pour accéder au serveur.
    30-32 Chaque page web a besoin d'HTML formé correctement. Ce Quickstart utilise les Strings statiques pour écrire les sorties minimum de l'en-tête et du pied de page.
    34-35 Ces lignes injectent le bean CDI HelloService, qui génère le message réel. Tant que nous ne changeons les API de HelloService, cette approche nous permet de modifier l'implémentation de HelloService à une date ultérieure sans changer l'affichage.
    41 Cette ligne appelle le service pour générer le message "Hello World", et l'écrire dans la requête HTTP.
  2. Vérifier le code HelloService

    Le fichier HelloService.java se trouve dans le répertoire src/main/java/org/jboss/as/quickstarts/helloworld/. Ce service est très simple. Il renvoie un message. Nul besoin d'enregistrement d'annotation ou XML.
     9. public class HelloService {
    10. 
    11.    String createHelloMessage(String name) {
    12.       return "Hello " + name + "!"; 
    32.    }
    33. }
    34.