日期:2014-05-18  浏览次数:20791 次

jsp 空指针的问题?????
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

  <%@page import="com.mysql.jdbc.Driver"%>
  <%@ page import="java.sql.*" %>

<%
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/student";
String username = "root";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);
Statement statement = connection.createStatement();
String sql = "select * from info";
ResultSet resultset = statement.executeQuery(sql);
while(resultset.next()){
resultset.getString(1);
resultset.getString(2);
resultset.getString(3);
resultset.getString(4);
}
resultset.close();
connection.close();

%>

<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>学生信息查询</title>
  </head>
  <body>
  <center><h1>学生信息</h1></center>
  <hr>
  <table border="1">
  <tr>
  <td>学生姓名</td>
  <td><%= resultset.getString("name") %></td>
  </tr>
  <tr>
  <td>学生性别</td>
  <td><%= resultset.getString("sex") %></td>
  </tr>
  <tr>
  <td>学生学号</td>
  <td><%= resultset.getString("number") %></td>
  </tr>
  <tr>
  <td>学生班级</td>
  <td><%= resultset.getString("class") %></td>
  </tr>
  </table>
  <hr>
</body>
</html>

数据库里有两条记录,每个记录有四个字段。name,sex,number,class.

请大家帮着看你下,上面的哪出错了。过行是报异常 

org.apache.jasper.JasperException: java.lang.NullPointerException
根本原因 

java.lang.NullPointerException 这个错误?????谢谢大家了。。。。。

------解决方案--------------------
根原因还是 java.lang.NullPointerException 
应该就是楼上说的那样String url = "jdbc:mysql://localhost/student"; 
这条语句的问题

你试试,不行再说
关注ing
------解决方案--------------------
resultset.getString("name") ..

resultset.close()了 connection.close()了

你把连接都关闭了 还怎么能有值??

你应该在循环resultset的时候用一个集合来保存数据,然后再循环显示这个集合
------解决方案--------------------
After end of result set !
是这样的,你的while循序完成以后,已经走到结果集的末尾了!
你应该把输出语句放到while循环内部才可以啊
------解决方案--------------------
Map.Entry,多谢多谢.