【发布时间】:2015-02-23 18:50:23
【问题描述】:
我开始学习数据库和servlet,JSP。而且我不知道有些失败。我在 JSP 中看不到我的数据库。
Java 代码:
try {
Class.forName("org.postgresql.Driver");
connection = DriverManager.getConnection(url, login, password);
String sql = "select * fiz_phone";
Statement s = connection.createStatement();
s.executeQuery(sql);
rs = s.getResultSet();
while (rs.next()) {
dataList.add(rs.getInt("id"));
dataList.add(rs.getString("name"));
dataList.add(rs.getString("adress"));
dataList.add(rs.getString("phone"));
dataList.add(rs.getString("phone_adress"));
dataList.add(rs.getInt("cost"));
dataList.add(rs.getString("exempt_type"));
dataList.add(rs.getInt("exempt"));
dataList.add(rs.getString("date_claim"));
dataList.add(rs.getInt("number_claim"));
dataList.add(rs.getString("inspektor"));
dataList.add(rs.getString("date_repair"));
dataList.add(rs.getInt("phone_cost"));
dataList.add(rs.getString("call"));
}
rs.close();
s.close();
} catch (Exception e) {
System.out.println("Exception is ;" + e);
}
request.setAttribute("data", dataList);
RequestDispatcher dispatcher = request.getRequestDispatcher(page);
if (dispatcher != null) {
dispatcher.forward(request, response);
}
HTML:
<body>
<table border="1">
<tr>
<td ><b>ID</b></td>
<td ><b>Name</b></td>
<td ><b>Adress</b></td>
<td ><b>Phone</b></td>
<td ><b>Phone adress</b></td>
<td ><b>Cost</b></td>
<td ><b>Exempt type</b></td>
<td ><b>Exempt</b></td>
<td ><b>Date claim</b></td>
<td ><b>Number of claim</b></td>
<td ><b>Inspektor</b></td>
<td ><b>Date repair</b></td>
<td ><b>Phone cost</b></td>
<td ><b>Call</b></td>
</tr>
<%ArrayList<String> f = (ArrayList<String>) request
.getAttribute("data");
Iterator<String> itr = f.iterator();
while (itr.hasNext()) {%>
<tr id="tab">
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
<td ><%=itr.next()%></td>
</tr>
<%}%>
</table>
</body>
和小服务程序
<servlet>
<servlet-name>DataServlet</servlet-name>
<servlet-class>work_project.Data</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DataServlet</servlet-name>
<url-pattern>/DataServlet</url-pattern>
</servlet-mapping>
当我启动这个程序时,它给了我这个异常
org.apache.jasper.JasperException: An exception occurred processing JSP page /DataPage.jsp at line 35
32: </tr>
33: <%Iterator itr;%>
34: <% List data= (List)request.getAttribute("data");
35: for (itr=data.iterator(); itr.hasNext(); ) {
36: %>
37: <tr>
38: <td ><%=itr.next()%></td>
【问题讨论】:
-
发生了什么异常。发布您的完整堆栈跟踪。
-
如果我理解你的话:org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470) org .apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) javax.servlet.http.HttpServlet.service(HttpServlet.java:727 ) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
-
堆栈跟踪不完整。实际异常不在此处。
-
你能给我看看你完整的servlet代码吗?