我在servlet中写了这些语句:
try{
   while(rs.next()){
   if(username.equals(rs.getString("username"))){
//request.getRequestDispatcher("/register.jsp").forward(   request,   response);   
out.println("此用户名已存在!");
//out.print(" <script language=javascript>alert('此用户名已存在,请换个用户名重试');"); 
//out.print("history.go(-1); </script>");
}
}
}catch(SQLException e){}
为什么if语句里的out执行不了呀.请大家帮忙解决下

解决方案 »

  1.   

    在if最后加[b] return[/b]
      

  2.   

    如果是验证的中文用户名的话 比较麻烦。具体可以看我这个提问的帖子。
    http://topic.csdn.net/u/20081214/19/203d87fc-8158-46ae-bfe3-44e3e5066000.html
      

  3.   

    我觉得不可能不执行啊 除非你
    //request.getRequestDispatcher("/register.jsp").forward(  request,  response);  
    这一句没有注释掉 不然只要进入了IF里面就会执行的
      

  4.   

    要么request.getRequestDispatcher一句没注释掉
    要么if条件为假
      

  5.   

    这种错误只能用调试了,用System.out.println()先输出你的username,看是否为空,再输出if中的比较内容看条件是否成立或用调试程序调试下,没什么快捷的方法
      

  6.   

    这段代码没有问题
    检查用户名是否相等;
    request,数据库编码是否一致 
      

  7.   

    估计是直接跳转了...........
    request.getRequestDispatcher("/register.jsp").forward(  request,  response);没注释掉!
    或者别的什么愿意没进入到if里面.
    好好检查下! 
      

  8.   

    是不是你没有有写上
    PrintWriter out=reqeust.getWriter();
      

  9.   

    我试过了,可以判断但是里面的内容就是执行不了,我插入和数据库中相同的用户名则插不进,而插入不同的则可以插进去,说明if语句起用了,但是就是不能提示信息(即if中的语句),我也试过1楼的方法了,在if最后加入 return,但还是不行呀,只要加这条语句就报错.请问该怎么做呀,求求各位了
      

  10.   

    调试一下,看程序运行到if语句的时侯username值是什么,re.getString("username")又是什么,就知道了
      

  11.   

    IF语句是判断了,但是进不去if语句中怎么看他的值呀username的值是我输进去的值,
      

  12.   

    肯定是你没有写这句
    PrintWriter out=reqeust.getWriter();
    没有定义对象out