Я пытаюсь отредактировать JSP для проекта и получаю исключение NullPointerException где-то в JSP, когда оно запрашивается с моего сервера.
Мой веб-сервер (JBoss) сообщает об исключении, но дает мне поддельный номер строки. Он сообщает, что исключение произошло в строке 702, но мой JSP имеет длину всего 146 строк, поэтому я не могу определить, какая линия задыхается.
Каковы хорошие методы для устранения ошибок в JSP? Я использую IntelliJ 9 Ultimate в качестве своей IDE.
Благодарность
Ответы:
Есть несколько вариантов, которые могут вам помочь:
Этот ответ на самом деле объясняет, как конкретно отлаживать JSP: /programming/33739/jsp-debugging-in-intellij-idea . Я никогда не пробовал этого, поэтому я следовал следующим трем советам, когда использовал JSP, JBoss и IntelliJ ...
Помните, что JSP компилируются в классы. Когда это говорит строку 702, это означает в скомпилированном классе. Если у вас есть
test.jsp
имя класса, вероятноtest_jsp
, так что откройте ваш рабочий каталог JBoss и выполните поискtest_jsp.java
(как только вы найдете правильный каталог, вы увидите, что структура каталога соответствует структуре вашего каталога JSP). Всякий раз, когда у меня было исключение JSP, я мог довольно легко найти строку и обычно сопоставлять ее с соответствующей строкой в JSP.Точки останова прекрасно работают в классах Java, вызываемых из JSP. Так что, возможно, вы можете переместить код сценария Java, который есть в вашем JSP, в класс и отладить его с точки входа. В будущем вы можете также привыкнуть перестраивать свою логику так, чтобы большая ее часть находилась в классе, который вызывается из JSP, а JSP прост, прост и, надеюсь, не вызывает каких-либо исключений. В любом случае, это хорошая практика.
Более того, удалите всю (или практически всю) логику Java в классы Java, оставив JSP для тегов HTML и JSP. Я знаю, что это не выполнимо сразу, но опять же, это хорошая идея в долгосрочной перспективе, чтобы избежать подобных проблем.
источник
*_jsp.java
классы.Вы можете легко отлаживать JSP-страницу, как в Java-коде:
«JSP-файл аналогичен отладке Java-класса, но большинство функций (Watch, Inspect и т. Д.) Не реализованы. Единственный способ получить значения переменных это представление переменных. "
Смотрите ссылку ниже:
https://www.laliluna.de/articles/posts/debugging-jsp-java-tutorial.html
источник