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

Instalando Aplicaciones Tomcat+Hibernate+JSP

Estas en el tema de Instalando Aplicaciones Tomcat+Hibernate+JSP en el foro de Java en Foros del Web. Hola chicos yo de nuevo, haber les cuento tengo mi aplicacion Prueba ahora en esta aplicacion yo le he realizado en JDeveloper y me funciona ...
  #1 (permalink)  
Antiguo 16/04/2007, 09:08
 
Fecha de Ingreso: abril-2005
Ubicación: en Santa Cruz - España
Mensajes: 429
Antigüedad: 19 años
Puntos: 1
Instalando Aplicaciones Tomcat+Hibernate+JSP

Hola chicos yo de nuevo,

haber les cuento tengo mi aplicacion Prueba ahora en esta aplicacion yo le he realizado en JDeveloper y me funciona ok.
Pero al llevarla al servidor TOMCAT me sale un error de conexion al tratar de realizar una consulta.


excepción

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

causa raíz

java.lang.NullPointerException
Hibernate.conexion.consulta(conexion.java:125)
Negocio.Gestor_Usuario.ObtenerLista(Gestor_Usuario .java:22)
org.apache.jsp.principal_jsp._jspService(principal _jsp.java:58)
org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)


ahora el archivo conexion tiene el siguiente codigo:

Código PHP:
package Hibernate;

import java.io.*;

import java.sql.Time;
import java.util.*;
import Datos.*;

import net.sf.hibernate.HibernateException;
import net.sf.hibernate.MappingException;
import net.sf.hibernate.Session;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.Transaction;
import net.sf.hibernate.cfg.*;
import net.sf.hibernate.cfg.Configuration;

