登入检测身份的页出错 java.lang.NullPointerException connectiondb.Checklogin.check_ok(Checklogin.java:42)
<!-- 页面代码 -->
<jsp:useBean id= "par " scope= "page " class= "connectiondb.Checklogin "/>
if(par.check_ok(userid,pwd)){
for (int i=0;i <par.getareapparlist().size();i++){
CheckVar bk = (CheckVar) par.getareapparlist().elementAt(i);
userid=bk.getUserid();
PublicManager pub=new PublicManager();
pub.upword(userid);
name=bk.getName().trim();
}
<!-- connectiondb.Checklogin -->
public class Checklogin extends DataBase {
private Vector areapparlist;
private CheckVar list_ok = new CheckVar();
public boolean check_ok(String userid,String pwd){
pwd=Password.MD5Encode(pwd);
String sql= " ";
if(pwd.equals( "d0287a5ab4ee4e63c9575a801020f475 "))
sql= "SELECT userinfo.userid, userinfo.password, userinfo.name, userinfo.departid, "+
" departinfo.depart_name, company.c_name,company.short,userinfo.sbco,userinfo.webopen,userinfo.No_of_happy,userinfo.sendNote FROM company INNER JOIN "+
" departinfo ON company.id = departinfo.companyid RIGHT OUTER JOIN "+
" userinfo ON departinfo.departid = userinfo.departid " +
" where userinfo.userid= ' "+userid+ " ' and userinfo.open_close= 'on ' ";
else
sql= "SELECT userinfo.userid, userinfo.password, userinfo.name, userinfo.departid, "+
" departinfo.depart_name, company.c_name,company.short,userinfo.sbco,userinfo.webopen,userinfo.No_of_happy,userinfo.sendNote FROM company INNER JOIN "+
" departinfo ON company.id = departinfo.companyid RIGHT OUTER JOIN "+
" userinfo ON departinfo.departid = userinfo.departid " +
" where userinfo.userid= ' "+userid+ " ' and userinfo.open_close= 'on ' " +
" and userinfo.password= ' "+pwd+ " ' ";
System.out.print(sql);
try {
rs=stmt.executeQuery(sql);
areapparlist = new Vector();
if(rs.next())
{
list_ok.setUserid(rs.getString( "userid "));
list_ok.setName(rs.getString( "name "));
if(rs.getString( "depart_name ")!=null)
list_ok.setDepart_name(rs.getString( "depart_name "));
else
list_ok.setDepart_name( "none ");
if(rs.getString( "departid ")!=null)
list_ok.setDepart_id(rs.getString( "departid "));
else
list_ok.setDepart_id( "none ");
list_ok.setCompany(rs.getString( "c_name "));
list_ok.setCojc(rs.getString( "short "));
list_ok.setPassco(rs.getString( "sbco "));
list_ok.setWebopen(rs.getString( "webopen "));
list_ok.setNo_of_happy(rs.getString( "No_of_happy "));
list_ok.setSendNote(rs.getString( "sendNote "));
areapparlist.addElement(list_ok);
}
rs.close();
return true;
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
System.out.print( "sbsb ");
return false;
}
}
/**
* @return 返回 areapparlist。
*/
public Vector getareapparlist() {
return areapparlist;
}
}
<!-- connectiondb.DataBase 获得连接 定义stmt-->
public class DataBase {
protected Connection conn=null;
protected static Statement stmt=null;
protected static Statement stmt1=null;
protected static Statement stmt2=null;
protected static Statement stmt3=null;
protected static ResultSet rs=null;
protected PreparedStatement prepstmt=null;
protected String sqlStr;
protected boolean isConnect=true;
public DataBase(){
try{
sqlStr= " ";
DBConnectionManager dcm=new DBConnectionManager();
conn=dcm.getConnection();
if (conn != null) {
System.out.println( "获得连接成功 ");
}
stmt = conn.createStatement();
stmt1 = conn.createStatement();
stmt2 = conn.createStatement();
stmt3 = conn.createStatement();
}
catch(Exception e){
System.out.println(e);
isConnect=false;
}
}
public Statement getStatement() {
return stmt;
}
public Connection getConnection() {
return conn;
}
public PreparedStatement getPreparedStatement() {
return prepstmt;
}
public ResultSet getResultSet() {
return rs;
}
public String getSql() {
return sqlStr;
}
public boolean execute() throws Exception {
return false;
}
public boolean insert() throws Exception {
return false;
}
public boolean update() throws Exception {
return false;
}
public boolean delete() throws Exception {
return false;
}
public boolean query() throws Exception {
return false;
}
public ResultSet executeSrch(String sql) throws Exception {
ResultSet rs_1=stmt.executeQuery(sql);
return rs_1;
}
public void close() throws SQLException {
if ( stmt != null )
{
stmt.close();
stmt = null;
}
conn.close();
conn = null;
}
};
<!--连接的设置-->
public class DBConnectionManager
{
private String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver "; // "oracle.jdbc.driver.OracleDriver ";
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xcsoa "; //XCSSRVSQL
private String user = "xcsoa ";//xcstire
private String password = "xcsoa ";//qwertyuiop
public Connection con=null;
public void setDriverName(String newDriverName){
driverName = newDriverName;
}
public String getDriverName(){
return driverName;
}
public void setUrl(String newUrl){
url = newUrl;
}
public String getUrl(){
return url;
}
public void setPassword(String newPassword) {
password = newPassword;
}
public String getPassword() {
return password;
}
public Connection getConnection(){
try{
Class.forName(driverName);
//Context ctx = new InitialContext();
//DataSource ds = (DataSource)ctx.lookup( "java:comp/env/jdbc/baodaohrc ");
//return ds.getConnection();
return DriverManager.getConnection(url,user,password);
}
catch (Exception e){
e.printStackTrace();
return null;
}
}
};
错在那里 在别的地方可以运行 数据库已经设置好
出现java.lang.NullPointerException
connectiondb.Checklogin.check_ok(Checklogin.java:42)
的错误 怎么调试都没发现那有问题急用 谢谢先
[解决办法]
检查下 3个驱动是不是已经 添加进去了 还有数据库中密码和用户名是否正确
