- SDK Java EE;
- Server applicativo Java EE GlassFish;
- Configurazione di IntelliJ IDEA.
- Mostra come preparare un ambiente di lavoro per lavorare con le applicazioni Java EE.
- Mostra come distribuire ed eseguire applicazioni Java EE da IntelliJ IDEA sul server GlassFish.
- Scarica e installa Java EE 7 SDK.
- Creiamo Java EE Application Server GlassFish.
- Impariamo come avviare e arrestare il server tramite la riga di comando.
- Configuriamo IntelliJ IDEA per distribuire le applicazioni su questo server.
- Distribuiamo ed eseguiamo l'applicazione demo che, insieme al server delle applicazioni GlassFish, è inclusa nell'SDK Java EE 7.
- Pesce di vetro 4.0;
- IntelliJ IDEA 2019.3.1 (Ultimate);
- SDK JavaEE 7.
Installazione dell'SDK Java EE
Condizione importante. Prima di installare Java EE SDK, è necessario assicurarsi che Java SE SDK sia preinstallato.-
Per prima cosa dobbiamo scaricare l'SDK. Per fare ciò, puoi digitare in un motore di ricerca: "Java EE SDK 7" o andare direttamente alla pagina di download dell'SDK dal sito Web di Oracle.
-
Dall'elenco degli SDK forniti, devi selezionare quello adatto alla tua piattaforma. L'articolo descrive l'installazione della distribuzione: “java_ee_sdk-7-jdk7-windows-x64-ml.exe”
-
Esegui il file di installazione. Durante l'avvio potrebbe verificarsi il seguente errore (se non si verifica è possibile continuare semplicemente con l'installazione):
Ciò significa che il programma di installazione non è riuscito a trovare il percorso del Java Runtime Environment preinstallato. L'errore può essere corretto passando manualmente il percorso a JRE utilizzando la riga di comando. Per fare ciò è necessario eseguire il file di installazione tramite PowerShell e passare il percorso al JRE preinstallato tramite il parametro -j.
Ad esempio, in questo modo:
-
L'ulteriore procedura di installazione è abbastanza tipica per la maggior parte dei programmi. Tutto quello che devi fare è fare clic sui pulsanti Avanti e Installa.
Il programma installerà Java EE SDK, nonché il server GlassFish, che, al termine dell'installazione, sarà attivo e pronto per l'uso. -
Per assicurarti che il server GlassFish funzioni, al termine dell'installazione puoi aprire il pannello di amministrazione del server, che sarà disponibile all'indirizzo: http://localhost:4848/
Schermata seguente:
Avvio e arresto di GlassFish tramite riga di comando
Quindi, il server è attivo e funzionante, ma l'avvio del server è stato avviato dal programma di installazione. Di seguito proveremo a capire da soli come avviare e arrestare il server. Innanzitutto, riveliamo un'entità come un dominio. Un dominio è un insieme di una o più istanze del server GlassFish gestite da un server di amministrazione. Quando si installa il server GlassFish, viene creato un dominio predefinito: dominio1. Ad esso sono associati i seguenti componenti:- Porta del server (predefinita 8080);
- Porta del server di amministrazione (predefinita 4848);
- Nome utente e password dell'amministratore (l'impostazione predefinita è admin e non è richiesta alcuna password per impostazione predefinita).
asadmin start-domain domain_name
asadmin stop-domain domain_name
Proviamo ad arrestare il server (poiché è già in esecuzione dopo l'installazione) eseguendo PowerShell dalla sottodirectory C:\glassfish4\glassfish\bin : il server viene arrestato. Ora eseguiamolo:
Analizziamo la prima applicazione Java EE, Dukes-Age
Successivamente esamineremo un'applicazione Java EE demo: dukes-age. Questa applicazione è inclusa nell'SDK Java EE insieme all'applicazione first-cup. Le descrizioni di queste applicazioni sono presentate sul sito web ufficiale della documentazione Oracle nelle sezioni 3 e 4 del corso introduttivo su Java EE per sviluppatori Java EE principianti . In questo articolo esamineremo brevemente l'applicazione Dukes-Age ed esamineremo più in dettaglio il processo di avvio di questa applicazione sul server GlassFish dall'ambiente di sviluppo IntelliJ IDEA. L'applicazione si trova nella directory del server glassfish. Se non hai modificato il percorso predefinito per il server glassfish durante l'installazione di Java EE SDK, puoi trovare questa applicazione nella cartella: C:\glassfish4\docs\firstcup\example\dukes-age . Probabilmente ogni sviluppatore Java, principiante ed esperto, ha visto almeno una volta la mascotte del linguaggio di programmazione Java: Duke: poche persone sanno che Duke festeggia il compleanno. È nato il 23 maggio 1995, quando è stata pubblicata la prima versione demo della tecnologia Java. L'app Dukes-Age, come suggerisce il nome, fornisce informazioni sull'età di Duke. Apriamo questa applicazione in IntelliJ IDEA: File -> Nuovo -> Progetto da fonti esistenti... Quindi andiamo alla cartella con l'applicazione dukes-age, che si trova per impostazione predefinita in C:\glassfish4\docs\firstcup\example\dukes- age , selezionare il file pom.xml e cliccare su OK: Si aprirà un'applicazione con la seguente struttura: Diamo un'occhiata al codice della 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;
}
}
Questo è un servizio Web RESTful JAX-RS con un metodo: getText()
. Se esamini il codice di questo metodo, diventa chiaro che il metodo restituisce il numero di anni trascorsi dalla nascita di Duke. Cioè, il metodo restituisce l'età di Duke. Una classe è una risorsa in un contesto REST.
- L'annotazione sopra la classe
@Path("dukesAge")
definisce il percorso URI verso il quale le chiamate verranno elaborate da questa classe. - L'annotazione sopra il metodo
@GET
ci dice che questo metodo elabora le richieste GET. - L'annotazione
@Produces("text/plain")
specifica il tipo di supporto della risposta alla richiesta. Non è difficile intuire che il metodogetText()
genererà risposte con tipo di media: text/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>
In questo file, all'interno del tag servlet-mapping
, è definito un tag url-pattern
con il valore /webapi/*
. Qui viene definito un determinato punto radice, le cui chiamate verranno ulteriormente elaborate dal servizio. Se abbinato all’annotazione @Path("dukesAge")
, risulta che per avere informazioni sull’età di Duke è necessario contattare l’indirizzo /webapi/dukesAge.
Configurazione di IntelliJ IDEA per eseguire un'applicazione Java EE su un server GlassFish
Ora che abbiamo un'idea molto generale dell'applicazione Dukes-Age (maggiori informazioni sul sito Oracle ), configuriamo IntelliJ IDEA in modo da poter eseguire questa applicazione dal nostro IDE. Configurazione di IntelliJ IDEA- Per fare ciò, vai al menu Esegui -> Modifica configurazioni.
- Si aprirà il pannello Esegui/Debug configurazioni:
- Dobbiamo aggiungere una nuova configurazione. Per fare ciò, fare clic sul segno più o utilizzare il tasto di scelta rapida Alt+Inserisci. Nell'elenco che si apre, seleziona GlassFish Server -> Locale:
- Nella finestra che si apre, iniziamo a impostare la configurazione:
- Il passaggio successivo consiste nell'indicare gli artefatti che dovranno essere distribuiti sul server. Questo può essere fatto attraverso la scheda Distribuzione facendo clic sul segno più -> Artefatto...
- Selezionare Dukes-Age:War e fare clic su OK:
- Successivamente, salva la nostra configurazione facendo clic su Applica e poi su OK.
Avvio dell'applicazione
Ora proviamo a eseguire l'applicazione.-
Per fare ciò, puoi usare il tasto di scelta rapida Alt+Shift+F10, oppure tramite il menu Esegui -> Esegui...
E seleziona la configurazione Dukes-Age che abbiamo creato:
-
Successivamente vediamo i log di avvio nel pannello Servizi:
-
Quindi, se tutto viene eseguito secondo le istruzioni, il browser si aprirà e risulterà chiaro che non funziona nulla:
-
Per fare ciò, torniamo a IntelliJ IDEA, quindi al menu: Esegui -> Modifica configurazioni...
-
Selezioniamo la configurazione salvata in precedenza e aggiorniamo l'URL secondo lo screenshot qui sotto:
-
Salviamo la configurazione e riavviamo la nostra applicazione utilizzando la scorciatoia Ctrl+Shift+F10 o utilizzando un pulsante speciale nel pannello Servizi:
-
Dopo il riavvio, se tutto è stato fatto correttamente, vedremo l'età di Duke:
Conclusione
In questo articolo, abbiamo esaminato come configurare il tuo ambiente locale per funzionare con le applicazioni Java EE utilizzando l'esempio del server GlassFish 4.0, dell'ambiente di sviluppo IntelliJ IDEA 2019.3.1 (Ultimate) e Java EE SDK versione 7. Abbiamo esaminato come puoi:- scaricare e installare Java EE SDK, nonché il server GlassFish;
- fermare e avviare il server GlassFish tramite PowerShell;
- configurare IntelliJ IDEA in modo da poter distribuire applicazioni Java EE dall'IDE al server GlassFish e avviarle immediatamente.
Compito bonus
- Ripeti tu stesso tutti i passaggi descritti.
- Partecipa a un corso introduttivo su Java EE per sviluppatori Java EE principianti di Oracle .
- Elemento con un asterisco. Prova a distribuire tu stesso la seconda applicazione demo della prima tazza. Questa applicazione è più interattiva e interagisce anche con l'applicazione Dukes-Age. Per completare questo passaggio, dovrai comprendere in modo indipendente le seguenti domande:
- Come abilitare il database all'interno del server glassFish;
- Come integrare due applicazioni tra loro (all'interno della first-cup indicare il percorso verso l'endpoint Dukes-Age, di cui abbiamo parlato in questo articolo);
- Come creare una nuova configurazione in Intellij IDEA per la distribuzione first-cup (simile a quanto mostrato in questo articolo);
- Forse molte altre domande)
GO TO FULL VERSION