求助,我编了一个代码如下的blog类,为什么当我使用checkEnable()方法的时候返回的总是空值?package com.blog.domain;import com.blog.dao.*;
import java.sql.*;
import java.util.Hashtable;public class Blog {
private String usrId;
private String nickname;
private String subject;
private String entryKey;
private String email;
private String description;

private Hashtable ArticleHashtable;
private Hashtable FeedBackHashtable;
private Hashtable LinkHashtable;

public void setusrId(String uId){
usrId=uId;
}

public void setnickname(String nname){
    nickname=nname;
    }

public void setsubject(String sub){
subject=sub;
}


public void setentryKey(String eKey){
entryKey=eKey;
}

public void setemail(String e){
email=e;
}

public void setdescription(String des){
description=des;
}

public String getentryKey(){
return entryKey;
}

public String getusrId(){
return usrId;
}

public static Blog load(String id){
String sqlString;
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
Blog blog=new Blog();
sqlString="select * from blog where usrId="+id;
try{
con=ConnectionManager.getConn();
stmt=con.createStatement();
rs=stmt.executeQuery(sqlString);
while(rs.next()){
blog.setusrId(rs.getString("usrId"));
blog.setnickname(rs.getString("nickname"));
blog.setsubject(rs.getString("subject"));

blog.setentryKey(rs.getString("entryKey"));
blog.setemail(rs.getString("email"));
blog.setdescription(rs.getString("description"));
}
}
catch(Exception e){
e.printStackTrace();
}
finally{
try{
rs.close();
}
catch(Exception e){
e.printStackTrace();
}
try{
stmt.close();
}
catch(Exception p){
p.printStackTrace();
}
try{
con.close();
}
catch(Exception q){
q.printStackTrace();
}
}
return blog;
}
public static Blog checkEnable(String id, String apsw){
Blog blog=new Blog();
blog=load(id);
if(blog!=null){
String password=blog.getentryKey();
if(password!=apsw){
blog=null;
}
}
return blog;
}}

解决方案 »

  1.   

    我把的SQL语句修改了一下,可以了
    但是我编了一段测试代码:
    <%@page language="java" contentType="text/html;charset=gb2312" import="java.util.*"%>
    <%@page import="com.blog.domain.*"%>
    <%@page import="com.blog.coordinator.*"%>
    <%@page import="com.blog.dao.*"%>
    <%@page import="java.sql.*"%>
    <%@page import="java.lang.String"%>
    <%            
    String adminname=request.getParameter("adminname");
    String password=request.getParameter("password"); String sqlString;
    Connection con=null;
    PreparedStatement ps=null;
    ResultSet rs=null;
    Blog blog=new Blog();
    sqlString="select * from blog where usrId="+Integer.parseInt(adminname); con=ConnectionManager.getConn();
    ps=con.prepareStatement(sqlString);
    rs=ps.executeQuery();
    while(rs.next()){
    blog.setusrId(rs.getInt("usrId"));
    blog.setentryKey(rs.getString("entryKey"));}String entryKey=blog.getentryKey();
    out.println(password);
    out.println(entryKey);
    if(password.equals(entryKey)){
    out.println(password);
    out.println(entryKey);
    }
    %>
    前面两个out.println();可以显示出返回值,是两个一样的字符串,但是后面两个out.println()就不显示了,不知道是什么原因???
      

  2.   

    if(password.equals(entryKey))  // 说明这个条件不为真