jsp代码:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="tom.jiafei.Login" %>
<%! 
    public String codeString(String s)
{  String str=s;
   try{  byte b[]=str.getBytes("ISO-8859-1");
         str=new String(b);
 return str;
      }
   catch(Exception e)
      { return str;
  }    
}
%>
<html>
<body bgcolor="#3333FF"><font size="1">
<%@ include file="head.txt" %>
<font size="1">
<p>输入用户名和密码:
<% String str=response.encodeURL("login.jsp"); %>
<form action="<%=str%>" method="post">
<br>登录名称<input type=text name="logname">
<br>输入密码<input type=password name="password">
<br><input type=submit name="g" value="提交">
</form>
<jsp:useBean id="login" class="tom.jiafei.Login" scope="session" >
</jsp:useBean><%   String message="",
            logname="",
password="";
 if(!(session.isNew()))
 {  logname=request.getParameter("logname");
       if(logname==null)
   {   logname="";
   }
logname=codeString(logname);
password=request.getParameter("password");
   if(password==null)
      {  password="";
  }   
password=codeString(password);   
 }
%>
<%    if(!(logname.equals("")))
    {
%>
     
 <jsp:setProperty name="login" property="logname" value="<%=logname%>" />
 <jsp:setProperty name="login" property="password" value="<%=password%>" />
<%   
  message=login.getMessage();
     if(message==null)
    {  message="";
}
}
%>
<%
   if(!(session.isNew()))
     {   if(message.equals("ok"))
        {    String meb=response.encodeURL("showMember.jsp");
      response.sendRedirect(meb);
}
 else
    {  out.print(message);

 }
%>
</body>
</html>javabean代码:
package tom.jiafei;
import java.sql.*;
public class Login
{    String logname, 
        password,
success="false",
message="";
   Connection con;
   Statement sql;
   ResultSet rs;
   public Login()
   {       
   try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      }
       catch (ClassNotFoundException e){}
   }
   public void setLogname(String name)
   {  logname=name;
   }
   public String getLogname()
   {  return logname;
   }
   public void setPassword(String pw)
   {  password=pw;
   }
   public String getPassword()
{  return password;
}
   public String getSuccess()
{  return success;
}   public String getMessage()
{ try
  {
con=DriverManager.getConnection("jdbc:odbc:friend","sa","");
    sql=con.createStatement();
String condition="SELECT * FROM member WHERE logname="+"'"+logname+"'";
rs=sql.executeQuery(condition);
int rowcount=0;
String ps=null;
while(rs.next())
{  rowcount++;
   logname=rs.getString("logname");
   ps=rs.getString("password");
}
if ((rowcount==1)&&(password.equals(ps)))
{  message="ok";
   success="ok";
}
else
{  message="输入的用户名或密码错误";
   success="false";
}
        con.close();
return message;
  }
  catch (SQLException e)
  {   message="输入的用户名或密码错误";
success="false";
    return message;
  }
}}
访问页面不报错,但每次用已经注册的号(注册页面调试正常可以写数据进数据库)登录底下都显示:输入的用户名或密码错误
我不认为是数据库权限问题,因为我写的另个页面可以读出数据。
请高手看看。