日期:2014-05-18  浏览次数:20631 次

不解决不睡觉~~找个高手来解决下?
有这样一段JSP连接SQL的代码问题:
public   void   doGet(HttpServletRequest   request,   HttpServletResponse   response)
throws   ServletException,   IOException   {

response.setContentType( "text/html ");

String   name=request.getParameter( "txtName ");
String   pass=request.getParameter( "txtPass ");
Condb   objcon=new   Condb();
objcon.IsCondb(name,pass);

if(objcon.IsCondb(name,pass))
{

response.sendRedirect( "../one.jsp ");正确的页面
}
else
{

response.sendRedirect( "../two.jsp ");//错误页面
}
}

}

前提连接数据库和输入的用户名、密码一切正常但为什么不执行if语句就直接执行else语句呢?该怎样解决?


------解决方案--------------------
objcon.IsCondb(name,pass)函数得返回值是true还是false?
------解决方案--------------------
objcon.IsCondb(name,pass)返回一个int或string值,定义个变量来接收
例:int i=objcon.IsCondb(name,pass)
判断一下i的值,输入都正确返回1,密码不正确返回2,用户名不正确返回3
根据返回值做各种处理就可以了
或者objcon.IsCondb(name,pass)直接返回true or false,
if(objcon.IsCondb(name,pass))
{

response.sendRedirect( "../one.jsp ");正确的页面 //true执行
}
else
{

response.sendRedirect( "../two.jsp ");//错误页面 //false执行
}

提醒一点:不要用response.sendRedirect来跳转,最好用请求调度来做
response.sendRedirect是在客户端执行的,而请求调度直接在服务端
来做,这样好多了!