22. Appendici
Di seguito viene illustrato come installare gli strumenti utilizzati in questo documento su computer con sistema operativo Windows 7 o 8. Le schermate riportate si riferiscono generalmente alle versioni a 64 bit di SGBD e degli strumenti installati. Il lettore dovrà adattare la procedura al proprio ambiente.
22.1. Installazione di un JDK
All'indirizzo URL si trova il [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (ottobre 2014), mentre il JDK è la versione più recente. D'ora in poi chiameremo <jdk-install> la cartella di installazione del JDK.
![]() |
22.2. Installazione di Maven
Maven è uno strumento per la gestione delle dipendenze di un progetto Java e non solo. È disponibile (ottobre 2014) all'indirizzo URL [http://maven.apache.org/download.cgi].
![]() |
Scaricare e decomprimere l’archivio. Chiameremo <maven-install> la cartella di installazione di Maven.
![]() |
- In [1], il file [conf / settings.xml] configura Maven;
In esso si trovano 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 della riga 4 può causare problemi ad alcuni software che utilizzano Maven, se, come nel mio caso, il vostro {user.home} contiene uno spazio nel percorso (ad esempio [C:\Users\Serge Tahé]). Indicheremo (riga 7) un'altra cartella per il repository locale di Maven:
<!-- 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>
Si eviterà, alla riga 7, un percorso che contenga spazi.
22.3. Installazione di STS (Spring Tool Suite)
Installeremo la Spring Tool Suite SpringSource (ottobre 2014), un'istanza di Eclipse preconfigurata con numerosi plugin relativi al framework Spring e con una configurazione Maven preinstallata.
![]() |
- visitare il sito della 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 file [3A] [3B]. In [4], si avvia l'eseguibile,
- in [5], la finestra di lavoro di 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 indicare a STS la cartella di installazione di Maven:
![]() |
- in [1-2], si configura STS;
- in [3-4] si aggiunge una nuova installazione di Maven;
![]() |
- in [5], si indica la cartella di installazione di Maven;
- in [6], si completa la procedura guidata;
- in [7], si imposta la nuova installazione di Maven come installazione predefinita;
![]() |
- in [8-9], si verifica il repository locale di Maven, ovvero la cartella in cui verranno salvate le dipendenze scaricate e in cui STS salverà gli artefatti che verranno compilati;
È inoltre necessario selezionare un JDK (Java Development Kit) per eseguire sia i progetti Eclipse senza Maven che quelli con Maven [1-5].
![]() |
Con [4] è possibile aggiungere JDK (Java Development Kit) o JRE (Java Runtime Environment). Quest'ultimo è in grado di eseguire file .class ma non di compilare i file .java per generarli. Il JDK è in grado di eseguire entrambe le operazioni. Si opterà per un JDK poiché alcune operazioni Maven richiedono un JDK.
Per creare un progetto Eclipse, si procederà come segue:
![]() |
- in [3], assegnare un nome al progetto;
- in [4], selezionare una cartella esistente e vuota;
![]() |
- in [5], il progetto creato;
- in [5-8], creare un pacchetto. Un pacchetto è una cartella che contiene codice Java. Due classi possono avere lo stesso nome se appartengono a pacchetti diversi. In un progetto non possono esserci due pacchetti con lo stesso nome. Pertanto, non è possibile utilizzare un nome di pacchetto che esista già in una delle dipendenze del progetto. Un’azienda utilizzerà come nome del pacchetto un nome che specifichi l’azienda, il progetto e i diversi rami di quest’ultimo;
![]() |
- in [9], assegnare un nome al pacchetto;
- in [10], il pacchetto creato;
![]() |
- in [11-13], si crea una classe nel pacchetto appena creato;
![]() |
- in [14], assegnare un nome alla classe (deve rispettare la norma CamelCase - ogni parola del nome deve iniziare con una maiuscola seguita da lettere minuscole);
- in [15], verificare il pacchetto;
- in [16], spuntare la casella. Questa richiede che venga generato il metodo statico [main]. Questo metodo rende una classe eseguibile, ovvero la prima classe da eseguire in un progetto;
- in [17], la classe così creata;
Digitare nel metodo [main] il seguente codice che visualizza un testo sulla console:
package st.istia;
public class Test01 {
public static void main(String[] args) {
System.out.println("test01");
}
}
![]() |
- in [18-20], eseguire la classe. Verrà quindi eseguito il suo metodo [main];
![]() |
- in [21-22], il risultato dell'applicazione;
Se la vista [Console] non è presente, procedere come segue [1-4]:
![]() |
È possibile che durante l’importazione di un progetto Eclipse si verifichino degli errori. Ciò può essere dovuto a una configurazione errata del progetto. Per correggere l’errore (se presente), procedere come segue:
![]() |
- in [1], modificare il file [Build Path] del progetto;
![]() |
- in [2], il progetto è configurato per utilizzare un JVM 1.5;
- in [3], eliminare questa dipendenza;
- in [4], aggiungere una nuova dipendenza;
![]() |
- in [5], si aggiunge un JVM;
- in [6], si seleziona JVM dalla voce;
Fatto ciò, si conferma il tutto e si passa alla proprietà [Java compiler] del progetto [7]:
![]() |
- in [8], si richiede al compilatore di accettare tutte le caratteristiche del linguaggio Java fino alla versione 1.7 (o 1.8) compresa;
- in [9], si esegue la convalida;
- in [10], il progetto così riconfigurato non dovrebbe più presentare errori;
Inoltre, il progetto importato può utilizzare una codifica dei caratteri UTF-8. Procedere come segue per impostare questa codifica nel progetto importato [1-4]:
![]() |
Inoltre, può essere utile disattivare il controllo ortografico nel progetto per evitare che i commenti in francese vengano evidenziati come errati. Seguire i passaggi [1-4] riportati di seguito:
![]() |
22.4. Installazione di IDE NetBeans
NetBeans è disponibile all'indirizzo URL [http://netbeans.org/downloads/].
![]() |
È possibile scaricare qui sopra la versione Java SE (Standard Edition).
22.5. Installazione del plugin per Chrome [Advanced Rest Client]
In questo documento si utilizza il browser Chrome di Google (http://www.google.fr/intl/fr/chrome/browser/). Si aggiungerà l’estensione [Advanced Rest Client]. Si procederà come segue:
- visitare il sito di [Google Web store] (https://chrome.google.com/webstore) con il browser Chrome;
- cercare l’applicazione [Advanced Rest Client]:
![]() |
- l’applicazione sarà quindi disponibile per il download:
![]() |
- per scaricarla, è necessario creare un account Google. [Google Web Store] richiede quindi la conferma [1]:
![]() |
- In [2], l’estensione aggiunta è disponibile nell’opzione [Applications] [3]. Questa opzione viene visualizzata su ogni nuova scheda che create (CTRL-T) nel browser.
22.6. Gestione di jSON in Java
In modo tra sparente 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 oggetti in jSON ed esegue l'operazione inversa deserializzando le stringhe jSON prodotte per ricreare gli oggetti iniziali.
La libreria «Jackson» consente di costruire:
- la stringa jSON di un oggetto: new ObjectMapper().writeValueAsString(object);
- un oggetto a partire da una stringa jSON: new ObjectMapper().readValue(jsonString, Object.class).
Entrambi i metodi possono generare un 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 [Personne] è la seguente:
package istia.st.json;
public class Personne {
// dati
private String nom;
private String prenom;
private int age;
// costruttori
public Personne() {
}
public Personne(String nom, String prénom, int âge) {
this.nom = nom;
this.prenom = prénom;
this.age = âge;
}
// firma
public String toString() {
return String.format("Personne[%s, %s, %d]", nom, prenom, age);
}
// getter e setter
...
}
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 {
// lo strumento di serializzazione/deserializzazione
static ObjectMapper mapper = new ObjectMapper();
public static void main(String[] args) throws IOException {
// creazione di una persona
Personne paul = new Personne("Denis", "Paul", 40);
// visualizzazione jSON
String json = mapper.writeValueAsString(paul);
System.out.println("Json=" + json);
// istanziazione di una persona da JSON
Personne p = mapper.readValue(json, Personne.class);
// visualizzazione persona
System.out.println("Personne=" + p);
// un array
Personne virginie = new Personne("Radot", "Virginie", 20);
Personne[] personnes = new Personne[]{paul, virginie};
// visualizzazione JSON
json = mapper.writeValueAsString(personnes);
System.out.println("Json personnes=" + json);
// dizionario
Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
hpersonnes.put("1", paul);
hpersonnes.put("2", virginie);
// visualizzazione JSON
json = mapper.writeValueAsString(hpersonnes);
System.out.println("Json hpersonnes=" + json);
}
}
L'esecuzione di questa classe produce la seguente visualizzazione sullo schermo:
Dall'esempio si ricava quanto segue:
- l'oggetto [ObjectMapper] necessario per le trasformazioni jSON / Oggetto: riga 11;
- la trasformazione [Personne] --> jSON: riga 17;
- la trasformazione jSON --> [Personne]: riga 20;
- l'eccezione [IOException] generata da entrambi i metodi: riga 13.
22.7. Installazione di [WampServer]
[WampServer] è , una suite di software per lo sviluppo in PHP / MySQL / Apache su un computer Windows. Lo useremo esclusivamente per SGBD e MySQL.
![]() |
- sul sito di [WampServer] [1], scegliere la versione adatta [2],
- il file eseguibile scaricato è un programma di installazione. Durante l'installazione vengono richieste diverse informazioni. Queste non riguardano MySQL. È quindi possibile ignorarle. Al termine dell’installazione viene visualizzata la finestra [3]. Si avvia [WampServer],
![]() |
- in [4]; l’icona di [WampServer] viene installata nella barra delle applicazioni in basso a destra dello schermo [4],
- quando si fa clic su di essa, viene visualizzato il menu [5]. Esso consente di gestire il server Apache e il SGBD MySQL. Per gestirlo, si utilizza l’opzione [PhpPmyAdmin];
- si ottiene quindi la finestra riportata di seguito,

Non forniremo molti dettagli sull’utilizzo di [PhpMyAdmin]. Nel paragrafo 6.4.2 mostriamo come utilizzarlo per creare un database a partire da uno script SQL.






























