JSP(JavaServer Pages)是一种动态网页技术,常用于构建基于Java的Web应用程序。在本实例中,我们将探讨如何使用JSP连接到SQL Server 2000数据库,实现数据的读取操作。
确保你的开发环境中已经安装了以下组件:
1. **JDBC驱动程序**:为了连接到SQL Server数据库,你需要SQL Server的JDBC驱动。在这个例子中,使用的是Microsoft JDBC Driver,包括msbase.jar、mssqlserver.jar和msutil.jar。这些驱动文件需要复制到Tomcat服务器的`commonlib`目录下,这样服务器在运行时可以找到它们。
2. **环境变量设置**:设置`classpath`环境变量以包含JDBC驱动的位置,这样Java编译器和JVM在运行时能够找到并加载这些驱动。
接下来,配置Tomcat服务器以运行你的JSP应用程序:
1. **编辑server.xml**:打开Tomcat的`conf/server.xml`文件,添加一个新的`<Context>`元素来定义一个虚拟服务器。在这个例子中,虚拟服务器名为"/friends",其物理路径指向E盘的工作空间,并且设置`reloadable="true"`以便在修改后自动重新加载应用。
```xml
<Context path="/friends" reloadable="true" docBase="E:/eclipseworkspace/friends" workDir="E:/eclipseworkspace/friends/work"/>
```
2. **启动Tomcat服务**:确保Tomcat服务器已启动并运行,以便可以访问和执行JSP文件。
现在,我们来看如何在JSP文件中编写代码来连接数据库并执行查询:
```jsp
<%@ page language="java" contentType="text/html;charset=GB2312"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><title>Insert title here</title></head>
<body>
<%
// 声明变量
Connection conn;
ResultSet rs;
Statement st;
// 加载JDBC驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
// 数据库连接字符串
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=zy";
// 获取数据库连接
conn = DriverManager.getConnection(url, "sa", "");
// 创建Statement对象
st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
// 执行SQL查询
rs = st.executeQuery("select * from zyInfo");
// 循环读取查询结果
while(rs.next()){
out.println(rs.getString("zyInfoID")); // 输出zyInfoID字段的值
}
%>
</body>
</html>
```
在上述代码中:
- 使用`<%@ page import="java.sql.*"%>`导入所需的JDBC类。
- `Class.forName()`方法加载JDBC驱动,这里使用的是Microsoft SQL Server的JDBC驱动。
- `DriverManager.getConnection()`方法创建数据库连接,参数为URL、用户名和密码。URL格式指定了数据库的类型、服务器地址、端口号和数据库名称。
- `createStatement()`方法创建一个`Statement`对象,用于执行SQL查询。这里使用了`TYPE_SCROLL_INSENSITIVE`和`CONCUR_READ_ONLY`参数,表示结果集是非滚动敏感的,只读的。
- `executeQuery()`方法执行SQL查询,并返回一个`ResultSet`对象,包含查询结果。
- 使用`while(rs.next())`循环遍历`ResultSet`,并用`rs.getString()`方法获取指定列的值。
通过这个简单的JSP页面,你可以连接到SQL Server数据库,执行查询,并将结果打印到网页上。这只是一个基础示例,实际应用中可能需要处理异常,关闭资源,以及进行更复杂的查询和事务操作。