总是出现这样的问题错误提示.请问哪位知道告诉一下原因.谢谢
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:565)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.jsp.dbprogram_jsp._jspService(dbprogram_jsp.java:116)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:565)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.jsp.dbprogram_jsp._jspService(dbprogram_jsp.java:116)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page info="database handler"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<!--导入结束-->
<html>
<head>
<title>数据库连接实验</title>
</head>
<body>
<%
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:try";//“try”的意思就是与刚才设置的数据源名对应;
Connection Con = null;
Statement Stmt = null;
try
{
try /*加载驱动程序*/
{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
out.print("Connect to Database error: " + e.getMessage());
}
try /*建立连接*/
{
Con = DriverManager.getConnection(sConnStr,"sa","");
}
catch(SQLException e)
{
out.print(e.toString());
} Stmt = Con.createStatement(); /*创建JDBC声明*/
String query="CREATE TABLE GUEST" + /*在数据库中创建新的表*/
"(NUM VARCHAR(32),"+
"USERNAME TEXT,"+
"CONTENT TEXT,"+
"PASSWORD INTEGER,"+
"TOTAL INTEGER,"+
"REALNAME TEXT)";
Stmt.executeUpdate(query); /*更新数据库*/
}
catch (Exception e) {}
out.println("恭喜,表连接创建成功!");
%>
<%
ResultSet RS= Stmt.executeQuery("SELECT * FROM EMPLOYEE WHERE eage<25"); /*连接到数据库中的表EMPLOYEE上*/
String tt; /**号表示选择表中所有的列*/
String link; /*若选择其中的某几列可以将*号换成列标号*/
String makeStr; /*WHERE语句表示条件选择*/
out.print("<table border=2 style=color:blue >");
while (RS.next()) {
out.print("<tr><td>");
tt = RS.getString("ename"); /*查询表中NUM字段的内容,字段内容可能使数组,默认列输出*/
out.print(tt);
out.print("</td><td>");
tt = RS.getString("esex");
out.print(tt);
out.print("</td><td>");
tt = RS.getString("eage");
out.print(tt);
out.print("</td><td>");
tt=RS.getString("egrade");
out.print(tt);
out.print("</td><td>");
}
out.print("</table>");
RS.close();
out.println("数据查询成功!");
%>
<% /*在数据库中添加数据*/
String sql="INSERT INTO EMPLOYEE VALUES ('5','aaa','m',54,'hehe')";
Stmt.executeUpdate(sql);
out.println("添加数据成功!");
%>
</body>
</html>
1 前面发现错误了要停下来,要不后面也全跟着错的。
2 记得程序结束后要做清理工作。=======================================
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page info="database handler"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<!--导入结束-->
<html>
<head>
<title>数据库连接实验</title>
</head>
<body>
<%
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:try";//“try”的意思就是与刚才设置的数据源名对应;
Connection Con = null;
Statement Stmt = null;
try
{
Class.forName(sDBDriver);
}catch(java.lang.ClassNotFoundException e)
{
out.print("Connect to Database error: " + e.getMessage());
return; //出现严重错误立刻中断程序,要不错误向下跑会给下面的程序错误冲了,反而不知道什么回事。
}
try /*建立连接*/
{
Con = DriverManager.getConnection(sConnStr,"sa","");
}
catch(SQLException e)
{
out.print("无法连接到数据库" +e.toString());
return ;//出现严重错误立刻中断程序,要不错误向下跑会给下面的程序错误冲了,反而不知道什么回事。
}
//建立表的话这样第一次运行没问题,第二次会报错,建议另外处理。
/*
try{
Stmt = Con.createStatement();
String query="CREATE TABLE GUEST" +
"(NUM VARCHAR(32),"+
"USERNAME TEXT,"+
"CONTENT TEXT,"+
"PASSWORD INTEGER,"+
"TOTAL INTEGER,"+
"REALNAME TEXT)";
Stmt.executeUpdate(query);
}
catch (SQLException e) {}
out.println("恭喜,表连接数据表成功!");
*/
%>
<%
ResultSet RS=null;
try{
Stmt = Con.createStatement();
RS= Stmt.executeQuery("SELECT * FROM EMPLOYEE WHERE eage<25"); /*连接到数据库中的表EMPLOYEE上*/
String tt; /**号表示选择表中所有的列*/
String link; /*若选择其中的某几列可以将*号换成列标号*/
String makeStr; /*WHERE语句表示条件选择*/
out.print("<table border=2 style=color:blue >");
while (RS.next()) {
out.print("<tr><td>");
tt = RS.getString("ename"); /*查询表中NUM字段的内容,字段内容可能使数组,默认列输出*/
out.print(tt);
out.print("</td><td>");
tt = RS.getString("esex");
out.print(tt);
out.print("</td><td>");
tt = RS.getString("eage");
out.print(tt);
out.print("</td><td>");
tt=RS.getString("egrade");
out.print(tt);
out.print("</td><td>");
}
out.print("</table>");
RS.close();
out.println("数据查询成功!"); String sql="INSERT INTO EMPLOYEE VALUES ('5','aaa','m',54,'hehe')";
Stmt.executeUpdate(sql);
out.println("添加数据成功!");
}catch(SQLException e){
out.print("数据库操作错误" +e.toString());
}finally{
//以下部分进行清理。
if(RS != null){
try{
RS.close();
}
catch(SQLException e){}
} if(Stmt != null){
try{
Stmt.close();
}
catch(SQLException e){}
} if(Con != null){
try{
Con.close();
}
catch(SQLException e){}
}
}%>
<% /*在数据库中添加数据*/
%>
</body>
</html>
我那个程序是从书上复制过来的,我想code本身应该没有什么问题,可能是连接方面出了问题.
其实我也看不懂我发的code,只是复制一下,你修改的我也看不懂,只是运行一下,看看能不能正确连接.再找问题.别笑我啊,新手来着.呵呵