n 创建应用程序 jspbasic，配置具体步骤如下：

1. 在 Tomcat 下的 webapps 目录下创建自己的程序目录 jspbasic。

2. 在 jspbasic 下创建目录 WEB-INF。

3. 在 WEB-INF 下创建文件 web.xml，具体内容如下所示。

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>jspexample</display-name>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

#### n 数据库的准备工作

1. 安装 Mysql4.0 以上的数据库软件。从 http://www.mysql.com 网站下载自动安装软件包和 JDBC 驱动。跟着自动安装向导可以非常容易的安装 Mysql 数据库软件。假设 mysql 安装在 c:\mysql 目录下。

2. 把 mysql 数据库的 JDBC 驱动如 mysql-connector-java-3.0.16-ga-bin.jar 拷贝到 Tomcat5.5 的 common\lib 目录下。

3. 创建数据库结构，在 c:\mysql\bin 目录下，键入 mysql 命令进入控制台，接着使用 CREATE DATABASE quoting 建立数据库 quoting，使用 exit 命令退出控制台，即执行下列语句：

c:\ mysql\bin> mysql

mysql> CREATE DATABASE quoting;

mysql> exit

4. 创建 SQL 文件 createCustomer.sql，文件内容如下：

DROP TABLE IF EXISTS customer;

CREATE TABLE customer (id int not null, lname varchar(30) not null,

fname varchar(20), age int, sex char(1),

married char(1), children int, smoker char(1));

INSERT INTO customer VALUES

(1, 'Smith', 'Jane', 26, 'F', 'Y', 2, 'N');

INSERT INTO customer VALUES

(2, 'Doe', 'John', 47, 'M', 'N', 0, 'Y');

INSERT INTO customer VALUES

(3, 'Johnson', 'Michael', 36, 'M', 'Y', 0, 'N');

INSERT INTO customer VALUES

(4, 'Brooks', 'Susan', 24, 'F', 'N', 1, 'Y');

INSERT INTO customer VALUES

(5, 'Inman', 'Bernard', 34, 'M', 'N', 0, 'N');

接着执行如下的命令，创建表 Customer，并填充一些实验数据：

c:\mysql\bin> mysql quoting < createCustomer.sql

n 创建 customers.jsp，代码如下：

<!-- JSP Directives -->

<%@ page language="java" contentType="text/html; charset=gbk"

pageEncoding="gbk"%>

<%@ page import="java.sql.*"%>

<html>

<head>

<title>Insurance Quoting System</title>

</head>

<body>

<!-- JSP Declarations -->

<%!ResultSet rs = null;%>

<!-- JSP Scriptlet -->

<%

try {

Class.forName("com.mysql.jdbc.Driver");

Connection db = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/quoting", "root", "");

Statement s = db.createStatement();

rs = s.executeQuery("select * from customer");

} catch (Exception e) {

// For now, just report the error to the system log

System.out.println(e.toString());

}

%>

<!-- Template text -->

<table width="550" border="0" align="center">

<tr>

<td bgcolor="#006633">

<div align="center"><font size="6" color="#FFFFFF"><b>保险行情系统</b></font>

</div>

</td>

</tr>

<tr>

<td>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p align="center"><b>客户列表</b></p>

<table width="290" border="0" align="center">

<%

try {

while (rs.next()) {

%>

<!-- JSP Expressions used within template text -->

<tr>

<td width="20"><%=rs.getInt(1)%></td>

<td width="70"><%=rs.getString(2)%></td>

<td width="70"><%=rs.getString(3)%></td>

<td width="40"><a

href="custMaint.jsp?id=<%= rs.getString(1) %>&action=edit"> 编辑

</a></td>

<td width="40"><a

href="custMaint.jsp?id=<%= rs.getString(1) %>&action=delete">

删除 </a></td>

<td width="60"><a

href="custMaint.jsp?id=<%= rs.getString(1) %>&action=newQuote">

新行情 </a></td>

</tr>

<%

}

} catch (SQLException e) {

// For now, just report the error to the system log

System.out.println(e.toString());

}

%>

</table>

</td>

</tr>

<tr>

<td>

<p>&nbsp;</p>

<p align="center"><a href="custMaint.jsp?action=add">新客户</a></p>

</td>

</tr>

</table>

</body>

</html>

其中：

1. <%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%>，指明页面编码，否则汉字显示为乱码。

2. <%@ page import="java.sql.*"%>，import 代码中使用的类

3. <%!ResultSet rs = null;%>，声明变量 rs

4. JSP 程序段写在<%...%>标记中，建立到数据库的连接，并获取数据：

<%

try {

Class.forName("com.mysql.jdbc.Driver");

Connection db = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/quoting", "root", "");

Statement s = db.createStatement();

rs = s.executeQuery("select * from customer");

} catch (Exception e) {

// For now, just report the error to the system log

System.out.println(e.toString());

}

%>

5. 循环输出数据，即 while (rs.next())

6. <%=rs.getInt(1)%>，输出当前记录中第一个字段的内容，依次类推。

7. 最后，页面中的超链接只是示例，不能工作。

#### 4.4 部署运行

n 部署文件

· 把 customers.jsp 放到应用程序 jspbasic 目录下。

n 启动 Tomcat

n 在 IE 浏览器的地址栏中输入 http://localhost:8080/jspbasic/customers.jsp