我在servlet中写了一段用户登录的后台代码,javabean的名字是Login.java
每次执行,都是在executeQuery()那边出错,因为ResultSet对象rs.next()老是为FALSE,各位大侠看看到底是怎么回事啊。public void init(ServletConfig config) throws ServletException {
super.init(config);
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");}
catch(Exception e){
}
public String handleString(String s){
try{
byte bb[]=s.getBytes("ISO-8895-1");
s=new String(bb);
}
catch(Exception ee){}
return s;
}
/**
 * The doPost method of the servlet. <br>
 *
 * This method is called when a form has its tag value method equals to post.
 * 
 * @param request the request send by the client to the server
 * @param response the response send by the server to the client
 * @throws ServletException if an error occurred
 * @throws IOException if an error occurred
 */
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection con;



PreparedStatement sql;
//Statement sql;


Login loginBean=null;
String backNews="";
HttpSession session=request.getSession(true);
try{
loginBean=(Login)session.getAttribute("login");
if(loginBean==null){
loginBean=new Login();
session.setAttribute("login", loginBean);
}
}catch(Exception ee){
loginBean=new Login();
session.setAttribute("login", loginBean);
}
String userid=request.getParameter("userid").trim();
String password=request.getParameter("password").trim();
String usertype=request.getParameter("usertype").trim();
boolean ok=loginBean.getSuccess();
userid=handleString(userid);
password=handleString(password);
usertype=handleString(usertype);
if(ok==true&&userid.equals(loginBean.getUserid())){
backNews=userid+"已经登录了";
loginBean.setBackNews(backNews);
}
else{
String uri="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=OAoffice";

boolean boo=(userid.length()>0)&&(password.length()>0);
try{

System.out.println(boo);
con=DriverManager.getConnection(uri,"sa","");

//String condition="select * from workerlogin where userid='"+userid+"' and password='"+password+"' and usertype='"+usertype+"'";
//sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String condition="SELECT * FROM workerlogin WHERE userid=? AND password=? AND usertype=?";
sql=con.prepareStatement(condition);
if(boo){

System.out.println("sql查询信息"+sql);
sql.setString(1, userid);
sql.setString(2, password);
sql.setString(3, usertype);
//ResultSet rs=sql.executeQuery(condition);
ResultSet rs=sql.executeQuery();
System.out.println("sql查询信息"+sql);
System.out.println(rs.next());

if(rs.next())
{
System.out.println("insert success");
loginBean.setSuccess(true);
System.out.println("insert success");
loginBean.setUserid(userid);
System.out.println(userid);
System.out.println("insert success");
loginBean.setUsertype(usertype);
System.out.println("insert success");
System.out.println(usertype);
if(usertype.equals("系统管理员")){
        System.out.println("welcome admin");
RequestDispatcher dispatcher=request.getRequestDispatcher("/manager.jsp");
dispatcher.forward(request,response);
}
                        else if(usertype.equals("高级员工")){

System.out.println("welcome super");
RequestDispatcher dispatcher=request.getRequestDispatcher("/superworker.jsp");
dispatcher.forward(request,response);
}
else if(usertype.equals("普通员工")){
    System.out.println("welcome worker");
RequestDispatcher dispatcher=request.getRequestDispatcher("/commonwork.jsp");
dispatcher.forward(request,response);
}
}
/*else{
System.out.println("不存在");
backNews="您输入的用户不存在,或者密码不般配";
loginBean.setBackNews(backNews);
loginBean.setSuccess(false);
loginBean.setUserid(userid);
loginBean.setPassword(password);
RequestDispatcher dispatcher=request.getRequestDispatcher("/index1.jsp");
dispatcher.forward(request,response);
    }*/

}
else{
backNews="您的输入有误";
loginBean.setBackNews(backNews);
loginBean.setSuccess(false);
loginBean.setUserid(userid);
loginBean.setPassword(password);
RequestDispatcher dispatcher=request.getRequestDispatcher("/index1.jsp");
dispatcher.forward(request,response);
}
con.close();
}
catch(SQLException exp){
backNews=""+exp;
loginBean.setBackNews(backNews);
loginBean.setSuccess(false);
}
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}每次执行后System.out.println(rs.next())输出的都是false,下面的IF条件句不执行