- Kit de développement logiciel Java EE ;
- Serveur d'applications Java EE GlassFish ;
- Configuration d'IntelliJ IDEA.
- Montrez comment vous pouvez préparer un environnement de travail pour travailler avec des applications Java EE.
- Montrez comment vous pouvez déployer et exécuter des applications Java EE à partir d'IntelliJ IDEA sur le serveur GlassFish.
- Téléchargez et installez le SDK Java EE 7.
- Levons le serveur d'applications Java EE GlassFish.
- Apprenons comment démarrer et arrêter le serveur via la ligne de commande.
- Configurons IntelliJ IDEA pour déployer des applications sur ce serveur.
- Déployons et exécutons l'application de démonstration qui, avec le serveur d'applications GlassFish, est incluse dans le SDK Java EE 7.
- VerreFish 4.0 ;
- IntelliJ IDEA 2019.3.1 (ultime);
- SDK Java EE 7.
Installation du SDK Java EE
Condition importante. Avant d'installer le SDK Java EE, vous devez vous assurer que le SDK Java SE est préinstallé.-
Tout d’abord, nous devons télécharger le SDK. Pour cela, vous pouvez taper dans un moteur de recherche : « Java EE SDK 7 », ou vous rendre directement sur la page de téléchargement du sdk depuis le site d'Oracle.
-
Dans la liste des SDK fournis, vous devez sélectionner celui qui convient à votre plateforme. L'article décrit l'installation de la distribution : « java_ee_sdk-7-jdk7-windows-x64-ml.exe »
-
Exécutez le fichier d'installation. Lors du démarrage, l'erreur suivante peut se produire (si elle ne se produit pas, vous pouvez simplement poursuivre l'installation) :
Cela signifie que le programme d'installation n'a pas pu trouver le chemin d'accès à l'environnement d'exécution Java préinstallé. L'erreur peut être corrigée en transmettant manuellement le chemin d'accès au JRE à l'aide de la ligne de commande. Pour ce faire, vous devez exécuter le fichier d'installation via PowerShell et transmettre le chemin d'accès au JRE préinstallé via le paramètre -j.
Par exemple, comme ceci :
-
La procédure d'installation ultérieure est assez typique pour la plupart des programmes. Tout ce que vous avez à faire est de cliquer sur les boutons Suivant et Installer.
Le programme installera le SDK Java EE, ainsi que le serveur GlassFish, qui, une fois l'installation terminée, seront opérationnels et prêts à être utilisés. -
Pour vous assurer que le serveur GlassFish fonctionne, une fois l'installation terminée, vous pouvez ouvrir le panneau d'administration du serveur, qui sera disponible à l'adresse : http://localhost:4848/
Capture d'écran ci-dessous :
GlassFish démarre et s'arrête via la ligne de commande
Le serveur est donc opérationnel, mais le démarrage du serveur a été initié par le programme d'installation. Ci-dessous, nous essaierons de comprendre comment démarrer et arrêter le serveur vous-même. Tout d'abord, révélons une telle entité en tant que domaine. Un domaine est un ensemble d'une ou plusieurs instances de serveur GlassFish gérées par un serveur d'administration. Lors de l'installation du serveur GlassFish, un domaine par défaut est créé - domain1. Les composants suivants lui sont associés :- Port du serveur (par défaut 8080) ;
- Port du serveur d'administration (4848 par défaut) ;
- Nom d'utilisateur et mot de passe de l'administrateur (la valeur par défaut est admin et aucun mot de passe n'est requis par défaut).
asadmin start-domain domain_name
asadmin stop-domain domain_name
Essayons d'arrêter le serveur (puisqu'il est déjà en cours d'exécution après l'installation) en exécutant PowerShell depuis le sous-répertoire C:\glassfish4\glassfish\bin : Le serveur est arrêté. Maintenant, exécutons-le :
Nous analysons la première application Java EE, dukes-age
Nous examinerons ensuite une application de démonstration Java EE : dukes-age. Cette application est incluse dans le SDK Java EE avec l'application First-Cup. Les descriptions de ces applications sont présentées sur le site Web de documentation officiel d'Oracle dans les sections 3 et 4 du cours d'introduction à Java EE pour les développeurs Java EE débutants . Dans cet article, nous examinerons brièvement l'application Dukes-Age et examinerons plus en détail le processus de lancement de cette application sur le serveur GlassFish à partir de l'environnement de développement IntelliJ IDEA. L'application se trouve dans le répertoire du serveur glassfish. Si vous n'avez pas modifié le chemin par défaut du serveur glassfish lors de l'installation du SDK Java EE, vous pouvez trouver cette application dans le dossier : C:\glassfish4\docs\firstcup\example\dukes-age . Probablement tous les développeurs Java, débutants et expérimentés, ont vu au moins une fois la mascotte du langage de programmation Java - Duke : Peu de gens savent que Duke a un anniversaire. Il est né le 23 mai 1995, lorsque la première version démo de la technologie Java a été publiée. L'application Dukes-Age, comme son nom l'indique, fournit des informations sur l'âge de Duke. Ouvrons cette application dans IntelliJ IDEA : Fichier -> Nouveau -> Projet à partir de sources existantes... Accédez ensuite au dossier contenant l'application dukes-age, située par défaut dans C:\glassfish4\docs\firstcup\example\dukes- age , sélectionnez le fichier pom.xml et cliquez sur OK : Une application avec la structure suivante s'ouvrira : Jetons un coup d'œil au code de la classeDukesAgeResource
:
package firstcup.dukesage.resource;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
/**
* REST Web Service
*
*/
@Path("dukesAge")
public class DukesAgeResource {
/** Creates a new instance of DukesAgeResource */
public DukesAgeResource() {
}
/**
* Retrieves representation of an instance of DukesAgeResource
* @return an instance of java.lang.String
*/
@GET
@Produces("text/plain")
public String getText() {
// Create a new Calendar for Duke's birthday
Calendar dukesBirthday = new GregorianCalendar(1995, Calendar.MAY, 23);
// Create a new Calendar for today
Calendar now = GregorianCalendar.getInstance();
// Subtract today's year from Duke's birth year, 1995
int dukesAge = now.get(Calendar.YEAR) - dukesBirthday.get(Calendar.YEAR);
dukesBirthday.add(Calendar.YEAR, dukesAge);
// If today's date is before May 23, subtract a year from Duke's age
if (now.before(dukesBirthday)) {
dukesAge--;
}
// Return a String representation of Duke's age
return "" + dukesAge;
}
}
Il s'agit d'un service Web JAX-RS RESTful avec une seule méthode - getText()
. Si vous examinez le code de cette méthode, il devient clair que la méthode renvoie le nombre d'années écoulées depuis la naissance de Duke. Autrement dit, la méthode renvoie l'âge de Duke. Une classe est une ressource dans un contexte REST.
- L'annotation au-dessus de la classe
@Path("dukesAge")
définit le chemin URI vers lequel les appels seront traités par cette classe. - L'annotation au-dessus de la méthode
@GET
nous indique que cette méthode traite les requêtes GET. - L'annotation
@Produces("text/plain")
spécifie le type de média de la réponse à la demande. Il n'est pas difficile de deviner que la méthodegetText()
générera des réponses avec le type de média : texte/plain.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
</web-app>
Dans ce fichier, à l'intérieur de la balise servlet-mapping
, une balise url-pattern
avec la valeur est définie /webapi/*
. Ici, un certain point racine est défini, les appels vers lesquels seront traités ultérieurement par le service. Si combiné avec l'annotation @Path("dukesAge")
, il s'avère que pour obtenir des informations sur l'âge de Duke, vous devez contacter l'adresse /webapi/dukesAge.
Configuration d'IntelliJ IDEA pour exécuter une application Java EE sur un serveur GlassFish
Maintenant que nous avons une idée très générale de l'application dukes-age (en savoir plus à ce sujet sur le site Oracle ), configurons IntelliJ IDEA pour pouvoir exécuter cette application depuis notre IDE. Configuration d'IntelliJ IDEA- Pour cela, allez dans le menu Exécuter -> Modifier les configurations.
- Le panneau Configurations d'exécution/débogage s'ouvrira :
- Nous devons ajouter une nouvelle configuration. Pour ce faire, cliquez sur le signe plus ou utilisez le raccourci clavier Alt+Inser. Dans la liste qui s'ouvre, sélectionnez GlassFish Server -> Local :
- Dans la fenêtre qui s'ouvre, commençons par configurer la configuration :
- L'étape suivante consiste à indiquer les artefacts qui devront être déployés sur le serveur. Cela peut être fait via l'onglet Déploiement en cliquant sur le plus -> Artefact...
- Sélectionnez dukes-age:war et cliquez sur OK :
- Enregistrez ensuite notre configuration en cliquant sur Appliquer puis sur OK.
Lancement de l'application
Essayons maintenant d'exécuter l'application.-
Pour ce faire, vous pouvez utiliser le raccourci clavier Alt+Shift+F10, ou via le menu Exécuter -> Exécuter...
Et sélectionnez la configuration Dukes-Age que nous avons créée :
-
Après cela, nous voyons les journaux de démarrage dans le panneau Services :
-
Ensuite, si tout est fait selon les instructions, le navigateur s'ouvrira et il deviendra clair que rien ne fonctionne :
-
Pour cela, retournons dans IntelliJ IDEA, puis dans le menu : Exécuter -> Modifier les configurations...
-
Sélectionnons la configuration précédemment enregistrée et mettons à jour l'URL conformément à la capture d'écran ci-dessous :
-
Sauvegardons la configuration et redémarrons notre application en utilisant le raccourci clavier Ctrl+Shift+F10, ou en utilisant un bouton spécial sur le panneau Services :
-
Après le redémarrage, si tout a été fait correctement, nous verrons l'âge de Duke :
Conclusion
Dans cet article, nous avons examiné comment configurer votre environnement local pour qu'il fonctionne avec les applications Java EE en utilisant l'exemple du serveur GlassFish 4.0, l'environnement de développement IntelliJ IDEA 2019.3.1 (Ultimate) et le SDK Java EE version 7. Nous avons examiné comment vous pouvez :- téléchargez et installez le SDK Java EE, ainsi que le serveur GlassFish ;
- arrêter et démarrer le serveur GlassFish via PowerShell ;
- configurez IntelliJ IDEA afin de pouvoir déployer des applications Java EE de l'IDE vers le serveur GlassFish et les lancer immédiatement.
Tâche bonus
- Répétez vous-même toutes les étapes décrites.
- Suivez un cours d'introduction à Java EE pour les développeurs Java EE débutants d'Oracle .
- Article avec un astérisque. Essayez de déployer vous-même la deuxième application de démonstration First-Cup. Cette application est plus interactive et interagit également avec l'application Dukes-Age. Pour réaliser cette étape, vous devrez comprendre de manière indépendante les questions suivantes :
- Comment activer la base de données à l'intérieur du serveur glassFish ;
- Comment intégrer deux applications entre elles (à l'intérieur de First-Cup, indiquez le chemin vers le point final Dukes-Age, dont nous avons discuté dans cet article) ;
- Comment créer une nouvelle configuration dans Intellij IDEA pour le déploiement de la première tasse (similaire à ce qui a été montré dans cet article) ;
- Peut-être beaucoup d'autres questions)
GO TO FULL VERSION