22. Anexos
Apresentamos aqui como instalar as ferramentas utilizadas neste documento em computadores com Windows 7 ou 8. As capturas de tela geralmente mostram as versões de 64 bits do SGBD e das ferramentas instaladas. O leitor deverá adaptar-se ao seu próprio ambiente.
22.1. Instalação de um JDK
No URL, encontra-se o [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (outubro de 2014), sendo o JDK a versão mais recente. A partir de agora, chamaremos de <jdk-install> a pasta de instalação do JDK.
![]() |
22.2. Instalação do Maven
O Maven é uma ferramenta de gerenciamento de dependências de um projeto Java e muito mais. Ele está disponível (outubro de 2014) no URL e no [http://maven.apache.org/download.cgi].
![]() |
Baixe e descompacte o arquivo. Chamaremos de <maven-install> a pasta de instalação do Maven.
![]() |
- No [1], o arquivo [conf / settings.xml] configura o Maven;
Nele, encontramos 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 da linha 4 pode causar problemas para alguns softwares que utilizam o Maven, caso, como no meu caso, seu {user.home} tenha um espaço no caminho (por exemplo, [C:\Users\Serge Tahé]). Vamos definir (linha 7) outra pasta para o repositório local do 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>
Na linha 7, evite um caminho que contenha espaços.
22.3. Instalação do STS (Spring Tool Suite)
Vamos instalar o SpringSource Tool Suite [http://www.springsource.com/developer/sts] (outubro de 2014), um Eclipse pré-configurado com diversos plug-ins relacionados ao framework Spring e também com uma configuração do Maven pré-instalada.
![]() |
- acesse o site do SpringSource Tool Suite (STS) [1], para baixar a versão atual do STS [2A] [2B],
![]() |
![]() |
- o arquivo baixado é um instalador que cria a estrutura de arquivos [3A] [3B]. No [4], executa-se o executável,
- em [5], a janela de trabalho do IDE após fechar a janela de boas-vindas. Em [6], exibe-se a janela dos servidores de aplicativos,
![]() |
- em [7], a janela dos servidores. Um servidor está registrado. Trata-se de um servidor VMware compatível com Tomcat.
É necessário indicar ao STS a pasta de instalação do Maven:
![]() |
- no [1-2], configura-se o STS;
- no [3-4], adiciona-se uma nova instalação do Maven;
![]() |
- em [5], especifica-se a pasta de instalação do Maven;
- no [6], finaliza-se o assistente;
- em [7], define-se a nova instalação do Maven como a instalação padrão;
![]() |
- em [8-9], verifica-se o repositório local do Maven, a pasta onde ele armazenará as dependências que baixar e onde STS colocará os artefatos que serão construídos;
Também é necessário escolher um JDK (Java Development Kit) para executar tanto os projetos do Eclipse sem quanto com o Maven [1-5].
![]() |
Com o [4], é possível adicionar o JDK (Java Development Kit) ou o JRE (Java Runtime Environment). Este último é capaz de executar arquivos .class, mas não sabe compilar os arquivos .java para gerá-los. O JDK é capaz de fazer as duas coisas. Escolheremos um JDK porque algumas operações do Maven exigem um JDK.
Para criar um projeto no Eclipse, proceda da seguinte maneira:
![]() |
- em [3], dê um nome ao projeto;
- em [4], selecione uma pasta existente e vazia;
![]() |
- em [5], o projeto criado;
- em [5-8], crie um pacote. Um pacote é uma pasta que contém código Java. Duas classes podem ter o mesmo nome se pertencerem a pacotes diferentes. Em um projeto, não pode haver dois pacotes com o mesmo nome. Portanto, não é possível usar um nome de pacote que já exista em uma das dependências do projeto. Uma empresa utilizará como nome de pacote um nome que especifique a empresa, o projeto e os diferentes ramos deste;
![]() |
- em [9], atribua um nome ao pacote;
- em [10], o pacote criado;
![]() |
- em [11-13], cria-se uma classe no pacote que foi criado;
![]() |
- em [14], dê um nome à classe (deve seguir a norma CamelCase — cada palavra do nome deve começar com letra maiúscula seguida de letras minúsculas);
- em [15], verifique o pacote;
- em [16], marque a caixa de seleção. Ela solicita que o método estático [main] seja gerado. Esse método torna uma classe executável, ou seja, a primeira classe a ser executada em um projeto;
- em [17], a classe assim criada;
Digite no método [main] o código a seguir, que exibe um texto no console:
package st.istia;
public class Test01 {
public static void main(String[] args) {
System.out.println("test01");
}
}
![]() |
- em [18-20], execute a classe. Seu método [main] será então executado;
![]() |
- em [21-22], o resultado da aplicação;
Se a visualização [Console] não estiver presente, proceda da seguinte forma [1-4]:
![]() |
É possível que, ao importar um projeto do Eclipse, ele apresente erros. Isso pode ser devido a uma configuração incorreta do projeto. Para corrigir o erro (se houver), proceda da seguinte forma:
![]() |
- no [1], altere o [Build Path] do projeto;
![]() |
- para [2], o projeto está configurado para usar um JVM 1.5;
- em [3], remova essa dependência;
- em [4], adicione uma nova dependência;
![]() |
- no [5], adicione um JVM;
- no [6], selecione o JVM do item;
Feito isso, confirma-se tudo e passa-se para a propriedade [Java compiler] do projeto [7]:
![]() |
- em [8], solicita-se ao compilador que aceite todas as características da linguagem Java até a versão 1.7 (ou 1.8), inclusive;
- em [9], valida-se;
- em [10], o projeto assim reconfigurado não deve mais apresentar erros;
Além disso, o projeto importado pode utilizar uma codificação de caracteres UTF-8. Siga estas etapas para definir essa codificação no projeto importado [1-4]:
![]() |
Além disso, pode ser útil desativar a verificação ortográfica no projeto para evitar que os comentários em francês sejam sublinhados como incorretos. Siga as etapas [1-4] abaixo:
![]() |
22.4. Instalação do IDE NetBeans
O NetBeans está disponível no URL [http://netbeans.org/downloads/].
![]() |
Pode-se baixar acima a versão Java SE (Standard Edition).
22.5. Instalação do plug-in do Chrome [Advanced Rest Client]
Neste documento, utilizamos o navegador Chrome do Google (http://www.google.fr/intl/fr/chrome/browser/). Adicionaremos a extensão [Advanced Rest Client]. Para isso, proceda da seguinte forma:
- acesse o site do [Google Web store] (https://chrome.google.com/webstore) com o navegador Chrome;
- procure o aplicativo [Advanced Rest Client]:
![]() |
- o aplicativo estará então disponível para download:
![]() |
- para obtê-la, você precisará criar uma conta do Google. O [Google Web Store] solicita, em seguida, a confirmação do [1]:
![]() |
- Em [2], a extensão adicionada fica disponível na opção [Applications] [3]. Essa opção é exibida em cada nova aba que você criar (CTRL-T) no navegador.
22.6. Gerenciamento do jSON em Java
De forma tra nsparente para o desenvolvedor, o framework [Spring MVC] utiliza a biblioteca jSON [Jackson]. Para ilustrar o que é o jSON (JavaScript Object Notation), apresentamos aqui um programa que serializa objetos em jSON e faz o inverso, deserializando as cadeias jSON geradas para recriar os objetos iniciais.
A biblioteca 'Jackson' permite construir:
- a string 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 gerar um IOException. Veja um exemplo.
O projeto acima é um projeto Maven com o seguinte arquivo [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 [Personne] é a seguinte:
package istia.st.json;
public class Personne {
// dados
private String nom;
private String prenom;
private int age;
// fabricantes
public Personne() {
}
public Personne(String nom, String prénom, int âge) {
this.nom = nom;
this.prenom = prénom;
this.age = âge;
}
// assinatura
public String toString() {
return String.format("Personne[%s, %s, %d]", nom, prenom, age);
}
// getters e 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 {
// a ferramenta de serialização/desserialização
static ObjectMapper mapper = new ObjectMapper();
public static void main(String[] args) throws IOException {
// criação de uma pessoa
Personne paul = new Personne("Denis", "Paul", 40);
// exibição jSON
String json = mapper.writeValueAsString(paul);
System.out.println("Json=" + json);
// instanciação de Pessoa a partir do JSON
Personne p = mapper.readValue(json, Personne.class);
// exibição de pessoa
System.out.println("Personne=" + p);
// uma tabela
Personne virginie = new Personne("Radot", "Virginie", 20);
Personne[] personnes = new Personne[]{paul, virginie};
// exibição de JSON
json = mapper.writeValueAsString(personnes);
System.out.println("Json personnes=" + json);
// dicionário
Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
hpersonnes.put("1", paul);
hpersonnes.put("2", virginie);
// exibição de JSON
json = mapper.writeValueAsString(hpersonnes);
System.out.println("Json hpersonnes=" + json);
}
}
A execução dessa classe gera a seguinte exibição na tela:
Deste exemplo, destacamos:
- o objeto [ObjectMapper] necessário para as transformações jSON / Objeto: linha 11;
- a transformação [Personne] --> jSON: linha 17;
- a transformação jSON --> [Personne]: linha 20;
- a exceção [IOException] lançada pelos dois métodos: linha 13.
22.7. Instalação do [WampServer]
O [WampServer] é , um conjunto de softwares para desenvolvimento em PHP / MySQL / Apache em uma máquina Windows. Vamos usá-lo exclusivamente para o SGBD e o MySQL.
![]() |
- no site do [WampServer] [1], escolha a versão adequada [2],
- o executável baixado é um instalador. Várias informações são solicitadas durante a instalação. Elas não dizem respeito ao MySQL. Portanto, podem ser ignoradas. A janela [3] é exibida ao final da instalação. Inicie o [WampServer],
![]() |
- no [4], o ícone do [WampServer] é instalado na barra de tarefas, na parte inferior direita da tela [4],
- ao clicar nele, o menu [5] é exibido. Ele permite gerenciar o servidor Apache e o SGBD MySQL. Para gerenciá-lo, use a opção [PhpPmyAdmin];
- e, então, é exibida a janela abaixo,

Não entraremos em muitos detalhes sobre o uso do [PhpMyAdmin]. Mostramos no parágrafo 6.4.2 como utilizá-lo para criar um banco de dados a partir de um script SQL.






























