出错信息是 type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) root cause java.lang.NullPointerException org.apache.jsp.HashList_jsp._jspService(HashList_jsp.java:112) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
你不能加点System.out.println("");来看一下到底是哪一行出的错呀?
为什么找不到呢
同样的库不用hashtable的jsp用sun.jdbc.odbc.JdbcOdbcDriver就可以
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NullPointerException
org.apache.jsp.HashList_jsp._jspService(HashList_jsp.java:112)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
你检查一下;应该能检查到哟;
<%@ page import="java.net.URLEncoder.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.lang.*"%>
<%@ page import="java.util.*"%>
<jsp:useBean id="myBean" scope="request" class="EXE.DBconn_hash"/>
<%
int p_ID = 0;
String p_CourseName = "";
int p_Hour = 0;
int p_Credit = 0;
String p_Teacher = "";
ArrayList list = myBean.getList();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<title>用hashtable类对数据库进行操作</title>
</head>
<body>
<center>
<p><b>课程信息调查</b></p>
<table border="1" width="50%">
<tr>
<td width="7%" align="center" bgcolor="#c0c0c0">序号</td>
<td width="19%" align="center" bgcolor="#c0c0c0">课名</td>
<td width="7%" align="center" bgcolor="#c0c0c0">学时</td>
<td width="7%" align="center" bgcolor="#c0c0c0">学分</td>
<td width="10%" align="center" bgcolor="#c0c0c0">任课教师</td>
</tr>
<%
for(int i=0;i<list.size();i++)
{
Hashtable Rec = new Hashtable();
Rec = (Hashtable)list.get(i);
p_ID = Integer.parseInt(Rec.get("ID").toString());
p_CourseName = Rec.get("CourseName").toString();
p_CourseName = new String(p_CourseName.getBytes("iso-8859-1"),"gb2312");
p_Hour = Integer.parseInt(Rec.get("Hour").toString());
p_Credit = Integer.parseInt(Rec.get("Credit").toString());
p_Teacher = Rec.get("Teacher").toString();
p_Teacher = new String(p_Teacher.getBytes("iso-8859-1"),"gb2312");
%>
<tr>
<td align="center"><%=p_ID%></td>
<td align="center"><%=p_CourseName%></td>
<td align="center"><%=p_Hour%></td>
<td align="center"><%=p_Credit%></td>
<td align="center"><%=p_Teacher%></td>
</tr>
<%
}
%>
</table>
</center>
</body>
</html>
Rec = (Hashtable)list.get(i);
p_ID = Integer.parseInt(Rec.get("ID").toString());
p_CourseName = Rec.get("CourseName").toString();
p_CourseName = new String(p_CourseName.getBytes("iso-8859-1"),"gb2312");
p_Hour = Integer.parseInt(Rec.get("Hour").toString());
p_Credit = Integer.parseInt(Rec.get("Credit").toString());
p_Teacher = Rec.get("Teacher").toString();
p_Teacher = new String(p_Teacher.getBytes("iso-8859-1"),"gb2312");
%>
打印一下Rec get的每一个值,看一看是否有空值, 有空时进行转换处理会报错