Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2013, 00:07
Avatar de chrisdawill
chrisdawill
 
Fecha de Ingreso: agosto-2013
Mensajes: 25
Antigüedad: 10 años, 9 meses
Puntos: 0
Problema con servlet

Buenas noches, les traigo un problemon.. para mi por lo menos, por que no le he encontrado solucion. Estoy diseñando un formulario donde se envian la info a un servlet y este a su vez a la base de datos, el problema es que no lo envia y no se por que les pongo el codigo y una advertencias que me tira el glassfish:

Codigo:
Código Java:
Ver original
  1. package Codigo;
  2.  
  3. import BD.BaseDatos;
  4. import java.io.IOException;
  5. import java.io.PrintWriter;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import javax.servlet.ServletException;
  10. import javax.servlet.annotation.WebServlet;
  11. import javax.servlet.http.HttpServlet;
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;
  14.  
  15. /**
  16.  *
  17.  * @author Chris
  18.  */
  19. @WebServlet(name = "InsertarCliente", urlPatterns = {"/InsertarCliente"})
  20. public class InsertarCliente extends HttpServlet {
  21.  
  22.     /**
  23.      * Processes requests for both HTTP
  24.      * <code>GET</code> and
  25.      * <code>POST</code> methods.
  26.      *
  27.      * @param request servlet request
  28.      * @param response servlet response
  29.      * @throws ServletException if a servlet-specific error occurs
  30.      * @throws IOException if an I/O error occurs
  31.      */
  32.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  33.             throws ServletException, IOException {
  34.         response.setContentType("text/html;charset=UTF-8");
  35.         PrintWriter out = response.getWriter();
  36.         PreparedStatement SentenciaDB;
  37.         String vSQL;
  38.         ResultSet rs = null;
  39.         String vMensaje;
  40.        
  41.         vSQL ="INSERT INTO UTH.CLIENTES"
  42.                 +"(NOMBRESCLIENTE, APELLIDOSCLIENTE, EDADCLIENTE, SEXOCLIENTE, DIRECCIONCLIENTE, TELEFONOCLIENTE, USUARIOCLIENTE, CONTRASEÑACLIENTE)"
  43.                 +"VALUES(?,?,?,?,?,?,?,?)";
  44.        
  45.        try {
  46.            BaseDatos.AbrirConexionDB();
  47.            SentenciaDB = BaseDatos.Conexion.prepareStatement(vSQL);
  48.            SentenciaDB.setString(2,request.getParameter("NombresCliente"));
  49.            SentenciaDB.setString(3,request.getParameter("ApellidosCliente"));
  50.            SentenciaDB.setInt(4,Integer.parseInt(request.getParameter("EdadCliente")));
  51.            SentenciaDB.setString(5,request.getParameter("SexoCliente"));
  52.            SentenciaDB.setString(6,request.getParameter("DireccionCliente"));
  53.            SentenciaDB.setString(7,request.getParameter("TelefonoCliente"));
  54.            SentenciaDB.setString(8,request.getParameter("UsuarioCliente"));
  55.            SentenciaDB.setString(9,request.getParameter("ContraseñaCliente"));
  56.                 int  Registros = SentenciaDB.executeUpdate();
  57.                 vMensaje = "El nuevo cliente ha sido agregado";
  58.                 response.sendRedirect("/Proy3erParcialBiblioteca/Bienvenido.html");
  59.            
  60.        } catch(SQLException e) {
  61.            vMensaje = "No fue posible guardar->" + e.getMessage();
  62.            response.sendRedirect("/Proy3erParcialBiblioteca/Error.html");
  63.        }
  64.        finally {
  65.            BaseDatos.CerrarConexionDB();
  66.        }
  67.     }
  68.  
  69.     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  70.     /**
  71.      * Handles the HTTP
  72.      * <code>GET</code> method.
  73.      *
  74.      * @param request servlet request
  75.      * @param response servlet response
  76.      * @throws ServletException if a servlet-specific error occurs
  77.      * @throws IOException if an I/O error occurs
  78.      */
  79.     @Override
  80.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  81.             throws ServletException, IOException {
  82.         processRequest(request, response);
  83.     }
  84.  
  85.     /**
  86.      * Handles the HTTP
  87.      * <code>POST</code> method.
  88.      *
  89.      * @param request servlet request
  90.      * @param response servlet response
  91.      * @throws ServletException if a servlet-specific error occurs
  92.      * @throws IOException if an I/O error occurs
  93.      */
  94.     @Override
  95.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  96.             throws ServletException, IOException {
  97.         processRequest(request, response);
  98.     }
  99.  
  100.     /**
  101.      * Returns a short description of the servlet.
  102.      *
  103.      * @return a String containing servlet description
  104.      */
  105.     @Override
  106.     public String getServletInfo() {
  107.         return "Short description";
  108.     }// </editor-fold>
  109. }

