我在单个jsp页面连接数据库没问题,当把连接数据库做成一个bean时,在页面调用就不成功,出现如下错误:
org.apache.jasper.JasperException: Exception in JSP: /t1.jsp:2320: String sql="";
21: ResultSet rs=null;
22: sql="select * from dept";
23: rs=DBbean.excuteQuery(sql);
24: //rs=DBbean.executeQuery(sql);
25: while(rs.next()) {%>
26: <%=rs.getString(1)%> - <%=rs.getString(2)%>- <%=rs.getString(3)%> <br>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
dbConn.dbConn.excuteQuery(dbConn.java:34)
org.apache.jsp.t1_jsp._jspService(t1_jsp.java:75)
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:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)dbConn.java ,如下:
package dbConn;import java.sql.*;
import java.io.*;
import java.util.*;
import javax.naming.*;
public class dbConn{
Connection conn = null;
CallableStatement stmtpro = null;
Statement stmt=null;
ResultSet rs = null;
public dbConn(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=ecorr;user=user;password=123");
String url="jdbc:oracle:thin:@192.168.0.78:1521:vps"; //orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
} catch(java.lang.SecurityException se) {
throw se;
} catch(java.lang.Exception e) {
e.printStackTrace();
}
}
//数据处理
public ResultSet excuteQuery(String sql){
stmt=null;
rs = null;
try {
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); //第34行
rs=stmt.executeQuery(sql);
} catch(SQLException ex){
System.err.println("sql_data.executeUpdate:"+ex.getMessage());
}
//显示数据库连接错误或者查询错误
return rs;
}
//数据更新
public int executeUpdate(String sql){
stmt=null;
int number = 0;
try {
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
if (conn==null) { return -1; }
if (stmt == null) { return -1; }
}
catch(SQLException ex){
System.err.println("sql_data.executeUpdate:"+ex.getMessage());
return -1;
}
return number;
}
public String executeProcedure(String BHMC){
stmtpro = null;
String BH=null;
String sql=null;
sql="{ call P_NB_BH(?,?)}";
try {
stmtpro=conn.prepareCall(sql);
stmtpro.setString(1,BHMC);
stmtpro.registerOutParameter(2,Types.CHAR);
stmtpro.executeUpdate();
BH = stmtpro.getString(2);
} catch(SQLException ex){
System.err.println("sql_data.executeUpdate:"+ex.getMessage());
//显示数据库连接错误或者查询错误
}
return BH;
}//关闭数据源,断开连接
public boolean close(){
try{
if(this.rs!=null){
this.rs.close();
}
if(stmt!=null){
this.stmt.close();
}
if(stmtpro!=null){
this.stmtpro.close();
}
if(conn!=null){
this.conn.close();
}
return true;
}catch(Exception err){
return false;
}
}public String show(String str){
String str1="";
if(str.compareTo("1")==0){
str1="\u221A";
}else{
str1=" ";
}
return str1;
}
}
org.apache.jasper.JasperException: Exception in JSP: /t1.jsp:2320: String sql="";
21: ResultSet rs=null;
22: sql="select * from dept";
23: rs=DBbean.excuteQuery(sql);
24: //rs=DBbean.executeQuery(sql);
25: while(rs.next()) {%>
26: <%=rs.getString(1)%> - <%=rs.getString(2)%>- <%=rs.getString(3)%> <br>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
dbConn.dbConn.excuteQuery(dbConn.java:34)
org.apache.jsp.t1_jsp._jspService(t1_jsp.java:75)
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:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)dbConn.java ,如下:
package dbConn;import java.sql.*;
import java.io.*;
import java.util.*;
import javax.naming.*;
public class dbConn{
Connection conn = null;
CallableStatement stmtpro = null;
Statement stmt=null;
ResultSet rs = null;
public dbConn(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=ecorr;user=user;password=123");
String url="jdbc:oracle:thin:@192.168.0.78:1521:vps"; //orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
} catch(java.lang.SecurityException se) {
throw se;
} catch(java.lang.Exception e) {
e.printStackTrace();
}
}
//数据处理
public ResultSet excuteQuery(String sql){
stmt=null;
rs = null;
try {
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); //第34行
rs=stmt.executeQuery(sql);
} catch(SQLException ex){
System.err.println("sql_data.executeUpdate:"+ex.getMessage());
}
//显示数据库连接错误或者查询错误
return rs;
}
//数据更新
public int executeUpdate(String sql){
stmt=null;
int number = 0;
try {
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
if (conn==null) { return -1; }
if (stmt == null) { return -1; }
}
catch(SQLException ex){
System.err.println("sql_data.executeUpdate:"+ex.getMessage());
return -1;
}
return number;
}
public String executeProcedure(String BHMC){
stmtpro = null;
String BH=null;
String sql=null;
sql="{ call P_NB_BH(?,?)}";
try {
stmtpro=conn.prepareCall(sql);
stmtpro.setString(1,BHMC);
stmtpro.registerOutParameter(2,Types.CHAR);
stmtpro.executeUpdate();
BH = stmtpro.getString(2);
} catch(SQLException ex){
System.err.println("sql_data.executeUpdate:"+ex.getMessage());
//显示数据库连接错误或者查询错误
}
return BH;
}//关闭数据源,断开连接
public boolean close(){
try{
if(this.rs!=null){
this.rs.close();
}
if(stmt!=null){
this.stmt.close();
}
if(stmtpro!=null){
this.stmtpro.close();
}
if(conn!=null){
this.conn.close();
}
return true;
}catch(Exception err){
return false;
}
}public String show(String str){
String str1="";
if(str.compareTo("1")==0){
str1="\u221A";
}else{
str1=" ";
}
return str1;
}
}
Connection conn= DriverManager.getConnection(url,user,password);
改成
conn= DriverManager.getConnection(url,user,password);