Estoy tratando de editar un JSP para un proyecto y obtengo una NullPointerException en algún lugar del JSP cuando se solicita desde mi servidor.
Mi servidor web (JBoss) informa la excepción, pero me da un número de línea falso. Informa que la excepción ocurrió en la línea 702, pero mi JSP tiene solo 146 líneas, por lo que no puedo identificar qué línea se está ahogando.
¿Cuáles son algunas buenas técnicas para depurar errores en JSP? Estoy usando IntelliJ 9 Ultimate como mi IDE.
Gracias
Respuestas:
Hay varias opciones que pueden ayudarlo:
Esta respuesta realmente explica cómo depurar JSP específicamente: /programming/33739/jsp-debugging-in-intellij-idea . Nunca he intentado esto, así que seguí las siguientes tres sugerencias cuando estaba usando JSP, JBoss e IntelliJ ...
Recuerde que los JSP se compilan en clases. Cuando dice la línea 702, significa en la clase compilada. Si es así
test.jsp
, el nombre de la clase es probablementetest_jsp
, así que abra su directorio de trabajo JBoss y busquetest_jsp.java
(una vez que encuentre el directorio correcto, verá que la estructura del directorio coincide con la estructura de su directorio JSP). Cada vez que tenía una excepción JSP, podía encontrar la línea con bastante facilidad y, por lo general, hacerla coincidir con la línea correspondiente en el JSP.Los puntos de interrupción funcionan bien en clases Java llamadas desde un JSP. Entonces, tal vez pueda mover el código de script Java que tiene en su JSP a una clase y depurarlo desde el punto de entrada. En el futuro, también puede habituarse a reorganizar su lógica para que la mayoría esté en una clase que se llama desde el JSP, y el JSP es simple, directo y, con suerte, no arroja ninguna excepción. Esta es una buena práctica de todos modos.
Mejor aún, elimine toda (o prácticamente toda) la lógica Java en las clases Java, dejando JSP para las etiquetas HTML y JSP. Sé que esto no es factible de inmediato, pero de nuevo, es una buena idea a largo plazo para evitar problemas como este.
fuente
*_jsp.java
clases.Puede depurar una página JSP fácilmente como un código Java:
"un archivo JSP es lo mismo que depurar una clase Java, pero la mayoría de las funciones (Watch, Inspect, etc.) no están implementadas. La única forma de obtener los valores de las variables es la vista de Variables ".
Consulte el siguiente enlace:
https://www.laliluna.de/articles/posts/debugging-jsp-java-tutorial.html
fuente