第1天接触Struts,一个简单问题请教
package fastfox.login;
import org.apache.struts.action.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
import fastfox.condata;
import fastfox.util.jcutil;
public class LoginAction extends Action {
public ActionForward perform (ActionMapping mapping,ActionForm form,HttpServletRequest req,HttpServletResponse res)
{
LoginForm lf = (LoginForm) form;
String username = lf.getUsername();
String userpassword = lf.getUserpassword();
String checkcode = lf.getCheckcode();
if (chkLogin(username,userpassword)>0) {
return mapping.findForward("success");
}
return mapping.findForward("failure");
}
public static int chkLogin(String userName,String userPassword){
condata dbc = null;
try{
int userID=0;
dbc = new condata ();
userName=jcutil.unicodeTogb(userName);
userPassword=jcutil.unicodeTogb(userPassword);
String sql="SELECT * FROM employee WHERE user_id ='"+userName+"' and password ='"+userPassword+"'";
ResultSet rs = dbc.executeQuery(sql);
if(rs.next()){
userID = rs.getInt("emp_id_system");
}
rs.close();
return userID;
}catch(Exception e){
return -1;
}finally{
try{
dbc.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
为什么总是return mapping.findForward("failure");
即:
chkLogin(String userName,String userPassword)返回的userID总是为0(即使输入的userName,userPassword 存在于表employee)
condata 为数据库连接池,平时从未出现过问题
jcutil.unicodeTogb()是一个编码类
问题点数:20、回复次数:1Top
1 楼caiyi0903(willpower)回复于 2004-07-04 22:24:37 得分 20
你打印一下返回的值看是多少……
如果数据库连接正常,看看配置文件是不是对的Top




