<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<html>
  <title>插入</title>
  <body>
  <%
     request.setCharacterEncoding("GBK");
     
      String uname = request.getParameter("uname").trim();
      //out.println(uname);
      String pwd = request.getParameter("pwd").trim();
   
   
  %>
   
  <%
     Connection con;
     Statement stmt;
     ResultSet rs;
     String sql;
    
     try
     {
       Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
     }
     catch(ClassNotFoundException e)
     {
        out.println("找不到这个类!");
     }
     try
     {    
     //  sql = "select (sno,pwd) from s  where (?,?) ";
     //  sql = "insert into s (sno,class,sname,sex,birthday,address,telephone,email) values (?,?,?,?,?,?,?,?)";
     //  sql = "insert into s1 (sno,sname,sex) values(?,?,?)";
     //  sql ="insert into s (sno,class,sname,sex,birthday,address,telephone,email) values('"+sno+"','"+cla+"','"+name+"','"+sex+"','"+ads+"','"+birth+"','"+tel+"','"+email+"')";
        sql = "select * from s  ";
        con = DriverManager.getConnection("jdbc:microsoft:sqlServer://127.0.0.1:1433;DatabaseName=student2","sa","bertram");
        stmt = con.createStatement();
        rs = stmt.executeQuery(sql);
        while(rs.next())
        {
        //  rs.getString(3);
        //  out.println(rs.getString(3));
       //   rs.getString(9);
        //  out.println(rs.getString(9));
          if(uname.equals((rs.getString(3)).trim())&&pwd.equals((rs.getString(9)).trim()))
        {
          session.setAttribute("uname",uname);
          response.sendRedirect("success.jsp");
        }
        else
        {
           response.sendRedirect("fail.jsp");//为什么这个语句会抛出异常啊!不知道为什么啊!现在所有连接数据库的用这个跳转都要抛出!哪位高人知道为啥啊!感谢指出!
        }
        }
        
        
     %>    
     
      <% 
        stmt.close();
        con.close();
     }
     catch(SQLException e)
     {
         out.println(e+"数据库操作异常!");
     }
   %>
  </body>
</html>
异常错误提醒:
org.apache.jasper.JasperException: An exception occurred processing JSP page /conf.jsp at line 5350:         }
51:         else
52:         {
53:            response.sendRedirect("fail.jsp");
54:         }
55:         }
56:         

解决方案 »

  1.   

    先说明一下:你的上面的代码我没有看,只是看你报错的部分,建议如下:1:路径错误
    2:换成request形式试试
      

  2.   

    response.sendRedirect("
    前面不允许有任何html内容输出,而你的不是
    2个方法
    1 加上 out.clearBuffer();看看运气
    2 改用js进行转向
      

  3.   

    不要使用while循环,使用if判断!
      

  4.   

    这里是用while的你这个原因不清楚了
      

  5.   

     response.sendRedirect("fail.jsp");这句不要写在<%  %> 中,response 是jsp内置对象,不是java中的,要用<%  %>这些把是java代码的括起来,不是的不要括。
      

  6.   

    建议LZ把 catch(SQLException e) 
        { 
            out.println(e+"数据库操作异常!"); 
        } 
    中的out.println(e+"数据库操作异常!"); 改为e.printStackTrace();
    这样异常信息会详细一点
      

  7.   

    哦,最好是改为:    catch(Exception e) 
        { 
            e.printStackTrace(); 
        } 
      

  8.   

    使用response.sendRedirect时,前面不能有HTML输出。但这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。你可以在response.sendRedirect()之后加一个return;试一下。
      

  9.   

    请不要在jsp里写这些代码。。太乱了