Boa Tarde,
estou executando essa Action, e obtenho esse erro na validação do usuario:
javax.servlet.ServletException: java.sql.SQLException: After end of result set
Action
package strutsdemo.action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
import strutsdemo.form.LoginFormNew;
import strutsdemo.bean.AdminUsers;
public class LoginActionNew extends Action {
public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
return this.execute(mapping,form,request,response);
}
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
boolean validLogin=false;
/* Leitura do path que está mapeado no struts-config.xml
* na action "login"
* <action path="/login"
* ...
* ><forward name="login" path="/jsp/principal.jsp"/>
*/
ActionForward actionForward = mapping.findForward("login");
ActionErrors errors = new ActionErrors();
LoginFormNew loginForm=(LoginFormNew)form;
String userName = null;
String password = null;
if (loginForm != null){
userName = loginForm.getUserName();
password = loginForm.getPassword();
try {
AdminUsers adminusers = new AdminUsers();
validLogin = adminusers.autenticaLogin(userName, password);
}
catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
if (validLogin){
/* Leitura do path que está mapeado no struts-config.xml
* na action "login"
* <action path="/login"
* ...
* ><forward name="usuarioOK" path="/jsp/principal.jsp"/>
*/
actionForward = mapping.findForward("usuarioOK");
request.getSession(true).setAttribute("USERNAME",userName);
}
else { errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.login.authenticate"));
}
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
}
return (actionForward);
}
}
Bean
//LOGIN 2
public boolean autenticaLogin(String username, String password) throws SQLException{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql = "SELECT * FROM usuario WHERE login = '"+username+"' and senha = '"+password+"'";
boolean contatos;
try{
conn = getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()){
String nomeCompleto = rs.getString("nome");
}
if (rs.getString("nome")!= null) {
contatos = true;
}
else{ System.out.println("Usuario invalido");
contatos = false;
}
}
catch (SQLException e) {
throw e;
}
finally{ closeAll(conn,stmt,rs);
}
return contatos;
}
// FIM LOGIN
alguém tem alguma dica?