0
大家好日子,使用mvc搜索記錄的程序中的Servlet錯誤
首先,我是新來的java世界。我有這個任務來創建一個程序,將使用MVC搜索記錄。我有一個代碼開始,但我有一個錯誤。我希望有人能幫我儘快解決這個問題。
EmpBean.java
package form;
import java.sql.*;
import java.util.*;
public class EmpBean {
public List dataList(){
ArrayList list=new ArrayList();
try{
Class.forName("org.sqlite.JDBC");
Connection con = DriverManager.getConnection("C:\\SoftdevWorkspace\\mvc\\WebContent\\employee.sql");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from employee");
while(rs.next()){
list.add(rs.getString("name"));
list.add(rs.getString("department"));
list.add(rs.getString("email"));
}
}
catch(Exception e){}
return list;
}
}
BeanInServlet.java
package form;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class BeanInServlet extends HttpServlet{
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException{
form.EmpBean p = new form.EmpBean();
List list=p.dataList();
req.setAttribute("data", list);
RequestDispatcher rd = req.getRequestDispatcher("/beandata.jsp");
rd.forward(req, res);
}
}
beandata.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1 "
pageEncoding="ISO-8859-1"%>
<%@page import="java.util.*" %>
<!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">
<title>Insert title here</title>
</head>
<table border="1" width="303">
<tr>
<td width="119"><b>Name</b></td>
<td width="168"><b>Address</b></td>
<td width="119"><b>Contact no</b></td>
<td width="168"><b>Email</b></td>
</tr>
<% Iterator itr;%>
<% List data=(List)request.getAttribute("data");
for(itr=data.iterator(); itr.hasNext();){
%>
<tr>
<td width="119"><%=itr.next()%></td>
<td width="168"><%=itr.next()%></td>
<td width="119"><%=itr.next()%></td>
<td width="168"><%=itr.next()%></td>
</tr>
<%}%>
</table>
</html>
這裏是錯誤:
org.apache.jasper.JasperException: An exception occurred processing JSP page /beandata.jsp at line 19
16: </tr>
17: <% Iterator itr;%>
18: <% List data=(List)request.getAttribute("data");
19: for(itr=data.iterator(); itr.hasNext();){
20: %>
21: <tr>
22: <td width="119"><%=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:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
林使用Eclipse靛藍,Tomcat的7,SqliteDev
我們並不真的** **緊急**。如果緊急,你應該早點開始分配;) – beerbajay 2012-03-14 14:09:08
首先,將每列添加到同一個'List'中有點奇怪。其次,您似乎只將3列添加到'List',但打印4.第三,您只調用'hasNext()'一次,但連續調用4次next()。 – beerbajay 2012-03-14 14:13:42
對不起,誤用字。我的錯。承諾不要再做一次。 – Zark 2012-03-14 14:13:45