
05/10/2012, 05:01
|
| | 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 |