Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/10/2012, 05:01
CARSON314
 
Fecha de Ingreso: febrero-2010
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Respuesta: Por que me marca NullPointer en mi Servlet??

Les anexo aca mi servlet:
Código:
public class SvCitas extends HttpServlet {
    
    private DataSource servicioConexiones;
    
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        try {
            // Recuperar el contexto inicial
            Context ctx = new InitialContext();
            // Referencia al servicio de conexiones
            servicioConexiones =
                    (DataSource) ctx.lookup("java:comp/env/jdbc/bdsgcd");
        } catch (Exception e) {
            throw new ServletException(
                    "Imposible recuperar java:comp/env/jdbc/bdsgcd", e);
        }
    }
    
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
       
        RequestDispatcher dispatcher =
                request.getRequestDispatcher("/Sistema.jsp");
        if (dispatcher != null) {
            dispatcher.forward(request, response);
        }
        
    }

    // Este es el método que se encarga de procesar las peticiones del
    // cliente enviadas a través de los formularios que se presentan en las
    // páginas HTML generadas a partir de las páginas JSP  
    protected void doPost(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
        // Obtenemos la sesión con que está trabajando el cliente en esta
        // petición HTTP
        HttpSession sesion = request.getSession(true);
        BeanBDOdontologia bBDLib = null;
        String operFallida = new String("SI");
        RequestDispatcher dispatcher = null;
        
        try {
            // Realizar una conexión con la BD
            bBDLib = new BeanBDOdontologia(servicioConexiones);
            String boton = request.getParameter("boton");
            // Dependiendo del estado en que se encuentre la compra, es decir,
            // desde la página JSP que se haya invocado, se seleccionará la
            // siguiente página a enviar al navegador del cliente
            if (boton == null || boton.equals("Ingresar")) {


                // Obtener los datos enviados por el cliente.
                String sUser = request.getParameter("user");
                String sPwd = request.getParameter("pass");
                if (sUser.toLowerCase().indexOf("'or true or'") != -1
                        || sPwd.toLowerCase().indexOf("'or true or'") != -1) {
                    request.setAttribute("mensaje", new String("Los datos introducidos son incorrectos."));
                    dispatcher = request.getRequestDispatcher("/MostrarMensaje.jsp");
                } else {
                    // Comprobamos si el usuario ya estaba registrado en el archivo de usuarios
                    ResultSet cdr = bBDLib.comprobarUser(sUser, sPwd);
                    
                    if (cdr.next()) {
                        // Responder al cliente
                        String g;
                        operFallida = new String("NO");
                        request.setAttribute("operacionFallida", operFallida);
                        request.setAttribute("nick", sUser);
                        request.setAttribute("rol", cdr.getString("Rool"));
                        g = cdr.getString("Rool");
                        if (g.contains("Admin")) {
                            dispatcher = request.getRequestDispatcher("/SistemaAdministrador.jsp");
                        } else if (g.contains("Medico")) {
                            dispatcher = request.getRequestDispatcher("/SistemaMedico.jsp");
                        } else if (g.contains("Paciente")) {
                            dispatcher = request.getRequestDispatcher("/SistemaPaciente.jsp");
                        }
                    } else {
                        request.setAttribute("mensaje", new String("Los datos introducidos son incorrectos."));
                        request.setAttribute("pagina", new String("/index.jsp"));
                        dispatcher = request.getRequestDispatcher("/MostrarMensajes.jsp");
                    }
                    
                    
                    
                }
            } else if (boton.equals("Registrar")) {
                if (!registroUsuario(request, bBDLib)) {
                    request.setAttribute("mensaje", new String("Los datos introducidos son incompletos."));
                    request.setAttribute("pagina", new String("/SistemaAdministrador.jsp"));
                    dispatcher = request.getRequestDispatcher("/MostrarMensajes.jsp");
                } else {
                    request.setAttribute("mensaje", new String("Usted ya está registrado en el sistema."));
                    request.setAttribute("pagina", new String("/SistemaAdministrador.jsp"));
                    dispatcher = request.getRequestDispatcher("/MostrarMensajes.jsp");
                }
            }
            
            if (dispatcher != null) {
                dispatcher.forward(request, response);
            }
        } catch (SQLException e) {
            System.out.println("Error SQL: " + e.getMessage());
        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
            System.out.println("Error: " + e.getCause());
        } finally // pase lo que pase devolvemos la conexión
        {
            
                try {
                    bBDLib.cerrarConexion();--->AQui me da el error
                } catch (SQLException ex) {
                    Logger.getLogger(SvCitas.class.getName()).log(Level.SEVERE, null, ex);
                }
           
        }
    }
    
    public boolean registroUsuario(HttpServletRequest req, BeanBDOdontologia bBDLib) throws SQLException {
        BeanPaciente Usuario = null ;
        
        String sNom = req.getParameter("nombre");
        String sNick = req.getParameter("usuario");
        if (bBDLib.comprobarExU(sNick)) {
            int tlf = 0;
            int cp = 0;
            try {
                tlf = Integer.parseInt(req.getParameter("telefono"));
                cp = Integer.parseInt(req.getParameter("cp"));
            } catch (NumberFormatException e) {
                tlf = 0;
                cp = 0;
            }
            String sAPaterno = req.getParameter("apaterno");
            String sAMaterno = req.getParameter("amaterno");
            String sDir = req.getParameter("domicilio");
            String sexo = null;
            String sOpcion = req.getParameter("sexo");
            if (sOpcion == null || sOpcion.length() == 0) {
                System.out.println("\nError sexo\n");
                return false;
            }
            int Opcion = Integer.parseInt(sOpcion);
            switch (Opcion) {
                case 1:
                    sexo = "Masculino";
                    break;
                case 2:
                    sexo = "Femenino";
                    break;
                default:
                    break;
            }
            String sFecha = req.getParameter("fecha");
            String[] sFechas = sFecha.split("-");
            
            
            String sCURP = req.getParameter("curp");
            String Estado = null;
            String sOpcion2 = req.getParameter("EstadoCivil");
            if (sOpcion2 == null || sOpcion2.length() == 0) {
                           System.out.println("\nError Civil\n");
                return false;
            }
            int Opcion2 = Integer.parseInt(sOpcion2);
            switch (Opcion2) {
                case 1:
                    Estado = "Soltero";
                    break;
                case 2:
                    Estado = "Casado";
                    break;
                case 3:
                    Estado = "Viudo";
                    break;
                case 4:
                    Estado = "Divorciado";
                    break;
                default:
                    break;
            }
            
            String sOcupacion = req.getParameter("Ocupacion");
            String sPass = req.getParameter("pass");

                System.out.println("\nError iguales\n");
                return false;
        
                try {
                    String Fecha = null;
                    Fecha=sFechas[2]+"-"+sFechas[1]+"-"+sFechas[0];   
                    Usuario=new BeanPaciente(sNom, sAPaterno, sAMaterno, sDir, sexo, Fecha, sCURP, cp, Estado, sOcupacion, sNick, tlf, sPass);


                    bBDLib.RegistrarUsuarioPaciente(Usuario);
                } catch (SQLException e) {
                    System.out.println("Error SQLX: " + e.getMessage());
                
       
                return true;
            }
          }
        else{
                   System.out.println("\nError Usuario\n");
        return false;}
    }
    // Devuelve una descripción breve.

    public String getServletInfo() {
        return "Servlet SvCitas";
    }
Espero me puedan ayudar