错误exception org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:500)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
org.apache.jsp.student_jsp._jspService(student_jsp.java:108)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.30 logs.
/////////////////////////////////////////////////////////////////////////////////////////////
以下是代码package com.style.lin;import java.sql.*;public class student{
Connection conn;
Statement stmt;
ResultSet rs;
public student()  {
// TODO Auto-generated constructor stub
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("sql类找不到<br>");
}
}
public ResultSet executeQuery(String sql) {
try {

String DATABASE_URL ="jdbc:sqlserver://localhost:1433;databaseName=student3";
conn=DriverManager.getConnection(DATABASE_URL,"","");
stmt = conn.createStatement();
rs=stmt.executeQuery(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.print("错误");
}
return rs;
}

}
/////////////////////////////////////////////////////////////////////////////////////////////////////<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@page import="java.sql.*" %><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="student" class="com.style.lin.student" scope="page">
</jsp:useBean><h1  align="center">学生信息</h1>
<strong>
<table border="1"  align="center"> 
<tr align="center"> 

<td  width="100"> 
学号
</td> 
<td  width="100"> 
姓名
</td> 
<td  width="100"> 
身份证号码
</td> 
<td  width="100"> 
班级
</td> 
<td  width="100"> 
性别 
</td> 
<td  width="100"> 
出身年月
</td>
<td  width="100"> 
医疗卡号
</td>  
<tr> 
</table>
</strong> 
<% 
ResultSet rs=student.executeQuery("select * from student");
while(rs.next()){
%> 
<table border="1"  align="center"> 
<tr> 
<td  width="100"> 
<%=rs.getString("学号")%> 
</td> 
<td  width="100"> 
<%=rs.getString( "姓名")%> 
</td> 
<td  width="100"> 
<%=rs.getString( "身份证号码")%> 
</td> 
<td  width="100"> 
<%=rs.getString( "班级")%> 
</td> 
<td  width="100"> 
<%=rs.getString( "性别")%> 
</td> 
<td  width="100"> 
<%=rs.getString( "出身年月")%> 
</td> 
<td  width="100"> 
<%=rs.getString( "医疗卡号")%>
</td> 
<tr> 
</table> 
<% } rs.close(); 
%>
</body>
</html>

解决方案 »

  1.   

    查出来的明显是个List。rs.next 貌似是true or false吧,你这个rs结果集是List形式的,所以获取数据要用List遍历    不是像你这样的   
      

  2.   

    如果你确定只有一条数据,那就rs.get(0).getString("学号"),这样就好了。
    有多个,那就要用for循环或者<c:if/><c:forEach/>标签了
      

  3.   

    已解答,呵呵,select*from的,不管你几条数据,都是List形式返回的,除非你是用id查或者count(*),这样才不是List