提示testservlet.java:22为报告异常java.sql.SQLException;必须对其进行捕捉或声明以便抛出if(dbc.islogin(username,password))

解决方案 »

  1.   

    提示这么清楚了?
    你在方法的throws列表后面加上SQLException
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {
       .....
    }
      

  2.   

    开始就试过了,也不行,说:testservlet中的doPost(HttpServletRquest,HttpServletResponse)无法覆盖javax.servlet.httpservlet中的doPost()方法被覆盖的方法不抛出java.sql.exception
      

  3.   

    你该关的没关,Exception自己处理了不就完事了,往外抛什么? 就算抛,你抛new RunntimeException(e);不就OK了。
      

  4.   

    将数据库连接的语句用try和catch语句包起来就ok
      

  5.   

    我数据库连接的语句不就是用try和catch语句包起来的吗?
      

  6.   

    :testservlet中的doPost(HttpServletRquest,HttpServletResponse)无法覆盖javax.servlet.httpservlet中的doPost()方法被覆盖的方法不抛出java.sql.exception
    这是个什么错误啊
      

  7.   


    servlet doPost方法i是没有抛出java.sql.SQLException的public   void   doPost(HttpServletRequest   request,   HttpServletResponse   response) throws ServletException,IOException  
        {  
            
                String username = request.getParameter("username");
                String password = request.getParameter("password");
                DBConnection dbc = new DBConnection();
    try{
                if(dbc.islogin(username,password))
                    response.sendRedirect("main.jsp");
                else
                    response.sendRedirect("regedit.jsp");
    }catch(SQLException e ){}
                HttpSession session = request.getSession(true);
                session.removeAttribute("username");
                session.setAttribute("username",username);
                
            
        }
    这样看看
      

  8.   

    你可以用断点调试一下,我看你可能是这里错了
    public boolean islogin(String username,String password)throws SQLException
        {
            int count=0;
            sql = "select count(*)  from table1  where username=? and password=?";
            prst = conn.prepareStatement(sql);
            prst.setString(1,"username");
            prst.setString(2,"password");
            rs = prst.executeQuery();
            while(rs.next())
            {
                count=rs.getInt(1);
            }
            return count>0?true:false;
        } 
    }
    里面要用try catch
      

  9.   

    你在servlet里用try catch了?
    你的isLogin方法声明的时候设定抛出异常public boolean islogin(String username,String password)throws SQLException
    但你在servlet里用这个方法时没有将异常捕获
      

  10.   

    同意楼上的
     在 isLogin() 方法用try-catch包围