出现下列错误
HTTP Status 500 ---------------------------------------------------------------------------------
type Exception report
message 
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:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)root cause 
java.lang.NullPointerException
org.apache.jsp.in_jsp._jspService(in_jsp.java:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.30 logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.30问题:为什么在对数据库进行操作时,用第一个IE能操作成功,而再打开第二个IE不能进行操作,但第一个还是可以正常操作。
小弟才接触JSP,各位多多指点~~,有那些应注意的地方,就直说~~ 备注:jsp+mysql 5.0+tomcat 5.0;
架构:jsp+javabean+database;文件名为:in.jsp
类名为:DBConn.class类源文件和jsp源文件如下
package huo;
import java.sql.*;
import java.lang.*;
import java.io.*;
import java.util.*;
public class DBConn{
String dbname="a";
String dburl="jdbc:mysql://localhost/";
String dbuser="root";
String dbpwd="r";
Connection con=null;
ResultSet rs=null;
Statement stm=null;
public DBConn(){
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(java.lang.ClassNotFoundException e){
System.out.println("加载驱动失败");
}
}//end DBConn public void ConnDB(String dbname,String dburl,String dbuser,String dbpwd){//数据库名,地址,用户名和密码
this.dburl=dburl+dbname;
this.dbuser=dbuser;
this.dbpwd=dbpwd;
try{
this.con=DriverManager.getConnection(this.dburl,this.dbuser,this.dbpwd);
//this.con=con;
this.stm=con.createStatement();
//this.stm=stm;
}catch(SQLException e){
System.out.println("数据库连接失败");
}
}//end ConnDB
public ResultSet executQuery(String sql){
try{ rs=this.stm.executeQuery(sql);
}
catch(SQLException ex){
//System.err.println(ex.getMessage());
System.out.println("记录集获取失败");
}
return rs;
}//end executquery
public void executUpdate(String sql){
try{ stm.executeUpdate(sql);
}
catch(SQLException ex){
//System.err.println(ex.getMessage());
System.out.println("更新操作失败");
}
// return true;
}//end executupdate
public void CloseDB(){
con=null;
stm=null;
rs=null;
}
}in.jsp:<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*" %>
<%@ page import="huo.*" %>
<%@ page pageEncoding="gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<jsp:useBean id="test2" class="huo.DBConn"/> 
<html>
<head>
<title>数据测试页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<table width="760" border="10" align="center" cellpadding="2" cellspacing="2" >
<tr>
<td><div align="center">id</div></td>
<td><div align="center">title</div></td>
</tr>
<% String sql="select * from a";
ResultSet rs2=null;
ResultSet rs=null;
String kk=null;
String title=null;
int id; 
String tempp="test";
  String name="root";
  String pwd="r";
  String url="jdbc:mysql://localhost/";
  String dbname="a";
  test2.ConnDB(dbname,url,name,pwd);
kk=request.getParameter("test");
 if (kk.equals(tempp))
{
     String temp=request.getParameter("title");
temp=new String(temp.getBytes("gb2312"),"gb2312");
sql="insert into a values("+request.getParameter("id")+",'"+temp+"')";
test2.executUpdate(sql);
rs=test2.executQuery("select * from a");
while (rs.next())
 {
id =rs.getInt(1);
title=rs.getString(2);
%>
<tr>
<td><div align="center"><%=id%></div></td>
<td><div align="center"><%=title%></div></td>
</tr>
<% 
}
rs.close();
test2.CloseDB();
}
%>
</table>
 <table align="center" border="2">
<form method="post" action="in.jsp" >
<tr>
<td>id : </td> 
<td>  <input type="text" name="id"></td>
</tr>
<tr>
<td>content: </td>
   <td> <textarea name="title"  ></textarea></td>
   </tr>
   <tr>
   <td>d<input name="test"   type="hidden"  value="test"></td>
   <td>
    <input type="submit" name="ok" value="oksub">
</td>
</form>
</tr>
</table>
</body>
</html>

解决方案 »

  1.   

    把这句test2.CloseDB();去掉应该就没事了.
      

  2.   

    空指针貌似会出在这里:
    kk=request.getParameter("test");
    if (kk.equals(tempp)) 
    你如果在浏览器直接访问这个页面,那肯定会抛异常的。请检查你访问in.jsp的时候,是否有传参数test过来。
      

  3.   

    可能就是楼上说得,你的kk是null,并不一定是操作数据库的空指针
      

  4.   

    pczhouji(咱也进城了) ( ) 信誉:100    Blog   加为好友 
    =======================================================
    分了你20分,不好意思阿,呵呵