验证用户名和密码的简单问题,有代码!!大家帮忙看看吧!奇怪的错误...
当我在前台只是调用isPasswdOk()函数时能够通过。即:
if(isIn.isPasswdOk(syslogin.getUserName(),syslogin.getPassWd())){//right
但两个同时调用时却报错了。
if(isIn.isUsernameOk(syslogin.getUserName())){//用户名判断
if(isIn.isPasswdOk(syslogin.getUserName(),syslogin.getPassWd())){//密码判断
代码如下:(会不会使数据库关闭不当导致的错误呢?)
用户登录类:
package cn.com.jysky.news.manage;
import java.sql.*;
import
org.apache.log4j.Logger;
import cn.com.jysky.datasource.*;
import cn.com.jysky.log4j.UseLog4j;
import cn.com.jysky.common.CodeFilter;
import cn.com.jysky.persistence.NEWSAdmin;
public class ISLogin {
private DBConnection db=null;
private static Logger logger=UseLog4j.getLogInstance( "ISLogin ");
//判断用户名。
public boolean isUsernameOk(String userName){
boolean isOk=false;
if(db==null)
db=DBConnection.getInstance();
String strSql = "select * from newsadmin where userName= ' "+userName+ " '; ";
try{
//db.prepareStatement(strSql);
ResultSet rs= db.read(strSql);
try{
rs.last();
//getRow()检索当前行编号。第一行为 1 号,第二行为 2 号,依此类推。
if(rs!=null&&rs.next()){
isOk=true;
rs.close();
}
}catch(
SQLException e){
e.printStackTrace(System.out);
logger.info( "查询用户返回指针时出现异常! ");
}
}
catch(Exception e){
e.printStackTrace(System.out);
logger.info( "查询用户时出现异常! ");
}
finally{
db.stop();
}
return isOk;
}
//判断密码。
public boolean isPasswdOk(String userName,String passWd){
boolean isOk=false;
if(db==null)
db=DBConnection.getInstance();
String strSql= "select * from newsadmin where userName= ' "+userName+ " ' and passWd= ' "+passWd+ " '; ";
try{
//db.prepareStatement(strSql);
//db.setString(1, CodeFilter.toHtml(strSql));
//db.setString(2, CodeFilter.toHtml(strSql));
ResultSet rs= db.read(strSql);
try{
rs.last();
if(rs!=null&&rs.next()){
isOk=true;
rs.close();
}
}catch(SQLException e){
e.printStackTrace(System.out);
logger.info( "查询密码返回指针时出现异常! ");
}
}
catch(Exception e){
e.printStackTrace(System.out);
logger.info( "查询用户密码时出现异常! ");//同时调用两个函数时捕获这个异常。单独调用该方法不会捕获该异常。
}
finally{
db.stop();
}
return isOk;
}
}
数据库管理类:
package cn.com.jysky.datasource;
import java.sql.*;
import org.apache.log4j.*;
import cn.com.jysky.log4j.*;
/**
* @author 彭金艳 E-mail: pongjy123@163.com
* @version 创建时间:2007-1-3 下午04:49:58
* 连接数据库实例.
*/
public class DBConnection {
//静态工厂模式的对象.
private static &nb