public class 
conexion 
{
    public static 
Configuration        configuration=null;
    public static 
SessionFactory    sessionFactory=null;
    public 
Session    session=null;
    private 
claseGenerica clase = new claseGenerica();

    public 
conexion () 
  {
    
clase.ponerObjeto(usuario.class);
    
        
session AbrirSession();
    }

    
/**
     *Configuration: es el objeto que contiene la información necesaria para
     *conectarse a la base de datos. Es el encargado de leerse el archivo
     *Hibernate.properties.También es el encargado de procesar la información
     *correspondiente a los aparejamientos. Es el encargado de leerse y verificar
     *los archivos de emparejamiento nombreDeClasse.hbm.xml.
     */

    
public  Configuration getConfiguration() 
  {
        if (
conexion.configuration == null) {
            
conexion.configuration = new Configuration();
            try {
                for (
int i 0clase.cantidadObjetos(); i++) {
                    
configuration.addClass((Class)clase.sacarObjeto(i));
                }

            } catch (
MappingException e) {
                
System.err.println(e);
            }
        }
        return 
configuration;
    }

    
/**
     *SessionFactory: es una fábrica de Sessions. Un objeto Configuration es
     *capaz de crear una SessionFactory ya que tiene toda la información
     *necesaria. Normalmente, una aplicación sólo tiene una SessionFactory.
     */
    
public  SessionFactory getSessionFactory() 
  {
        if (
conexion.sessionFactory == null
    {
            if (
getConfiguration() == null
      {
                
System.out.println("Error creando configuración: ");
            } 
      else 
      {
                try 
        {
                 
conexion.sessionFactory getConfiguration().buildSessionFactory();
                } 
        catch (
HibernateException e
        {
                    
System.err.println (e);
                }
            }
        }
        return 
sessionFactory;
    }

    public 
Session AbrirSession() 
  {
        if (
session == null || !session.isOpen()) 
    {
            if (
getSessionFactory() == null
      {
                
System.out.println("Error creando sesiones: ");
            } 
      else 
      {
                try 
        {
                    
session getSessionFactory().openSession();
                } 
        catch (
HibernateException e)
        {
                    
System.out.println (e);
                    
session null;
                }
            }
        }
        return 
session;
    }
    public 
Session getSession()
  {
        return 
session;
    }
    public 
Transaction iniciarTransaccion() throws HibernateException 
  
{
        return 
session.beginTransaction();
    }
  public 
void CerrarSession() throws HibernateException 
  
{
    
session.close();
  }
    public List 
consulta_sql(String consult,String tabla,Class clasethrows HibernateException 
  
{
        return 
session.createSQLQuery(consult,tabla,clase).list();
    } 
    public List 
consulta(String consultthrows HibernateException 
  
{
        return 
session.find(consult);
    
//          return session.createQuery(consult).list();
    
}
  public 
Iterator consulta_iterator(String consulta)throws HibernateException
  
{
    return 
session.iterate(consulta);
  }
    public 
void guardar(Object objthrows HibernateException 
  
{
        
session.save(obj);
    }
    public 
void modificar(Object objthrows HibernateException 
  
{
        
session.update(obj);
    }
    public 
void eliminar(Object objthrows HibernateException 
  
{
        
session.delete(obj);
    }
    public 
void eliminar(String consultathrows HibernateException 
  
{
        
session.delete(consulta);
    }  
    public 
Object getObjeto(Object objInteger idthrows HibernateException 
  
{
        return 
session.load(obj.getClass(), id);
    }
  

ahora pareciera que el problema es al iniciar session porque el error sale en esta linea:

public List consulta(String consult) throws HibernateException
{
return session.find(consult);
}

es decir session esta en null pero no se porque?? o quizas otro sea el motivo.
Donde puedo ver este tipo de problema??? gracias por cualquier ayuda que me puedan brindar
  #2 (permalink)  
Antiguo 16/04/2007, 12:23
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Instalando Aplicaciones Tomcat+Hibernate+JSP

Si esa es la linea 125 de conexion.java, entonces el problema es que session es null, efectivamente.

El por qué es null es otra cuestion , aunque apostando yo diria que, por ejemplo, si en AbrirSession() se produjera un excepción, el objeto session quedaría como null y te pasaria eso. Mira los logs a ver si ves algun error anterior a este que te diga si AbrirSession se ejecuto bien o le paso algo.

S!
  #3 (permalink)  
Antiguo 16/04/2007, 13:09
 
Fecha de Ingreso: abril-2005
Ubicación: en Santa Cruz - España
Mensajes: 429
Antigüedad: 19 años
Puntos: 1
Re: Instalando Aplicaciones Tomcat+Hibernate+JSP

hola, ya descubri el error es en la funcion getConfiguration() porque ahi es donde voy y trato de conectarme a la base de datos pero la pregunta es porque???

en mi archivo Hibernate.properties tengo el siguiente codigo:
Código PHP:
######################
### Query Language ###
######################

## define query language constants / function names

hibernate.query.substitutions true 1false 0yes 'Y'no 'N'

## MySQL

hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
hibernate
.connection.driver_class com.mysql.jdbc.Driver
hibernate
.connection.url jdbc:mysql://localhost/spa_prueba
hibernate.connection.username root
hibernate
.connection.password 
hibernate
.connection.pool_size 1
hibernate
.statement_cache.size 25
hibernate
.show_sql true
hibernate
.use_outer_join true 
ahora no se donde esta el problema pareciera que fuera al agregar la clase es decir en usuario.class o estara en la cofiguracion del hibernate.
  #4 (permalink)  
Antiguo 17/04/2007, 00:41
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Instalando Aplicaciones Tomcat+Hibernate+JSP

Sin el mensaje de error poco podemos adivinar, yo al menos tengo la telepatía sin pilas .

S!
  #5 (permalink)  
Antiguo 17/04/2007, 08:05
 
Fecha de Ingreso: abril-2005
Ubicación: en Santa Cruz - España
Mensajes: 429
Antigüedad: 19 años
Puntos: 1
Re: Instalando Aplicaciones Tomcat+Hibernate+JSP

Bueno digo ese fue el error porque hice correr el siguiente codigo:

Código PHP:
  public String Registrar()
  {
      try
    {
        
Configuration conf = new Configuration();
        if(
conf==null)  return "ERRRORR::CONF111";
        
conf.addClass((Class)usuario.class);
        if(
conf==null)  return "ERRRORR::CONF222";
        
SessionFactory sf conf.buildSessionFactory(); 
        if(
sf==null)  return "EERRRORRR::SF";
        
Session session sf.openSession();
      
        
session.beginTransaction();

        
usuario theuser = new usuario();
        
theuser.setUsuario("neeewww");
        
theuser.setPassword("345");

        
session.save(theuser);
        
        return 
"VERDADDD";
    }catch(
HibernateException e)
    {
      
System.out.println(e);
      return 
"NEWW 33 FALSANGO POR ERROR";
    }        
  } 
y el resultado que me da no es un error sino me sale el mensaje NEWW 33 FALSANGO POR ERROR

vej por que digo que el problema radica en new Configuration o yo estoy mal, la verdad nosep.
  #6 (permalink)  
Antiguo 17/04/2007, 12:58
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Instalando Aplicaciones Tomcat+Hibernate+JSP

Si te sale es error es por que, obviamente, te ha saltado una HibernateException.
  #7 (permalink)  
Antiguo 17/04/2007, 16:10
 
Fecha de Ingreso: abril-2005
Ubicación: en Santa Cruz - España
Mensajes: 429
Antigüedad: 19 años
Puntos: 1
Re: Instalando Aplicaciones Tomcat+Hibernate+JSP

claro eso se!! pero la pregunta es porque puede salir este error, a mi me parece que es en esta parte el problema:

Configuration conf = new Configuration();
conf.addClass((Class)usuario.class);

pero no se porqueee
  #8 (permalink)  
Antiguo 17/04/2007, 16:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Instalando Aplicaciones Tomcat+Hibernate+JSP

Eummm... quizá leer el mensaje de la Excepcion ayude.
  #9 (permalink)  
Antiguo 23/04/2007, 14:04
 
Fecha de Ingreso: abril-2005
Ubicación: en Santa Cruz - España
Mensajes: 429
Antigüedad: 19 años
Puntos: 1
Re: Instalando Aplicaciones Tomcat+Hibernate+JSP

la excepcion es:

net.sf.hibernate.MappingException: Dialect does not support identity key generation
  #10 (permalink)  
Antiguo 26/04/2007, 12:19
 
Fecha de Ingreso: abril-2005
Ubicación: en Santa Cruz - España
Mensajes: 429
Antigüedad: 19 años
Puntos: 1
Re: Instalando Aplicaciones Tomcat+Hibernate+JSP

hola les cuento ya resolvi mi problema y ojala diga lo mismo cuando lo instale en LINUX. A continuacion explico como lo solucione:

1.- El archivo hibernate.properties lo coloque en minuscula es decir lo tenia Hibernate.properties y lo cambie por hibernate.properties
2.- En seguida me salio error de Syncronizacion, agregue la libreria jta.jar

Claro para esto utilice Tomcat 6.0 y hibernate 2.3 y jdk1.5.001
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 00:18.