Alguém pode me ajudar a montar esse fluxo de controle ?
if(senha==""||senhaD==""||senhaN==""||senhaC==""){
out.print("A senha não pode ser vazia.");}elseif(senha==senhaD){
out.print("A senha atual não confere.<br>");}elseif((senhaN==senhaC)){
out.print("A senha Nova é diferente da Reinformada.<br>");}elseif(!dao.trocaSenha(usuario)){
response.sendRedirect("error.jsp");out.print("erro<br>");}elseif(dao.trocaSenha(usuario)){
out.print("Senha alterada com sucesso !");response.sendRedirect("sucesso.jsp");}
OBS.: comparar String com ==? :shock: :shock: :shock:
A
AbelBueno
Algumas considerações:
Não use == para comparar igualdade de objetos (como Strings), use o método equals.
Você está chamando 2x o método trocaSenha… ele irá no banco mais do que o necessário.
Não vi em que momento você coloca a nova senha no objeto usuário
Utilize nome mais claros para suas variaveis: ao invés de senhaN tente novaSenha
Ficaria algo mais ou menos assim:
if(senha.isEmpty()||senhaD.isEmpty()||senhaN.isEmpty()||senhaC.isEmpty()){
out.print("A senha não pode ser vazia.");}elseif(!senha.equals(senhaD)){//aquivocêestavatestandoigualdade,temquetestardiferençaout.print("A senha atual não confere.<br>");}elseif(!senhaN.equals(senhaC)){//novamente,testandoigualdade,temquetestardiferençaout.print("A senha Nova é diferente da Reinformada.<br>");}else{
usuario.setSenha(senhaN);booleanresultadoTrocaSenha=dao.trocaSenha(usuario);if(resultadoTrocaSenha){
out.print("Senha alterada com sucesso !");response.sendRedirect("sucesso.jsp");}else{
response.sendRedirect("error.jsp");out.print("erro<br>");}
}
jMarcel
AbelBueno:
jMarcel:
if(senha==""||senhaD==""||senhaN==""||senhaC==""){
out.print("A senha não pode ser vazia.");}elseif(senha==senhaD){
out.print("A senha atual não confere.<br>");}elseif((senhaN==senhaC)){
out.print("A senha Nova é diferente da Reinformada.<br>");}elseif(!dao.trocaSenha(usuario)){
response.sendRedirect("error.jsp");out.print("erro<br>");}elseif(dao.trocaSenha(usuario)){
out.print("Senha alterada com sucesso !");response.sendRedirect("sucesso.jsp");}
Algumas considerações:
- Não use == para comparar igualdade de objetos (como Strings), use o método equals.
- Você está chamando 2x o método trocaSenha... ele irá no banco mais do que o necessário.
- Não vi em que momento você coloca a nova senha no objeto usuário
- Utilize nome mais claros para suas variaveis: ao invés de senhaN tente novaSenha
Ficaria algo mais ou menos assim:
if(senha.isEmpty()||senhaD.isEmpty()||senhaN.isEmpty()||senhaC.isEmpty()){
out.print("A senha não pode ser vazia.");}elseif(!senha.equals(senhaD)){//aquivocêestavatestandoigualdade,temquetestardiferençaout.print("A senha atual não confere.<br>");}elseif(!senhaN.equals(senhaC)){//novamente,testandoigualdade,temquetestardiferençaout.print("A senha Nova é diferente da Reinformada.<br>");}else{
usuario.setSenha(senhaN);booleanresultadoTrocaSenha=dao.trocaSenha(usuario);if(resultadoTrocaSenha){
out.print("Senha alterada com sucesso !");response.sendRedirect("sucesso.jsp");}else{
response.sendRedirect("error.jsp");out.print("erro<br>");}
}