Pessoal estou vacilando em uma coisa aparentemente boba, tenho um método que verifca se um login existe no banco (esse metodo retorna um boolean).
publicbooleanverificarSeJaExisteBD(Stringusername){
booleanresult=false; try{
Stringsql="Select username from user where username = ?";PreparedStatementpsmt=this.con.prepareStatement(sql);psmt.setString(1,username);ResultSetrs=psmt.executeQuery();result=rs.next();con.close();rs.close();psmt.close();}catch(SQLExceptione){
e.getMessage();System.out.println(result);}
System.out.println(result);returnresult;}
Não estou conseguindo utilizar o retorno dele "return result", pq se for TRUE eu gravo os dados no banco senão direciono para o uma página de erro.
publicvoidexecute(HttpServletRequestrequest,HttpServletResponseresponse){try{if(!"cadastrarUsuario".equals(request.getParameter("funcao"))){request.getRequestDispatcher("inserirUsuario.jsp").forward(request,response);}else{StringfullName=request.getParameter("fullName");Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");Stringrole=request.getParameter("role");this.verificarSeJaExiste(username);//É A PARTIR DAQUI QUE NÃO CONSIGO DESENROLAR COM O RETORNO DO MÉTODO. AQUIPASSOOPARÂMETRO"USERNAME"masdaíprafrente...booleanresult=false;if(this.verificarSeJaExiste(result)==true){this.inserirUsuario(fullName,username,password,role);System.out.println(fullName);System.out.println(username);System.out.println(password);System.out.println(role);request.getRequestDispatcher("cadOK.jsp").forward(request,response);}else{response.sendRedirect("erroCadastro.jsp");}}}catch(Exceptione){e.printStackTrace();}}
Também utilizo um gerente que instancia o gerente de persistência
A sua função verificarSeJaExiste recebe uma string como parametro … veja o seu codigo. A variavel result que voce esta passando como parametro é do tipo boolean, tente passar um parametro em string. Da forma que esta descrito no codigo a sua classe verificarSeJaExiste deve verificar se existe algum username entao passe o nome do username para que sua classe possa verificar. Deu para entender?
Pessoal estou vacilando em uma coisa aparentemente boba, tenho um método que verifca se um login existe no banco (esse metodo retorna um boolean).
publicbooleanverificarSeJaExisteBD(Stringusername){
booleanresult=false; try{
Stringsql="Select username from user where username = ?";PreparedStatementpsmt=this.con.prepareStatement(sql);psmt.setString(1,username);ResultSetrs=psmt.executeQuery();result=rs.next();con.close();rs.close();psmt.close();}catch(SQLExceptione){
e.getMessage();System.out.println(result);}
System.out.println(result);returnresult;}
Não estou conseguindo utilizar o retorno dele "return result", pq se for TRUE eu gravo os dados no banco senão direciono para o uma página de erro.
publicvoidexecute(HttpServletRequestrequest,HttpServletResponseresponse){try{if(!"cadastrarUsuario".equals(request.getParameter("funcao"))){request.getRequestDispatcher("inserirUsuario.jsp").forward(request,response);}else{StringfullName=request.getParameter("fullName");Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");Stringrole=request.getParameter("role");this.verificarSeJaExiste(username);//É A PARTIR DAQUI QUE NÃO CONSIGO DESENROLAR COM O RETORNO DO MÉTODO. AQUIPASSOOPARÂMETRO"USERNAME"masdaíprafrente...booleanresult=false;if(this.verificarSeJaExiste(result)==true){this.inserirUsuario(fullName,username,password,role);System.out.println(fullName);System.out.println(username);System.out.println(password);System.out.println(role);request.getRequestDispatcher("cadOK.jsp").forward(request,response);}else{response.sendRedirect("erroCadastro.jsp");}}}catch(Exceptione){e.printStackTrace();}}
Também utilizo um gerente que instancia o gerente de persistência
Ohh cumpadi, leia com atenção o que eu disse na minha resposta :).
Você esta querendo passar um valor booleano como parametro para sua classe sendo que ela recebe é uma String…Atenção voce deve passar é o nome do usuario para ele verificar!!!