9. Appendici
Qui spieghiamo come installare gli strumenti utilizzati in questo documento su computer con Windows 7 o 8.
9.1. Installazione di un JDK
L'ultima versione del JDK è disponibile all'indirizzo [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (ottobre 2014). D'ora in poi ci riferiremo alla cartella di installazione del JDK come <jdk-install>.
![]() |
9.2. Installazione di Maven
Maven è uno strumento per la gestione delle dipendenze in un progetto Java e non solo. È disponibile all'indirizzo [http://maven.apache.org/download.cgi].
![]() |
Scarica e decomprimi l'archivio. Ci riferiremo alla cartella di installazione di Maven come <maven-install>.
![]() |
- In [1], il file [conf/settings.xml] configura Maven;
Contiene le seguenti righe:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
Il valore predefinito alla riga 4, se come me il tuo percorso {user.home} contiene uno spazio (ad esempio [C:\Users\Serge Tahé]), può causare problemi con alcuni software, tra cui IntelliJ IDEA. Dovresti quindi scrivere qualcosa del tipo:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\Programs\devjava\maven\.m2\repository</localRepository>
e alla riga 7, evitare di utilizzare un percorso che contenga spazi.
9.3. Installazione di STS (Spring Tool Suite)
Installeremo SpringSource Tool Suite [http://www.springsource.com/developer/sts], un ambiente Eclipse preconfigurato con numerosi plugin relativi al framework Spring e con una configurazione Maven preinstallata.
![]() |
- Visita il sito web di SpringSource Tool Suite (STS) [1] per scaricare la versione attuale di STS [2A] [2B].
![]() |
![]() |
- Il file scaricato è un programma di installazione che crea la struttura di directory [3A] [3B]. In [4], avviamo l'eseguibile,
- in [5], la finestra dell'area di lavoro dell'IDE dopo aver chiuso la finestra di benvenuto. In [6], viene visualizzata la finestra dei server delle applicazioni,
![]() |
- in [7], la finestra dei server. È registrato un server. Si tratta di un server VMware compatibile con Tomcat.
È necessario specificare la directory di installazione di Maven in STS:
![]() |
- in [1-2], configurare STS;
- in [3-4], aggiungere una nuova installazione di Maven;
![]() |
- in [5], specificare la directory di installazione di Maven;
- in [6], completare la procedura guidata;
- in [7], impostare la nuova installazione di Maven come predefinita;
![]() |
- In [8-9], verificare il repository Maven locale, ovvero la cartella in cui verranno memorizzate le dipendenze scaricate e in cui STS inserirà gli artefatti compilati;
9.4. Installazione di un server Tomcat
I server Tomcat sono disponibili all'URL [http://tomcat.apache.org/download-80.cgi]. Gli esempi in questo documento sono stati testati con la versione 8.0.9, disponibile all'URL [http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.9/bin/].
![]() |
Scaricare [1] il file ZIP appropriato per la propria workstation. Una volta decompresso, sarà visibile la struttura delle directory [2]. Una volta fatto ciò, è possibile aggiungere questo server ai server STS:
![]() |
- Nei punti [1-3], aggiungere un nuovo server in STS; (per aprire la finestra Server, selezionare Finestra / Mostra vista / Altro / Server / Server);
![]() |
- in [5], selezionare un server Tomcat 8;
- In [6], assegnare un nome a questo server;
- in [8], specificare la directory di installazione per il Tomcat scaricato in precedenza;
- In [9], il nuovo server;
![]() |
- In [11-12], avviare il server Tomcat 8;
- in [13-14], la sua finestra di log;
- in [15], per arrestarlo;
9.5. Installazione di [WampServer]
[WampServer] è , una suite di software per lo sviluppo con PHP, MySQL e Apache su un computer Windows. Lo useremo esclusivamente per il sistema di gestione di database MySQL.
![]() |
- Sul sito web di [WampServer] [1], scegli la versione appropriata [2].
- Il file eseguibile scaricato è un programma di installazione. Durante l'installazione vengono richieste diverse informazioni. Queste non riguardano MySQL, quindi puoi ignorarle. Al termine dell'installazione appare la finestra [3]. Avvia [WampServer],
![]() |
- in [4], l'icona [WampServer] appare nella barra delle applicazioni in basso a destra dello schermo [4],
- quando si fa clic su di essa, appare il menu [5]. Consente di gestire il server Apache e il DBMS MySQL. Per gestire quest'ultimo, utilizzare l'opzione [PhpMyAdmin],
- che apre la finestra mostrata di seguito,

Qui forniremo pochi dettagli su come utilizzare [PhpMyAdmin]. Il documento fornisce le informazioni necessarie quando richiesto.
9.6. Installazione del plugin di Chrome [Advanced Rest Client]
In questo documento utilizziamo il browser Chrome di Google (http://www.google.fr/intl/fr/chrome/browser/). Aggiungeremo l'estensione [Advanced Rest Client]. Ecco come procedere:
- Accedere al [Google Web Store] (https://chrome.google.com/webstore) utilizzando il browser Chrome;
- cerca l'app [Advanced Rest Client]:
![]() |
- L'app è quindi disponibile per il download:
![]() |
- per scaricarla, dovrai creare un account Google. Il [Google Web Store] ti chiederà quindi una conferma [1]:
![]() |
- in [2], l'estensione aggiunta è disponibile nell'opzione [Applicazioni] [3]. Questa opzione appare su ogni nuova scheda che crei (CTRL-T) nel browser.
9.7. Gestione di JSON in Java
In modo trasparente per lo sviluppatore, il framework [Spring MVC] utilizza la libreria JSON [Jackson]. Per illustrare cos'è il JSON (JavaScript Object Notation), presentiamo qui un programma che serializza gli oggetti in JSON ed esegue l'operazione inversa deserializzando le stringhe JSON generate per ricreare gli oggetti originali.
La libreria 'Jackson' consente di costruire:
- la stringa JSON di un oggetto: new ObjectMapper().writeValueAsString(object);
- un oggetto da una stringa JSON: new ObjectMapper().readValue(jsonString, Object.class).
Entrambi i metodi possono generare un'eccezione IOException. Ecco un esempio.
![]() |
Il progetto sopra riportato è un progetto Maven con il seguente file [pom.xml];
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>istia.st.pam</groupId>
<artifactId>json</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
</project>
- righe 12–16: la dipendenza che include la libreria 'Jackson';
La classe [Person] è la seguente:
package istia.st.json;
public class Personne {
// data
private String nom;
private String prenom;
private int age;
// manufacturers
public Personne() {
}
public Personne(String nom, String prénom, int âge) {
this.nom = nom;
this.prenom = prénom;
this.age = âge;
}
// signature
public String toString() {
return String.format("Personne[%s, %s, %d]", nom, prenom, age);
}
// getters and setters
...
}
La classe [Main] è la seguente:
package istia.st.json;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Main {
// the serialization / deserialization tool
static ObjectMapper mapper = new ObjectMapper();
public static void main(String[] args) throws IOException {
// creation of a person
Personne paul = new Personne("Denis", "Paul", 40);
// display jSON
String json = mapper.writeValueAsString(paul);
System.out.println("Json=" + json);
// person instantiation from Json
Personne p = mapper.readValue(json, Personne.class);
// person display
System.out.println("Personne=" + p);
// a picture
Personne virginie = new Personne("Radot", "Virginie", 20);
Personne[] personnes = new Personne[]{paul, virginie};
// json display
json = mapper.writeValueAsString(personnes);
System.out.println("Json personnes=" + json);
// dictionary
Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
hpersonnes.put("1", paul);
hpersonnes.put("2", virginie);
// json display
json = mapper.writeValueAsString(hpersonnes);
System.out.println("Json hpersonnes=" + json);
}
}
L'esecuzione di questa classe produce il seguente output sullo schermo:
Punti chiave dell'esempio:
- l'oggetto [ObjectMapper] necessario per le trasformazioni JSON/Object: riga 11;
- la trasformazione [Person] --> JSON: riga 17;
- la trasformazione da JSON a [Person]: riga 20;
- l'eccezione [IOException] generata da entrambi i metodi: riga 13.
9.8. Installazione di [WebStorm]
[WebStorm] (WS) è l'IDE di JetBrains per lo sviluppo di applicazioni HTML/CSS/JS. L'ho trovato perfetto per lo sviluppo di applicazioni Angular. Il sito di download è [http://www.jetbrains.com/webstorm/download/]. Si tratta di un IDE a pagamento, ma è disponibile per il download una versione di prova valida per 30 giorni. Esistono versioni personali e per studenti a prezzi accessibili.
Per installare le librerie JS all'interno di un'applicazione, WS utilizza uno strumento chiamato [Bower]. Questo strumento è un modulo di [Node.js], una raccolta di librerie JS. Inoltre, le librerie JS vengono recuperate da un repository Git, il che richiede un client Git sul computer che esegue il download.
9.8.1. Installazione di [node.js]
Il sito di download di [node.js] è [http://nodejs.org/]. Scarica il programma di installazione ed eseguilo. Per ora non devi fare altro.
9.8.2. Installazione dello strumento [bower]
Lo strumento [bower], che consente di scaricare librerie JavaScript, può essere installato in diversi modi. Lo installeremo dalla riga di comando:
C:\Users\Serge Tahé>npm install -g bower
C:\Users\Serge Tahé\AppData\Roaming\npm\bower -> C:\Users\Serge Tahé\AppData\Roaming\npm\node_modules\bower\bin\bower
bower@1.3.7 C:\Users\Serge Tahé\AppData\Roaming\npm\node_modules\bower
├── stringify-object@0.2.1
├── is-root@0.1.0
├── junk@0.3.0
...
├── insight@0.3.1 (object-assign@0.1.2, async@0.2.10, lodash.debounce@2.4.1, req
uest@2.27.0, configstore@0.2.3, inquirer@0.4.1)
├── mout@0.9.1
└── inquirer@0.5.1 (readline2@0.1.0, mute-stream@0.0.4, through@2.3.4, async@0.8
.0, lodash@2.4.1, cli-color@0.3.2)
- riga 1: il comando [node.js] che installa il modulo [bower]. Affinché il comando funzioni, l'eseguibile [npm] deve trovarsi nel PATH del computer (vedi sezione sottostante);
9.8.3. Installazione di [Git]
Git è un sistema di controllo delle versioni del software. Esiste una versione per Windows chiamata [msysgit] disponibile all'URL [http://msysgit.github.io/]. Non useremo [msysgit] per gestire le versioni della nostra applicazione, ma semplicemente per scaricare librerie JS presenti su siti come [https://github.com], che richiedono uno speciale protocollo di accesso fornito dal client [msysgit]
La procedura guidata di installazione prevede diversi passaggi, tra cui i seguenti:
![]() | ![]() |
Per le altre fasi di installazione, è possibile accettare i valori predefiniti forniti.
Una volta installato Git, verificare che l'eseguibile sia presente nel PATH del computer: [Pannello di controllo / Sistema e sicurezza / Sistema / Impostazioni di sistema avanzate]:
![]() | ![]() |
La variabile PATH ha questo aspetto:
D:\Programs\devjava\java\jdk1.7.0\bin;D:\Programs\ActivePerl\Perl64\site\bin;D:\Programs\ActivePerl\Perl64\bin;D:\Programs\sgbd\OracleXE\app\oracle\product\11.2.0\client;D:\Programs\sgbd\OracleXE\app\oracle\product\11.2.0\client\bin;D:\Programs\sgbd\OracleXE\app\oracle\product\11.2.0\server\bin;...;D:\Programs\javascript\node.js\;D:\Programs\utilitaires\Git\cmd
Verificare che:
- il percorso della cartella di installazione di [node.js] sia presente (in questo caso D:\Programmi\javascript\node.js);
- il percorso dell'eseguibile del client Git sia presente (in questo caso D:\Program Files\Utilities\Git\cmd);
9.8.4. Configurazione di [WebStorm]
Controlliamo ora la configurazione di [WebStorm]
![]() | ![]() |
![]() |
Sopra, seleziona l'opzione [1]. L'elenco dei moduli [node.js] già installati appare in [2]. Se hai seguito la procedura di installazione precedente, questo elenco dovrebbe contenere solo la riga [3] relativa al modulo [bower].
9.9. Installazione di un emulatore Android
Gli emulatori forniti con l'SDK Android sono lenti, il che ne scoraggia l'uso. L'azienda [Genymotion] offre un emulatore molto più potente. È disponibile all'URL [https://cloud.genymotion.com/page/launchpad/download/]
(febbraio 2014).
Dovrai registrarti per ottenere una versione per uso personale. Scarica il prodotto [Genymotion] con la macchina virtuale VirtualBox;

Installa e poi avvia [Genymotion]. Successivamente, scarica un'immagine per un tablet o uno smartphone:
![]() |
- in [1], aggiungi un dispositivo virtuale;
- in [2], scegli uno o più dispositivi da installare. Puoi affinare l'elenco visualizzato specificando la versione di Android desiderata [3] e il modello del dispositivo [4];
![]() |
- Una volta completato il download, vedrai in [5] l'elenco dei dispositivi virtuali disponibili per testare le tue app Android;




























