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

Debug en NetBeans bajo Aplicaciones Web - No funciona

Estas en el tema de Debug en NetBeans bajo Aplicaciones Web - No funciona en el foro de Java en Foros del Web. Hola, Amigos. La situación es la siguiente, estoy desarrollando una aplicación Web, del lado de la vista JSP y del lado controlador Servlet; y como ...
  #1 (permalink)  
Antiguo 03/07/2011, 11:02
Avatar de HiparcodNicea  
Fecha de Ingreso: abril-2011
Ubicación: Aqui y Alla
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Pregunta Debug en NetBeans bajo Aplicaciones Web - No funciona

Hola, Amigos.

La situación es la siguiente, estoy desarrollando una aplicación Web, del lado de la vista JSP y del lado controlador Servlet; y como contenedor Tomcat.

El punto es el siguiente.

Desde hace cinco días, el tomcat que se instala como modulo y/o cualquier otra versión del mismo no responde al Debug lanzado desde el NetBeans.

Generando error 404, con la siguiente información:

Estado HTTP 404 - /conduLlanos/svLoadNotes

type Informe de estado

mensaje /conduLlanos/svLoadNotes

descripción El recurso requerido (/conduLlanos/svLoadNotes) no está disponible.
Apache Tomcat/6.0.26

Ahora bien:

He rebisado tanto el Web.xml como los archivos de configuración y el classpath correspondiente encontrando todo normal, en el caso de los Web.xml estan tanto los mapping como los servlet name y los servlet class apuntan correctamente a los paquetes contenedores.

El classpath contiene la variable JAVA_HOME apuntando correctamente al path del jdk y si subo el tomcat este responde satisfactoriamente.

Ademas:

1. Si construyo el correspondiente War de la aplicaciones y lo corro en el equipo destinado para producción, esta funciona sin problemas. Lógico el punto esta en la lógica de la aplicación que es la que se debería de haber depurado con la opción que permite el NetBeans.

2. El depurador estaba funcionando correctamente, solo que desde hace cinco días dejo de hacerlo.

3. Ya probe trabajando con una version tanto superior (ver. 7) como inferior (ver. 6.8) y no logro solucionarlo.

4. En cuanto al contenedor lo he instalado y desistaldo elimando cualquier entrada a registro en todas las versiones posibles del mismo (Ver. 6.0.20 - 6.0.32 - 7.0.8 - 7.0.11) y no consigo encontrar el error.

Aquí es donde recurro a vuestro conocimiento y ayuda. Por cuanto considero importante la depuración de un proyecto a efectos de garantizar el éxito del mismo en su etapa productiva.
  #2 (permalink)  
Antiguo 03/07/2011, 12:14
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Debug en NetBeans bajo Aplicaciones Web - No funciona

El error 404 es que no encuentra una web/fichero, no tiene por qué estar relacionado con el debug.

Cita:
Estado HTTP 404 - /conduLlanos/svLoadNotes

type Informe de estado

mensaje /conduLlanos/svLoadNotes
Si la aplicación no lo encuentra, difícilmente vas a poder entrar en el debug. ¿Funciona correctamente si lo ejecutas desde Netbeans sin ser con el debug? ¿Funciona el debug en otras partes de la aplicación?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 03/07/2011, 16:11
Avatar de HiparcodNicea  
Fecha de Ingreso: abril-2011
Ubicación: Aqui y Alla
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: Debug en NetBeans bajo Aplicaciones Web - No funciona

Cita:
Iniciado por Xerelo Ver Mensaje
El error 404 es que no encuentra una web/fichero, no tiene por qué estar relacionado con el debug.



Si la aplicación no lo encuentra, difícilmente vas a poder entrar en el debug. 1. ¿Funciona correctamente si lo ejecutas desde Netbeans sin ser con el debug? 2. ¿Funciona el debug en otras partes de la aplicación?


Xerelo, gracias por tu pronta respuesta.

1. La aplicación funciona correctamente cuando construyo el War, no cuando lo corro desde netbeans.
2. En ninguna otra parte de la aplicación funciona el debug. Siempre me reporta el mismo error, independiente del Servlet que invoque.

Ahora bien, entiendo que el contexto del mensaje, pero si el archivo web.xml esta correctamente editado en cuanto mapping y servlet name y servlet class, debería de encontrar el archivo al momento de su invocación.

Mira este es el web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<description>CEA-Web, design and development by ED&amp;TD(&amp;#174;)</description>
<display-name>applicationName</display-name>
<servlet>
<servlet-name>svStudent</servlet-name>
<servlet-class>Server.svStudent</servlet-class>
</servlet>
<servlet>
<servlet-name>svRAgreement</servlet-name>
<servlet-class>Server.svRAgreement</servlet-class>
</servlet>
<servlet>
<servlet-name>svPayment</servlet-name>
<servlet-class>Server.svPayment</servlet-class>
</servlet>
<servlet>
<servlet-name>svPrint</servlet-name>
<servlet-class>Driver.Print</servlet-class>
</servlet>
<servlet>
<servlet-name>svVehicle</servlet-name>
<servlet-class>Server.svVehicle</servlet-class>
</servlet>
<servlet>
<servlet-name>svEmployee</servlet-name>
<servlet-class>Server.svEmployee</servlet-class>
</servlet>
<servlet>
<servlet-name>svExpenditures</servlet-name>
<servlet-class>Server.svExpenditures</servlet-class>
</servlet>
<servlet>
<servlet-name>svSchool</servlet-name>
<servlet-class>Server.svSchool</servlet-class>
</servlet>
<servlet>
<servlet-name>svContract</servlet-name>
<servlet-class>Server.svContract</servlet-class>
</servlet>
<servlet>
<servlet-name>svNoveltyPayroll</servlet-name>
<servlet-class>Server.svNoveltyPayroll</servlet-class>
</servlet>
<servlet>
<servlet-name>Demo</servlet-name>
<servlet-class>Server.Demo</servlet-class>
</servlet>
<servlet>
<servlet-name>svAssign</servlet-name>
<servlet-class>Server.svAssign</servlet-class>
</servlet>
<servlet>
<servlet-name>svLoadNotes</servlet-name>
<servlet-class>Server.svLoadNotes</servlet-class>
</servlet>
<servlet>
<servlet-name>svCloseCash</servlet-name>
<servlet-class>Server.svCloseCash</servlet-class>
</servlet>
<servlet>
<servlet-name>svScheduleClass</servlet-name>
<servlet-class>Server.svScheduleClass</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>svStudent</servlet-name>
<url-pattern>/svStudent</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svRAgreement</servlet-name>
<url-pattern>/svRAgreement</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svPayment</servlet-name>
<url-pattern>/svPayment</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svPrint</servlet-name>
<url-pattern>/svPrint</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svVehicle</servlet-name>
<url-pattern>/svVehicle</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svEmployee</servlet-name>
<url-pattern>/svEmployee</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svExpenditures</servlet-name>
<url-pattern>/svExpenditures</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svSchool</servlet-name>
<url-pattern>/svSchool</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svContract</servlet-name>
<url-pattern>/svContract</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svNoveltyPayroll</servlet-name>
<url-pattern>/svNoveltyPayroll</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Demo</servlet-name>
<url-pattern>/Demo</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svAssign</servlet-name>
<url-pattern>/svAssign</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svLoadNotes</servlet-name>
<url-pattern>/svLoadNotes</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svCloseCash</servlet-name>
<url-pattern>/svCloseCash</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>svScheduleClass</servlet-name>
<url-pattern>/svScheduleClass</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

Que opinas? Alguna idea?
  #4 (permalink)  
Antiguo 03/07/2011, 23:47
Avatar de HiparcodNicea  
Fecha de Ingreso: abril-2011
Ubicación: Aqui y Alla
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: Debug en NetBeans bajo Aplicaciones Web - No funciona

Xerelo, atendiendo a tu observación quise probar complementando el URL-Patterns en el Web.xml definiendola no como URL relativa sino absoluta y bueno, funciono; claro esta que cuando redirecciono si no continuo con el esquema de URL absoluta no se activan las CSS.

Pero reitero, el debug funciona nuevamente.

Ahora mi pregunta, es saber de quien es la falla del frameworks o del contenedor. Me explico:

1. Compilando la aplicación, con URL relativas por supuesto, el correspondiente WAR al ser desplegado en el WAS que se tiene en producción corre de maravilla. Cero errores.

2. En el ambiente de desarrollo hasta hace cinco días, funcionaba con URL relativas, pero conforme lo probado, para poder accesar a la herramienta de depuración requiero de URL abosulta. Porque?

Considero importante responder este interrogante por cuanto cuando buscaba la solución a mi problema encontre en algunos post que tomcat suele trabajar a veces sí a veces no, y eso me parece preocupante para ambientes de producción.

Continuare indagando en el asunto y bueno si alguien tiene la respuesta y si yo la encuentro considero debe ser expuesta.

Quedando al pendiente.
  #5 (permalink)  
Antiguo 04/07/2011, 00:07
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Debug en NetBeans bajo Aplicaciones Web - No funciona

Cita:
¿Funciona correctamente si lo ejecutas desde Netbeans sin ser con el debug?
No sé si no me he explicado bien o no tienes claro lo que es el debug. Cuando corres un proyecto desde netbeans, puedes hacerlo en modo debug, de forma que puedes ver línea a línea por donde pasa el proyecto, o ejecutarlo en modo normal pero a través de netbeans. Tú dices que te falla en debug, y yo te pregunto si funciona en el modo normal desde neatbeans, no te pregunto por el despliegue del WAR, que ya has dicho que funciona correctamente.

La impresión que me da, es que algo ha cambiado en la configuración de tu proyecto, de forma que para netbeans el directorio raíz de la aplicación no es el mismo de antes.

Si el WAR funciona, la aplicación está bien hecha, y si has probado con distintos contenedores y falla, es que el problema está entre la comunicación de neatbeans y el contenedor.

Por alguna razón, /conduLlanos ya no es la raíz de tu proyecto, prueba a crear un html en la raíz y a llamarlo http://localhost:8080/conduLlanos/prueba.html. ¿Te funciona el index.jsp?

Cita:
encontre en algunos post que tomcat suele trabajar a veces sí a veces no, y eso me parece preocupante para ambientes de producción
No sé a que te refieres con esto, pero te puedo asegurar que tomcat es perfectamente válido para producción y funciona bien, de hecho a ti te está funcionando al hacer el despliegue del WAR.

Yo no utilizo netbeans, así que no puedo decirte dónde solucionarlo.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #6 (permalink)  
Antiguo 04/07/2011, 00:22
Avatar de HiparcodNicea  
Fecha de Ingreso: abril-2011
Ubicación: Aqui y Alla
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: Debug en NetBeans bajo Aplicaciones Web - No funciona

Xerelo, gracias por responder:

Te comento, aun cuando lanzo la aplicación desde netbeans, no funcionaba, no importace que utilizara el debug; pero teniendo en cuenta que efectivamente el WAR desplegaba correctamente, asumí que el problema es como tu lo mencionas que para Netbeans el directorio raiz ya no es el mismo de antes.

La pregunta es que paso, que pudo haberlo desconfigurado, si antes funcionaba bien; trato de hacer memoria y bueno no recuerdo haber tenido incidente relevante que me cree duda razonable sobre la causa del problema, de hecho y verificando con las versiones anteriores del proyecto, no hubo cambio alguno en los parametros de configuración, los cambios fueron a nivel de lógica de la aplicación.

En cuanto a mi comentario respecto de Tomcat, es que en algún post leí que el contenedor funcionaba, dejo de funcionar, la persona que publico el post, manifesto todo lo que habia hecho para solucionarlo y sabes que lo único que no hizo fue lo que soluciono el problema, me explico; se fue a dormir a la mañana siguiente cuando prendio de nuevo la maquina, eureka; tomcat funcionaba de maravilla. Que Paso?

Por eso y teniendo en cuenta mi dificultad es que me atreví a hacer el comentario sobre la estabilidad del mismo.

Ahora bien, al probar con URL absolutas ingresandolas manualmente en el WEb.xml, comprendí que algo anda mal con la configuración del netbeans; por cuanto el lo hacia al momento de crear el servlet. Sabiendo lo anterior, comparto contigo la opinión de que tomcat es "... perfectamente valido para producción ..." el asunto esta en que paso con netbeans, que al igual que tú, solo en este proyecto decidí utilizarlo.

La idea sería poder encontrar alguien que nos ilustrar sobre la falla y la manera de corregirla.

De nuevo gracias y quedo al pendiente.

Etiquetas: aplicaciones, debug, netbeans
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 13:48.