22. 附录
在此说明如何在 Windows 7 或 8 系统上安装本文档所用的工具。截图通常展示已安装的 64 位版本的数据库管理系统及工具。读者应根据自身环境进行调整。
22.1. 安装 JDK
最新版本的 JDK 可通过以下网址获取:[http://www.oracle.com/technetwork/java/javase/downloads/index.html](2014 年 10 月)。下文将把 JDK 安装目录简称为 <jdk-install>。
![]() |
22.2. 安装 Maven
Maven 是一款用于管理 Java 项目依赖关系及其他功能的工具。截至 2014 年 10 月,可通过 URL [http://maven.apache.org/download.cgi] 获取。
![]() |
下载并解压压缩包。我们将 Maven 安装目录称为 <maven-install>。
![]() |
- 在 [1] 中,文件 [conf/settings.xml] 用于配置 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>
-->
如果像我一样,你的 {user.home} 路径中包含空格(例如 [C:\Users\Serge Tahé]),第 4 行中的默认值可能会导致某些使用 Maven 的软件出现问题。我们将指定(第 7 行)一个不同的文件夹作为本地 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>
在第 7 行,请避免使用包含空格的路径。
22.3. 安装 STS(Spring Tool Suite)
我们将安装 SpringSource Tool Suite [http://www.springsource.com/developer/sts](2014 年 10 月版),这是一个预先配置了大量与 Spring 框架相关插件的 Eclipse 环境,并且已预装了 Maven 配置。
![]() |
- 请访问 SpringSource Tool Suite (STS) 网站 [1],下载 STS 的最新版本 [2A] [2B]。
![]() |
![]() |
- 下载的文件是一个安装程序,它会创建文件目录结构 [3A] [3B]。在 [4] 中,我们启动可执行文件,
- 在[5]中,关闭欢迎窗口后显示的IDE工作区窗口。在[6]中,显示应用服务器窗口,
![]() |
- 在[7]中,显示服务器窗口。已注册一台服务器,这是一台兼容Tomcat的VMware服务器。
您必须向 STS 指定 Maven 的安装目录:
![]() |
- 在 [1-2] 中,配置 STS;
- 在 [3-4] 中,添加一个新的 Maven 安装;
![]() |
- 在 [5] 中,指定 Maven 安装目录;
- 在 [6] 中,完成向导;
- 在 [7] 中,将新安装的 Maven 设为默认安装;
![]() |
- 在 [8-9] 中,您需要检查本地 Maven 仓库、用于存储下载依赖项的文件夹,以及 STS 将构建生成的工件放置的位置;
您还必须选择一个 JDK(Java 开发工具包),用于运行带 Maven 和不带 Maven 的 Eclipse 项目 [1-5]。
![]() |
通过 [4],您可以添加 JDK(Java 开发工具包)或 JRE(Java 运行时环境)。JRE 可以运行 .class 文件,但无法编译 .java 文件来生成这些文件。JDK 则可以同时完成这两项操作。您应选择 JDK,因为某些 Maven 操作需要它。
要创建一个 Eclipse 项目,请按以下步骤操作:
![]() |
- 在 [3] 中,为项目命名;
- 在 [4] 中,选择一个现有的空文件夹;
![]() |
- 在 [5] 中,项目已创建;
- 在 [5-8] 中,创建一个包。包是一个包含 Java 代码的文件夹。如果两个类属于不同的包,它们可以具有相同的名称。在一个项目中,不能存在两个同名的包。因此,你不能使用项目依赖项中已存在的包名。公司通常会使用一个能明确标识公司、项目及其各个分支的包名;
![]() |
- 在 [9] 中,为包命名;
- 在 [10] 中,输入创建的包;
![]() |
- 在 [11-13] 中,在已创建的包内创建一个类;
![]() |
- 在 [14] 中,为类命名(必须遵循驼峰命名法——名称中的每个单词首字母必须大写,随后为小写字母);
- 在 [15] 中,验证包;
- 在 [16] 中,勾选该复选框。这将请求生成静态方法 [main]。该方法使类可执行,即成为项目中首先被执行的类;
- 在 [17] 中,由此创建的类;
在 [main] 方法中输入以下代码,该代码将在控制台显示文本:
package st.istia;
public class Test01 {
public static void main(String[] args) {
System.out.println("test01");
}
}
![]() |
- 在 [18-20] 中,运行该类。随后其 [main] 方法将被执行;
![]() |
- 在 [21-22] 中,程序的运行结果;
如果未显示 [Console] 视图,请按以下步骤操作 [1-4]:
![]() |
导入 Eclipse 项目时,项目中可能包含错误。这可能是由于项目配置不正确所致。若存在错误,请按以下步骤进行修正:
![]() |
- 在 [1] 中,修改项目的 [构建路径];
![]() |
- 在 [2] 中,该项目配置为使用 JVM 1.5;
- 在 [3] 中,移除此依赖项;
- 在 [4] 中,添加一个新的依赖项;
![]() |
- 在 [5] 中,添加一个 JVM;
- 在 [6] 中,为该机器选择 JVM;
完成上述操作后,保存更改,然后转到项目的 [Java 编译器] 属性 [7]:
![]() |
- 在 [8] 中,设置编译器以支持所有截至 1.7 版(或 1.8 版)的 Java 语言特性;
- 在 [9] 中,点击“确定”;
- 在 [10] 中,重新配置后的项目不应再包含任何错误;
此外,导入的项目可以使用 UTF-8 字符编码。请按照以下步骤在导入的项目中设置此编码 [1-4]:
![]() |
此外,禁用项目中的拼写检查可能会有帮助,以防止法语注释被标记为错误。请按照以下步骤 [1-4] 操作:
![]() |
22.4. 安装 NetBeans IDE
NetBeans 可从 [http://netbeans.org/downloads/] 下载。
![]() |
您可以从上面的链接下载 Java SE(标准版)。
22.5. 安装 Chrome [Advanced Rest Client] 插件
本文使用 Google 的 Chrome 浏览器(http://www.google.fr/intl/fr/chrome/browser/)。我们将向其中添加 [Advanced Rest Client] 扩展程序。具体操作如下:
- 使用 Chrome 浏览器访问 [Google 应用商店] (https://chrome.google.com/webstore);
- 搜索 [Advanced Rest Client] 应用:
![]() |
- 随后即可下载该应用:
![]() |
- 要获取该应用,您需要创建一个 Google 账户。随后 [Google 应用商店] 会要求您进行确认 [1]:
![]() |
- 在[2]处,已添加的扩展程序可在[应用]选项[3]中找到。该选项会显示在您通过浏览器(CTRL-T)新建的每个标签页上。
22.6. Java 中的 JSON 处理
[Spring MVC] 框架以对开发者透明的方式,使用了 [Jackson] JSON 库。为说明 JSON(JavaScript 对象表示法)的含义,我们在此展示一个程序,该程序将对象序列化为 JSON,并通过反序列化生成的 JSON 字符串来重建原始对象。
'Jackson' 库允许您构建:
- 对象的 JSON 字符串:new ObjectMapper().writeValueAsString(object);
- 从 JSON 字符串构建对象:new ObjectMapper().readValue(jsonString, Object.class).
这两种方法都可能抛出 IOException。以下是一个示例。
上述项目是一个 Maven 项目,其 [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>
- 第 12–16 行:导入 'Jackson' 库的依赖项;
[Person] 类如下所示:
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
...
}
[Main] 类如下所示:
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);
}
}
执行此类将产生以下屏幕输出:
示例要点:
- 用于 JSON/对象转换所需的 [ObjectMapper] 对象:第 11 行;
- [Person] 到 JSON 的转换:第 17 行;
- JSON 转 [Person] 的转换:第 20 行;
- 两个方法均抛出的 [IOException]:第 13 行。
22.7. 安装 [WampServer]
[WampServer]( )是一套用于在 Windows 机器上进行 PHP / MySQL / Apache 开发的软件套件。我们将仅将其用于 MySQL 数据库管理系统。
![]() |
- 在 [WampServer] 网站 [1] 上,选择合适的版本 [2],
- 下载的可执行文件是一个安装程序。安装过程中会要求提供各种信息。这些信息与 MySQL 无关,因此可以忽略。安装结束时会出现窗口 [3]。启动 [WampServer],
![]() |
- 在 [4] 中,[WampServer] 图标会出现在屏幕右下角的任务栏中 [4],
- 点击它后,会出现 [5] 菜单。该菜单允许您管理 Apache 服务器和 MySQL 数据库管理系统。要管理后者,请使用 [PhpMyAdmin] 选项,
- 这将打开如下所示的窗口,

我们将简要介绍 [PhpMyAdmin] 的使用方法。在第 6.4.2 节中,我们将演示如何使用它通过 SQL 脚本创建数据库。






























