【发布时间】:2014-02-09 08:30:37
【问题描述】:
我有一个 jsp 页面,我想在其中放置一些来自数据库的信息。 代码:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"
import="java.util.ArrayList"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<title>Lab4</title>
</head>
<body>
<div id='chekboxOfCompanies'>
<%
ArrayList<String> companiesList=DBHandler.getCompaniesList();
for (int i=0;i<companiesList.size();i++){
out.println("<input type='checkbox'>");
}
%>
</div>
</body>
</html>
DBHandler 获取数据库中公司名称的arrayList。这是代码。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class DBHandler {
public static ArrayList<String> getCompaniesList(){
Connection conn = null;
ArrayList<Statement> statements = new ArrayList<Statement>();
Statement s = null;
ResultSet rs = null;
String dbName = "Lab4DB";
ArrayList<String> returnArray=new ArrayList<String>();
try {
conn = DriverManager.getConnection(protocol + dbName);
System.out.println("Connected to database " + dbName);
conn.setAutoCommit(false);
s = conn.createStatement();
statements.add(s);
rs = s.executeQuery("SELECT company from companies");
while(rs.next()){
returnArray.add(rs.getString(1));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return returnArray;
}
private static String protocol = "jdbc:derby:";
}
当我尝试在服务器上运行它时,它说 DBHandler 无法解析。我怎样才能得到这些信息?我做错了什么?
【问题讨论】: