Foros del Web » Programación para mayores de 30 ;) » Java »

Problema al hacer login con jsp y servlets

Estas en el tema de Problema al hacer login con jsp y servlets en el foro de Java en Foros del Web. Estoy haciendo un proyecto en netbeans 6.8 y he realizado un jsp para la pagina de login y un servlet para que valide los datos ...
  #1 (permalink)  
Antiguo 16/06/2010, 08:26
 
Fecha de Ingreso: junio-2010
Mensajes: 4
Antigüedad: 13 años, 10 meses
Puntos: 0
Exclamación Problema al hacer login con jsp y servlets

Estoy haciendo un proyecto en netbeans 6.8 y he realizado un jsp para la pagina de login y un servlet para que valide los datos de login, lo que pasa es que no lo hace y no encuentro el error en el codigo, alguien me puede decir que esta mal. Gracias. Estoy usando oracle como base de datos y me conecto por ojdbc.

Tambien estoy usando una clase de nombre: "asociadobean" donde declaro los campos de la tabla asociado de mi base de datos y una clase :"asociadoDAO" donde hago las consultas.

Este es el codigo del servlet:

package camara.dss.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import soft.lib.conexion.SQLCommander1;

/**
*
* @author Administrador
*/
public class ValidarAccesoServlet extends HttpServlet {

/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String usuario = request.getParameter("txtUsuario");
String clave = request.getParameter("txtClave");

Connection cn = SQLCommander1.obtieneConexion();
String query = "select * from asociado where codsocio='"+usuario+"'and clave='"+clave+"'";
PreparedStatement pstmt = cn.prepareStatement(query);
pstmt.setString(0, usuario);
ResultSet rs = pstmt.executeQuery();

if ( rs.next() && clave.equals(rs.getString("clave"))) {

HttpSession sesion = request.getSession();
sesion.setAttribute("NombreUsuario", getInitParameter("NombreUsuario"));
RequestDispatcher rd = getServletContext().getRequestDispatcher("/menu.jsp");
rd.forward(request, response);
} else {
request.setAttribute("validar", "1");
RequestDispatcher rd = getServletContext().getRequestDispatcher("/menu.jsp");
rd.forward(request, response);
}

pstmt.close();
cn.close();
System.out.println("Ok");

}catch(Exception e){e.printStackTrace();}

finally {
out.close();
}
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>

}




Este es el codigo del JSP:

<html>
<head><title>Ingreso de Usuarios</title></head>
<body bgcolor="lightyellow">

<form method="post" action="ValidarAccesoServlet">
<%String loginError=(String)session.getAttribute("loginErro r");
if(loginError!=null && loginError.equals("y")){
%>
<center>Clave Invalida</center>
<%
}
%>
<table border=0 align=center>
<tr>
<td>Usuario</td>
<td><input type=text name="UID"></td>
</tr>
<tr>
<td>Password</td>
<td><input type=password name="PWD"></td>
</tr>
<tr align=center>
<td colspan=2><input type=submit name=submit value=aceptar></td>
</tr>
</table>
</form></html>
  #2 (permalink)  
Antiguo 17/06/2010, 11:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 62
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Problema al hacer login con jsp y servlets

Hola kyubi2212 el error que veo y que creo que nos ha pasado a todos jaja es que en tu servlet al momento del request.getParameter estas poniendo un nombre distinto al de tus campos en tu jsp prueba con eso.

Saluditos
  #3 (permalink)  
Antiguo 20/06/2010, 09:30
 
Fecha de Ingreso: febrero-2010
Mensajes: 128
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Problema al hacer login con jsp y servlets

como cosmel indica, ese es el primer fallo, otra recomendación es que no hagas ifs comprobando si un objeto es null o no, y a continuación mires propiedades de ese objeto. o miras propiedades o miras si el puntero existe.

Etiquetas: jsp, login, servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:33.