J'essaie d'éditer une JSP pour un projet et j'obtiens une NullPointerException quelque part dans la JSP lorsqu'elle est demandée à mon serveur.
Mon serveur Web (JBoss) signale l'exception, mais il me donne un faux numéro de ligne. Il signale que l'exception s'est produite sur la ligne 702, mais mon JSP ne fait que 146 lignes, donc je ne peux pas identifier la ligne qui s'étouffe.
Quelles sont les bonnes techniques pour déboguer les erreurs dans les JSP? J'utilise IntelliJ 9 Ultimate comme mon IDE.
Merci
Réponses:
Plusieurs options peuvent vous aider:
Cette réponse explique comment déboguer spécifiquement les JSP: /programming/33739/jsp-debugging-in-intellij-idea . Je n'ai jamais essayé cela, j'ai donc suivi les trois suggestions suivantes lorsque j'utilisais JSP, JBoss et IntelliJ ...
N'oubliez pas que les JSP sont compilés en classes. Quand il dit la ligne 702, cela signifie dans la classe compilée. Si c'est le cas
test.jsp
, le nom de la classe est probablementtest_jsp
, alors ouvrez votre répertoire de travail JBoss et rechercheztest_jsp.java
(une fois que vous avez trouvé le bon répertoire, vous verrez que la structure du répertoire correspond à la structure de votre répertoire JSP). Chaque fois que j'avais une exception JSP, je pouvais trouver la ligne assez facilement et généralement la faire correspondre à la ligne correspondante dans la JSP.Les points d'arrêt fonctionnent très bien dans les classes Java appelées à partir d'une JSP. Ainsi, vous pouvez peut-être déplacer le code de script Java que vous avez dans votre JSP dans une classe et déboguer à partir du point d'entrée. À l'avenir, vous pouvez également prendre l'habitude de réorganiser votre logique afin que la majorité de celle-ci soit dans une classe qui est appelée à partir de la JSP, et la JSP est simple, directe et, espérons-le, ne lève aucune exception. C'est de toute façon une bonne pratique.
Mieux encore, supprimez toute (ou pratiquement toute) la logique Java dans les classes Java, laissant les JSP pour les balises HTML et JSP. Je sais que ce n'est pas faisable tout de suite, mais encore une fois, c'est une bonne idée à long terme pour éviter des problèmes comme celui-ci.
la source
*_jsp.java
cours.Vous pouvez déboguer une page JSP facilement comme un code java:
"un fichier JSP est le même que le débogage d'une classe Java, mais la plupart des fonctionnalités (Watch, Inspect, etc.) ne sont pas implémentées. La seule façon d'obtenir les valeurs des variables est la vue Variables. "
Voir le lien ci-dessous:
https://www.laliluna.de/articles/posts/debugging-jsp-java-tutorial.html
la source