y los errores del glasfish son estos:

Cita:
Advertencia: Class 'javax.ejb.PostActivate' not found, interception based on it is not enabled
Advertencia: Class 'javax.ejb.PrePassivate' not found, interception based on it is not enabled
y este mas abajo:
Cita:
Grave: java.sql.SQLNonTransientConnectionException: Se ha rechazado la conexión porque no se ha encontrado la base de datos Proyecto_Biblioteca [uth on UTH].
Tambien les adjunto la clase conexion a ver si ven algo que yo no:
package BD;

Código Java:
Ver original
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.sql.Statement;
  6. import javax.swing.JOptionPane;
  7.  
  8. /**
  9.  *
  10.  * @author ChrisW
  11.  */
  12. public class BaseDatos {
  13.     ResultSet res=null;
  14.     Statement st=null;
  15.     public static Connection Conexion;
  16.     private static boolean MensajesEnConsola = true;
  17.  
  18.  public static void AbrirConexionDB() {
  19.  //Variables para Conectarse al Motor de Base de Datos
  20.  String vDB_URL     = "jdbc:derby://localhost:1527/Proyecto_Biblioteca [uth on UTH]";      
  21.  String JDBC_Driver = "org.apache.derby.jdbc.ClientDriver";
  22.  String vLogin      = "uth";
  23.  String vPassword   = "uth";  
  24.        
  25.      try {
  26.        Class.forName(JDBC_Driver);  
  27.        Conexion = DriverManager.getConnection(vDB_URL, vLogin, vPassword);
  28.        MostrarAlerta("Conectado Correctamente a la Base de Datos");   }
  29.      catch (ClassNotFoundException e)
  30.      {
  31.        MostrarAlerta("El Driver o la Clase especificada es Incorrecta->" + e.getMessage());
  32.        //e.printStackTrace();
  33.        System.exit(0);  
  34.      }
  35.      catch (Exception e) {
  36.        System.out.println("Error Desconocido Conectado a la BDD->" + e.getMessage());
  37.        e.printStackTrace();
  38.        System.exit(0);
  39.        }      
  40.  }  //fin Abrir COnexionDB
  41.  
  42.  //Verifica si existe una conexin abierta e intenta cerrarla
  43.  public static void CerrarConexionDB(){
  44.    try{
  45.      if (Conexion.isValid(0) || Conexion!=null){
  46.          Conexion.close();
  47.        }
  48.    }
  49.    catch (SQLException e)
  50.    {
  51.        Conexion = null;
  52.    }
  53.  }
  54.  
  55.  public int verificar(String sql){
  56.         try{
  57.             st=getCon().createStatement();
  58.             res= st.executeQuery(sql);
  59.             if (res.next())
  60.                 return 1;
  61.             st.close();
  62.         }
  63.         catch(SQLException e){
  64.             System.out.println(e);
  65.         }
  66.         return -1;
  67.     }
  68.  
  69.  //Metodo para mostrar advertencias en pantalla o consola
  70.  public static void MostrarAlerta(String pvTexto){
  71.      if (MensajesEnConsola)      
  72.          System.out.println(pvTexto);
  73.      else
  74.          JOptionPane.showMessageDialog(null,
  75.                                        pvTexto,
  76.                                        "Advertencia",
  77.                                        JOptionPane.INFORMATION_MESSAGE);
  78.      
  79.  } //fin MostrarAlerta
  80.  public Connection getCon() {
  81.         return Conexion;
  82.     }
  83.    
  84.    
  85. }

Última edición por pzin; 10/12/2013 a las 01:42 Razón: formato código