我的开发环境是Apple Cube,运行Mac OS X 10.2.1操作系统,软件包JDK 1.3.1,Tomcat 4.1.12,Ant1.5.1,MySQL 3.23.52,及Connector/J 3.0.1-beta。操作系统升级到Mac OS X 10.2.2未出现任何问题。同样Tomcat升级到4.1.17也没出现问题。
首先建立MySQL数据库(Mac OS X 10.2.1)。用管理员权限启动mysql命令行工具,需要的话输入密码。创建Public数据库,以及账号mysqlusername密码mysqlpassord。命令如下:
# mysql -u root -pmysql> create database Public;mysql> grant all privileges on Public.* to mysqlusername@localhost\identified by 'mysqlpassword' with grant option;mysql> flush privileges;
然后,在Public数据库中创建Addresses表。
mysql> create table Addresses ( \id int(8) primary key auto_increment, \surname varchar(24) not null, \firstname varchar(24) not null, \street varchar(80) not null, \district varchar(80) not null, \city varchar(40) not null, \postcode varchar(10) not null \);
+-----------+-------------+------+-----+---------+----------------+ Field Type Null Key Default Extra +-----------+-------------+------+-----+---------+----------------+ id int(8) PRI NULL auto_increment surname varchar(24) firstname varchar(24) street varchar(80) district varchar(80) city varchar(40) postcode varchar(10) +-----------+-------------+------+-----+---------+----------------+
现在可以插入一行来测试数据库
mysql> insert into Addresses (surname, firstname, street, district,city, postcode) values ("Smith", "John", "1, The High Street,","Downtown,", "Metropolis.", "X99 9XX");mysql> commit;mysql> select * from Addresses;
ant stop用于停止AddressBook程序。Tomcat自动调用AddressBook.ContextListener.contextDestroyed取得上面提到的servlet属性addressesDB和AddressBook.AddressesDB的实例,关闭数据库连接并删除servlet属性addressesDB。
ant start用于启动AddressBook程序。Tomcat自动调用AddressBook.ConextListener.contextInitialized重复启动过程。