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

Errores con Servlet

Estas en el tema de Errores con Servlet en el foro de Java en Foros del Web. Hola buenas noches, soy nuevo, pero a pesar de esto busque en el foro un tema relacionado para colocar mi pregunta y no encontré. Espero ...
  #1 (permalink)  
Antiguo 04/01/2014, 00:24
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 3 meses
Puntos: 0
Errores con Servlet

Hola buenas noches, soy nuevo, pero a pesar de esto busque en el foro un tema relacionado para colocar mi pregunta y no encontré. Espero puedan colaborarme con mi proyecto.

HERRAMIENTAS UTILIZADAS.
----------------------------------------------------------------
1. Base de Datos Oracle
2. Netbeans 7.4

ARQUITECTURA IMPLEMENTADA
----------------------------------------------------------------
Modelo MVC

ESTRUCTURA DEL PROYECTO
----------------------------------------------------------------
Tengo un paquete llamado Encapsulamiento donde defino el encapsulamiento de mis tablas de bd por medio de clases.

Tengo un paquete llamado DAO donde manejo las operaciones CRUD.

Tengo un paquete llamado EJB donde defino los Jbean o Session Bean que interartuan con los DAO.

Tengo paquete de interfaces.

Y por ultimo tengo mi paquete de Servlet llamado de igual forma donde defino los servlet de mi aplicacion.

PROBLEMA PRESENTADO
----------------------------------------------------------------
Dentro de un mismo servlet necesito llamar o invocar metodos de varias clases ya que estos métodos son los que me capturan o traen os valores de la base de datos y dichos datos los utilizo para llenar componentes de mi JSP como por ejemplo tablas o List Item.

El error que me despliega el servidor es el siguiente:

type: Informe de Excepción

Mensaje: Internal Server Error

Descripción: El servidor ha encontrado un error interno ({0}) que ha evitado que se cumpla esta solicitud.

Excepción:

java.lang.NullPointerException

Nota Los rastreos de pila completos de la excepción y sus causas raíz están disponibles en los logs GlassFish Server Open Source Edition 4.0 .

----------------------------------------------------------------------------------------------------
Ahora colocare un poco de código para que se orienten.

En mi proyecto tengo dos clases llamadas.
EjbSolicitudObras
EjbObjetosAmk

Estas son los Java Bean que interactuan con mos DAO los cuales cada uno tiene los siguientes metodos que nececito utilizar.
consultarTodosSolicitud
consultarTodosObjetosAmk


Ahora en mi Servlet tengo el siguiente codigo o los defino asi para poder invocarlos.

1. Declara variables privadas de tipo de las clases antes mencionadas.
@EJB
private EjbSolicitudObras ejbSolicitudObras;
private EjbObjetosAmk ejbObjetosAmk;

2. Y luego en el processRequest realizo el llamado asi.

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
if(request.getMethod().equals("GET")){
ejbSolicitudObras.consultarTodosSolicitud();
request.setAttribute("ejbSolicitudObrasCon", ejbSolicitudObras);
ejbObjetosAmk.consultarTodosObjetosAmk();
request.setAttribute("ejbObjetosAmkCon", ejbObjetosAmk);
request.getRequestDispatcher("maestro.jsp?pag=Modu los/Dad/dad").forward(request, response);
}

Mi objetivo final es obtener los datos de consultarTodosSolicitud(); y los datos de consultarTodosObjetosAmk(); y enviarlos a mi JSP por medio de
request.setAttribute("ejbObjetosAmkCon", ejbObjetosAmk);
request.getRequestDispatcher("maestro.jsp?pag=Modu los/Dad/dad").forward(request, response);


Haciendo el Debug el error se presenta exactamente cuando intenta llamar al metodo ejbObjetosAmk.consultarTodosObjetosAmk();.

Como anotacion tome y cree un servlet Especifico y solo lo llame a el solo y si me funciono pefectamente como queria. La cuestion es que necesito que los dos metodos se ejecuten en el mismo servlet y poder mandar los resultados a mi pagina JSP.

Muchas gracias espero su pronta respuesta, se que es larga pero quise ser lo mas detallado posible.
  #2 (permalink)  
Antiguo 04/01/2014, 12:12
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Errores con Servlet

Hola:

Da un NullPointerException y si es en la línea que dices, da la impresión de que ejbObjetosAmk no está inicializado. En tu código no se ve dónde das a esa variable algún valor. Si esa variable no tiene valor (o es null), no puedes llamar a ningun método, en concreto, a consultarTodosObjetosAmk().

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 04/01/2014, 16:50
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Errores con Servlet

Hola,

Como menciona chuidiang, si no está inicializado va a generar un NullPointerException, y si esto no es un ejemplo:

Cita:
Iniciado por ARCHAMO Ver Mensaje

1. Declara variables privadas de tipo de las clases antes mencionadas.
@EJB
private EjbSolicitudObras ejbSolicitudObras;
private EjbObjetosAmk ejbObjetosAmk;
Entonces necesitas agregar la anotación necesaria, las anotaciones se aplican a los fields, no significa que se aplique a todo de allí en adelante:

Código Java:
Ver original
  1. @EJB
  2.     private EjbSolicitudObras ejbSolicitudObras;
  3.  
  4.     @EJB
  5.     private EjbObjetosAmk ejbObjetosAmk;
Saludos,

Etiquetas: clase, errores, html, jsp, metodo, netbeans, 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 14:42.