这段是数据库连接获取数据的代码:
package kignbi.dong;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;public class DB { Connection connect = null;
ResultSet rs = null;
public DB(DataSource dataSource) {
try {
connect = dataSource.getConnection();
}
catch(SQLException e) {
e.printStackTrace();
}
}
public ResultSet OpenSql(String sql) {
try {
Statement stmt = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
ex.printStackTrace();
}
return rs;
}
public int ExecSql(String sql) {
int result = 0;
try {
Statement stmt = connect.createStatement();
result = stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
}
return result;
}
public void close(){
if(connect!=null){
try{
connect.close();
connect = null;
}catch(SQLException ex) {
System.err.println(ex.getMessage());
}
}
}
}还有浏览器报错的提示:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
kignbi.dong.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:46)
root cause java.lang.NullPointerException
kignbi.dong.DB.OpenSql(DB.java:25)
kignbi.dong.action.UserLoginAction.execute(UserLoginAction.java:69)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
kignbi.dong.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:46)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.
有谁能帮忙看看,要怎么改代码才能解决这个问题。空指针J2EE
package kignbi.dong;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;public class DB { Connection connect = null;
ResultSet rs = null;
public DB(DataSource dataSource) {
try {
connect = dataSource.getConnection();
}
catch(SQLException e) {
e.printStackTrace();
}
}
public ResultSet OpenSql(String sql) {
try {
Statement stmt = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
ex.printStackTrace();
}
return rs;
}
public int ExecSql(String sql) {
int result = 0;
try {
Statement stmt = connect.createStatement();
result = stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
}
return result;
}
public void close(){
if(connect!=null){
try{
connect.close();
connect = null;
}catch(SQLException ex) {
System.err.println(ex.getMessage());
}
}
}
}还有浏览器报错的提示:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
kignbi.dong.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:46)
root cause java.lang.NullPointerException
kignbi.dong.DB.OpenSql(DB.java:25)
kignbi.dong.action.UserLoginAction.execute(UserLoginAction.java:69)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
kignbi.dong.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:46)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.
有谁能帮忙看看,要怎么改代码才能解决这个问题。空指针J2EE
下次代码里面注释上报错的地方
Statement stmt = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
这3段报错了。我也额外创建个test.java文件来debug一下,connect还是null,获取不了数据库的内容。
不行的你吧dateSource这个对象构造发出来
OracleDataSource ods = new OracleDataSource();
ods.setDriverType ( "thin" );
ods.setNetworkProtocol("tcp");
ods.setServerName ( "127.0.0.1" );
ods.setDatabaseName("TEST");
ods.setPortNumber(1521);
ods.setUser("user");
ods.setPassword("123456");
connect=ods.getConnection();