9. Anexos
Aqui explicamos como instalar as ferramentas utilizadas neste documento em computadores com Windows 7 ou 8.
9.1. Instalação de um JDK
O JDK mais recente pode ser encontrado no URL [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (outubro de 2014). Doravante, referir-nos-emos à pasta de instalação do JDK como <jdk-install>.
![]() |
9.2. Instalação do Maven
O Maven é uma ferramenta para gerir dependências num projeto Java e muito mais. Está disponível em [http://maven.apache.org/download.cgi].
![]() |
Descarregue e descompacte o arquivo. Iremos referir-nos à pasta de instalação do Maven como <maven-install>.
![]() |
- Em [1], o ficheiro [conf/settings.xml] configura o Maven;
Contém as seguintes linhas:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
O valor padrão na linha 4, se, tal como eu, o seu caminho {user.home} contiver um espaço (por exemplo, [C:\Users\Serge Tahé]), pode causar problemas com determinados softwares, incluindo o IntelliJ IDEA. Deve então escrever algo como:
<!-- 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 na linha 7, evite utilizar um caminho que contenha espaços.
9.3. Instalação do STS (Spring Tool Suite)
Iremos instalar o SpringSource Tool Suite [http://www.springsource.com/developer/sts], um ambiente Eclipse pré-configurado com vários plugins relacionados com o framework Spring e também com uma configuração do Maven pré-instalada.
![]() |
- Aceda ao site do SpringSource Tool Suite (STS) [1] para descarregar a versão atual do STS [2A] [2B].
![]() |
![]() |
- O ficheiro descarregado é um instalador que cria a estrutura de diretórios [3A] [3B]. Em [4], executamos o ficheiro executável,
- em [5], a janela do espaço de trabalho do IDE após fechar a janela de boas-vindas. Em [6], exibe a janela dos servidores de aplicações,
![]() |
- em [7], a janela dos servidores. Um servidor está registado. Trata-se de um servidor VMware compatível com Tomcat.
Deve especificar o diretório de instalação do Maven ao STS:
![]() |
- em [1-2], configure o STS;
- em [3-4], adicione uma nova instalação do Maven;
![]() |
- em [5], especifique o diretório de instalação do Maven;
- em [6], conclua o assistente;
- em [7], defina a nova instalação do Maven como padrão;
![]() |
- Em [8-9], verifique o repositório local do Maven — a pasta onde serão armazenadas as dependências descarregadas e onde o STS colocará os artefactos compilados;
9.4. Instalação de um servidor Tomcat
Os servidores Tomcat estão disponíveis no URL [http://tomcat.apache.org/download-80.cgi]. Os exemplos neste documento foram testados com a versão 8.0.9, disponível no URL [http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.9/bin/].
![]() |
Descarregue [1] o ficheiro ZIP adequado para a sua estação de trabalho. Depois de descompactado, verá a estrutura de diretórios [2]. Feito isto, pode adicionar este servidor aos servidores STS:
![]() |
- Em [1-3], adicione um novo servidor no STS; (para abrir a janela «Servidores», vá a «Janela» / «Mostrar vista» / «Outros» / «Servidor» / «Servidores»);
![]() |
- em [5], selecione um servidor Tomcat 8;
- Em [6], atribua um nome a este servidor;
- em [8], especifique o diretório de instalação do Tomcat baixado anteriormente;
- Em [9], o novo servidor;
![]() |
- Em [11-12], inicie o servidor Tomcat 8;
- em [13-14], a janela de registo;
- em [15], para o parar;
9.5. Instalação do [WampServer]
O [WampServer] é , um pacote de software para desenvolvimento com PHP, MySQL e Apache em uma máquina Windows. Vamos utilizá-lo exclusivamente para o sistema de gestão de bases de dados MySQL.
![]() |
- No site do [WampServer] [1], escolha a versão adequada [2].
- O executável descarregado é um instalador. São solicitadas várias informações durante a instalação. Estas não dizem respeito ao MySQL, pelo que pode ignorá-las. A janela [3] aparece no final da instalação. Inicie o [WampServer],
![]() |
- em [4], o ícone [WampServer] aparece na barra de tarefas no canto inferior direito do ecrã [4],
- ao clicar nele, aparece o menu [5]. Este permite-lhe gerir o servidor Apache e o SGBD MySQL. Para gerir este último, utilize a opção [PhpMyAdmin],
- que abre a janela apresentada abaixo,

Apresentaremos aqui alguns detalhes sobre como utilizar o [PhpMyAdmin]. O documento fornece as informações necessárias quando necessário.
9.6. Instalação do plugin do Chrome [Advanced Rest Client]
Neste documento, utilizamos o navegador Chrome da Google (http://www.google.fr/intl/fr/chrome/browser/). Iremos adicionar-lhe a extensão [Advanced Rest Client]. Eis como o fazer:
- Aceda à [Google Web Store] (https://chrome.google.com/webstore) utilizando o navegador Chrome;
- procure a aplicação [Advanced Rest Client]:
![]() |
- A aplicação fica então disponível para download:
![]() |
- Para o obter, terá de criar uma conta Google. A [Google Web Store] irá então solicitar uma confirmação [1]:
![]() |
- em [2], a extensão adicionada está disponível na opção [Aplicações] [3]. Esta opção aparece em cada nova guia que criar (CTRL-T) no navegador.
9.7. Gestão de JSON em Java
De forma transparente para o programador, a estrutura [Spring MVC] utiliza a biblioteca JSON [Jackson]. Para ilustrar o que é JSON (JavaScript Object Notation), apresentamos aqui um programa que serializa objetos em JSON e faz o inverso, deserializando as cadeias de caracteres JSON geradas para recriar os objetos originais.
A biblioteca «Jackson» permite-lhe construir:
- a cadeia JSON de um objeto: new ObjectMapper().writeValueAsString(object);
- um objeto a partir de uma cadeia JSON: new ObjectMapper().readValue(jsonString, Object.class).
Ambos os métodos podem lançar uma IOException. Aqui está um exemplo.
![]() |
O projeto acima é um projeto Maven com o seguinte ficheiro [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>
- linhas 12–16: a dependência que inclui a biblioteca «Jackson»;
A classe [Person] é a seguinte:
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
...
}
A classe [Main] é a seguinte:
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);
}
}
A execução desta classe produz a seguinte saída no ecrã:
Pontos-chave do exemplo:
- o objeto [ObjectMapper] necessário para as transformações JSON/Object: linha 11;
- a transformação [Person] --> JSON: linha 17;
- a transformação de JSON para [Person]: linha 20;
- a [IOException] lançada por ambos os métodos: linha 13.
9.8. Instalação do [WebStorm]
O [WebStorm] (WS) é o IDE da JetBrains para o desenvolvimento de aplicações HTML/CSS/JS. Achei-o perfeito para o desenvolvimento de aplicações Angular. O site de download é [http://www.jetbrains.com/webstorm/download/]. É um IDE pago, mas está disponível para download uma versão de avaliação de 30 dias. Existem versões acessíveis para uso pessoal e para estudantes.
Para instalar bibliotecas JS numa aplicação, o WS utiliza uma ferramenta chamada [Bower]. Esta ferramenta é um módulo do [Node.js], uma coleção de bibliotecas JS. Além disso, as bibliotecas JS são obtidas a partir de um repositório Git, o que requer um cliente Git na máquina que efetua o download.
9.8.1. Instalar o [node.js]
O site de download do [node.js] é [http://nodejs.org/]. Descarregue o instalador e execute-o. Por agora, é tudo o que precisa de fazer.
9.8.2. Instalar a ferramenta [bower]
A ferramenta [bower], que permite descarregar bibliotecas JavaScript, pode ser instalada de várias formas. Vamos instalá-la a partir da linha de comandos:
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)
- linha 1: o comando [node.js] que instala o módulo [bower]. Para que o comando funcione, o executável [npm] deve estar no PATH da máquina (ver secção abaixo);
9.8.3. Instalação do [Git]
O Git é um sistema de controlo de versões de software. Existe uma versão para Windows chamada [msysgit] disponível no URL [http://msysgit.github.io/]. Não utilizaremos o [msysgit] para gerir as versões da nossa aplicação, mas simplesmente para descarregar bibliotecas JS encontradas em sites como [https://github.com], que requerem um protocolo de acesso especial fornecido pelo cliente [msysgit]
O assistente de instalação apresenta vários passos, incluindo os seguintes:
![]() | ![]() |
Para os restantes passos da instalação, pode aceitar os valores predefinidos fornecidos.
Depois de instalar o Git, verifique se o executável está no PATH do seu computador: [Painel de Controlo / Sistema e Segurança / Sistema / Definições avançadas do sistema]:
![]() | ![]() |
A variável PATH tem o seguinte formato:
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
Verifique se:
- o caminho para a pasta de instalação do [node.js] esteja presente (aqui D:\Programas\javascript\node.js);
- o caminho para o executável do cliente Git esteja presente (aqui D:\Program Files\Utilities\Git\cmd);
9.8.4. Configurar o [WebStorm]
Vamos agora verificar a configuração do [WebStorm]
![]() | ![]() |
![]() |
Acima, selecione a opção [1]. A lista de módulos [node.js] já instalados aparece em [2]. Esta lista deverá conter apenas a linha [3] para o módulo [bower] se tiver seguido o processo de instalação anterior.
9.9. Instalação de um emulador Android
Os emuladores fornecidos com o SDK do Android são lentos, o que desincentiva a sua utilização. A empresa [Genymotion] oferece um emulador muito mais potente. Está disponível no URL [https://cloud.genymotion.com/page/launchpad/download/]
(fevereiro de 2014).
Terá de se registar para obter uma versão para uso pessoal. Descarregue o produto [Genymotion] com a máquina virtual VirtualBox;

Instale e, em seguida, inicie o [Genymotion]. A seguir, descarregue uma imagem para um tablet ou telemóvel:
![]() |
- em [1], adicione um dispositivo virtual;
- em [2], escolha um ou mais dispositivos para instalar. Pode refinar a lista apresentada especificando a versão Android pretendida [3] e o modelo do dispositivo [4];
![]() |
- Assim que o download estiver concluído, verá em [5] a lista de dispositivos virtuais disponíveis para testar as suas aplicações Android;




























