Play 2: un Web framework per Java

25 agosto 2014

Play 2 è un Web framework specifico per Java e Scala, esso si basa su una architettura lightweight, stateless e Web-friendly, inoltre, rappresenta un’implementazione di Akka, un motore per costruire applicazioni concorrenti, distribuite, altamente scalabili ed orientate alla Fault-Tollerance.

Installazione

Iniziamo effettuando il download del pacchetto dal sito ufficiale del progetto, nella pagina però viene indicato il package principale con l’activator, scarichiamo invece la versione da 108 mega nel link posizionato sotto la voce old version:

Figura 1. Il link per il download.

Il link per il download

Una volta scaricato, il pacchetto andrà scompattato in una cartella, nel nostro caso sotto c, per poi aggiungere alla variabile path di sistema il percorso alla cartella di installazione:

Figura 2. Impostazione del path alla cartella.

Impostazione del path alla cartella

Apriamo quindi una shell Dos e digitiamo play help, dovrebbe comparire un messaggio come quello riportato in figura:

Figura 3. Output del comando.

Output del comando

Ora posizioniamoci sotto la cartella c (la root) e digitiamo play new MyPlayApp questo lancerà un wizard in modalità testuale per creare la nostra prima Web application:

Figura 4. Il wizard testuale.

Il wizard testuale

L’applicazione verrà creata dopo aver effettuato le semplici scelte che il wizard richiede, se infatti apriamo la cartella sotto c:

Figura 5. La cartella della Web application.

La cartella della Web application

La cartella è organizzata secondo una struttura predefinita, questa modalità ricorda in maniera evidente la Convention Over Configuration ampiamente utilizzata da Maven e non solo. Ora importiamo la nostra applicazione in Eclipse, posizioniamoci quindi sotto la cartella della nostra applicazione e digitiamo play Eclipse. Va notato che il comando non funzionerà in maniera corretta se navighiamo attraverso un Proxy, in questo caso bisognerà impostare la variabile di ambiente HTTP_PROXY con il valore del nostro proxy (ad esempio: http://<proxy_name>:port) e lanciando il comando aggiungendo eventuali credenziali (ad esempio: play Eclipse -Dhttp.proxyUser=<user> -Dhttp.proxyPassword=<password>).

Figura 6. Import del progetto in Eclipse.

Import del progetto in Eclipse

Una volta importata l’applicazione potrebbe presentarsi il seguente problema:

Figura 7. Possibile errore.

Possibile errore

La soluzione è piuttosto semplice basta aprire il file .classpath e rimuovere la parte segnata in rosso nella prossima immagine:

Figura 8. Parte del test da eliminare.

Parte del test da eliminare

Effettuiamo il refresh dell’applicazione in Eclipse e l’errore scomparirà.

Avviamento del server

Ora avviamo il server, digitiamo quindi da shell Dos il comando

play ~run

Digitamo poi nel browser l’url: http://localhost:9000/; comparirà la schermata di benvenuto del nostro server:

Figura 9. La pagina di benvenuto del server.

La pagina di benvenuto del server

Nota: in alcuni casi potrebbe capitare di dover arrestare il server. Mentre con la prima release del fremework era sufficiente digitare il comando play stop, la versione 2 necessita invece di un work-around che consiste nel creare un file stop.bat (anche nella stessa cartella del progetto) recante il seguente contenuto:

@echo off 
if exist RUNNING_PID ( 
setlocal EnableDelayedExpansion 
set /p PLAY_PID=<RUNNING_PID 
echo killing pid !PLAY_PID! 
taskkill /F /PID !PLAY_PID! 
del RUNNING_PID 
endlocal 
)

Tale script arresterà il server quando necessario.

Se vuoi aggiornamenti su Play 2: un Web framework per Java inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Play 2: un Web framework per Java

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy