debug JSP from eclipse


44

¿Alguien sabe de una buena herramienta para depurar JSPs dentro de Eclipse? Me gustaría poder establecer y observar puntos de interrupción, pasar por el código/etiquetas Java, etc. dentro de Eclipse mientras la aplicación se está ejecutando (bajo JBoss en mi caso).

Es de suponer que es razonablemente sencillo para depurar la clase servlet que se genera a partir de una JSP, pero también es bastante poco atractivo :)

Cheers, Don

  0

Hombre, podría haber usado esto hace unos meses en un proyecto. Pensé que la depuración de JSP no era posible. 23 sep. 082008-09-23 20:08:56

24

Si tiene instalado WTP, puede establecer puntos de interrupción dentro de una JSP y funcionan bien en una sesión regular de "depuración remota". Sin embargo, una vez que te has detenido en un punto de interrupción, recorrer el código es casi imposible y encontrar lo que sea que desees inspeccionar requiere una gran cantidad de exploración en la vista de "Variables".

  0

Las vistas de variables funcionan. Gracias. 10 mar. 162016-03-10 07:37:45


5

Si tiene que usar un depurador en un JSP, es muy probable que esté haciendo cosas en el JSP que no debería. Recomiendo que piense mucho si su implementación actual está utilizando buenas prácticas de diseño de MVC. Las JSP realmente deberían tener que ver con la presentación, que rara vez (si alguna vez) requiere depuración.

Si tiene ciertas construcciones lógicas que debe implementar en JSP, considere implementarlas usando una etiqueta personalizada (que es fácil de depurar en un IDE), o realice el procesamiento en el servlet del controlador que presenta los datos en un forma fácil de digerir para el JSP.

+32

¿Cómo se puede saber que @Don está haciendo algo más que depurar atm? ¿Cómo sabes que él/ella no está depurando el código heredado? 23 may. 122012-05-23 10:44:16

+24

Un colega mío (buscando depurar un JSP) comentó esta respuesta cuando le envié un enlace a la pregunta: 'Es como ' Rápido - Necesito sacar un anzuelo de mi ojo ' ' ¿Cómo lo hizo? conseguir un anzuelo en el ojo? Eso realmente no es el tipo de cosas que debe hacer con un anzuelo ... " 13 dic. 122012-12-13 21:26:36

+4

@ apollodude217 tal vez fue la línea" paso a través del código de Java "en su pregunta? Ciertamente me doy cuenta de que mi 'respuesta' no es lo que el OP estaba preguntando específicamente, sin embargo, creo que las respuestas "hey, tal vez deberías volver a pensar tu enfoque" son las que me ayudan a ser un mejor desarrollador. Muy raramente aprendí cosas en cualquiera de mis clases de Uni cuando el instructor respondía las preguntas de los alumnos literalmente. El verdadero aprendizaje ocurrió en los callejones de conversación que surgieron cuando el profesor le pidió al estudiante que pensara mucho sobre * por qué * estaban haciendo la pregunta. 17 dic. 122012-12-17 03:50:00

+5

completamente en desacuerdo, por ejemplo, tengo que depurar JSP porque tengo una gran base de código de jsp heredada. No creé este código, esta solución, solo necesito depurarlo, nada más. 24 dic. 132013-12-24 14:41:00

+1

Es muy probable que esté haciendo algo mal.Quiere depurar el JSP porque no está seguro de qué está haciendo exactamente mal. Es por eso que quiere depurar. Incluso dentro de un marco de MVC rígido, aún necesita ver exactamente dónde está fallando algo, o para explicar en qué camino se está tomando un "si". 25 nov. 152015-11-25 21:44:49

+1

Este es un comentario, no una solución. Muchos votos a favor en una respuesta basada en opinión. 10 mar. 162016-03-10 19:17:15


1

Aparentemente, Eclipse tiene a troubleshooting page en esto, aunque cuando lo probé conseguí un 404 con él. Espero que esto al menos te pueda ayudar a empezar una buena dirección.


3

Dentro de Eclipse, puede poner puntos de interrupción para el archivo JSP, recorrer el código de Java/etiquetas, etc.
Sin embargo la única visión que puede usar durante la depuración es las variables fin de inspeccionar el valor de cualquier variable.

Y una cosa más, no se puede ver el valor de ejemplo de esta expresión:
<% = response.encodeURL ("ProcessLogin.jsp")%>
sólo el valor de la variable de respuesta .