Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Проблемма отладки


Автор: Tipon 5.9.2010, 18:19
Раньше писал всё в JSP файле и при любой ошибке ТомКэт выдовал мне листинг где и в какой строчке какого рода ошибка.
Быстро понял, что делать всё в JSP это ужасный винегрет и решил попробовать раскидать всё в сервлет и подключаемые классы и только с выводом через JSP.
Но вскоре понял, что, хотя и удобней читать код, понять из-за какой ошибки вместо HTML странички в браузере появился белоснежный лист практически невозможно.


Можно ли как-то всёже через ТомКэт или ещё каким-нибудь способом узнать в каком из классов и какая ошибка возникла? Я пользуюсь средой разработки NetBeans может там есть что? - но я пока не нашёл =(

Автор: Vasay 5.9.2010, 18:23
Цитата(Tipon @  5.9.2010,  18:19 Найти цитируемый пост)
Можно ли как-то всёже через ТомКэт или ещё каким-нибудь способом узнать в каком из классов и какая ошибка возникла


Должно быть в логах.


Цитата(Tipon @  5.9.2010,  18:19 Найти цитируемый пост)
Я пользуюсь средой разработки NetBeans может там есть что?


С ним в комплекте идет GlassFish - они совместно очень даже хорошо работают - все ошибки выводятся в консоль NetBeans. Возможна отладка.

п.с. возможно, с TomCat NetBeans работает не хуже - не пробовал. 

Автор: Tipon 5.9.2010, 18:45
В логах ТомКэта восновном только:
Код

INFO: ContextListener: contextDestroyed()
05.09.2010 19:38:11 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
05.09.2010 19:38:11 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()

и лишь изредка бывают какие-то глобальные ошибки например SQLException, если сервер SQL не запущен ещё =)

или если сделать
Код

try{
     }catch(Exception e){
         System.err.println("Controller.class - RunTime error!");
     }

То выводит надпись, но не сделаешь же перехват на каждой строчке, да и зная в какой строке ошибка хорошо бы знать какого рода она: например ожидался другой тип данных или не найден такой метод и т.п.

Автор: Vasay 5.9.2010, 18:52
Tipon, 

Очисти лог. Задеплой свое приложение - посмотри что есть в ошибках при деплоее. 

Запости сюда.

Зайди на страницу - посмотри, что добавилось в лог.

Запости сюда.

Автор: Tipon 5.9.2010, 20:07
Остановил ТомКэт, удалил все файлы сегодняшних логов, Запустил через NetBeans нужный файл по URL, NetBeans сам запустил сервер и сделал всё что нужно. Результат - белоснежная страница в браузере, как результат ошибки, т.к. до передачи запроса в JSP сраницу на вывод он не дошёл. Если закомментировать несколько новых строчек в одном из классов, то всё заработает, но не совсем так как мне нужно, но большую часть вывода он хотя бы сделает нормально - не белый лист. 

Так как узнать в каком файле класса в какой строчке какая ошибка? Пока только комментирование поперебору новых строчек и выясняю где примерно ошибка - это бред.

Может я не там смотрю, но в логах(ниже) ничего не вижу экстраординарного?

Привожу логи сервера (те что лежат в папке tomcat\logs):


catalina.2010-09-05.log
Код

05.09.2010 20:58:06 org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.17.
05.09.2010 20:58:06 org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].
05.09.2010 20:58:06 org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
05.09.2010 20:58:06 org.apache.coyote.ajp.AjpAprProtocol init
INFO: Initializing Coyote AJP/1.3 on ajp-8009
05.09.2010 20:58:06 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 678 ms
05.09.2010 20:58:06 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
05.09.2010 20:58:06 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0-snapshot
05.09.2010 20:58:07 org.apache.coyote.http11.Http11AprProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
05.09.2010 20:58:07 org.apache.coyote.ajp.AjpAprProtocol start
INFO: Starting Coyote AJP/1.3 on ajp-8009
05.09.2010 20:58:07 org.apache.catalina.startup.Catalina start
INFO: Server startup in 830 ms
05.09.2010 20:58:07 org.apache.catalina.startup.HostConfig checkResources
INFO: Undeploying context [/citygt]
05.09.2010 20:58:07 org.apache.catalina.core.StandardContext start
INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/citygt] has already been started


localhost.2010-09-05.log
Код

05.09.2010 20:58:07 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
05.09.2010 20:58:07 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()


manager.2010-09-05.log
Код

05.09.2010 20:58:07 org.apache.catalina.core.ApplicationContext log
INFO: Manager: init: Associated with Deployer 'Catalina:type=Deployer,host=localhost'
05.09.2010 20:58:07 org.apache.catalina.core.ApplicationContext log
INFO: Manager: init: Global resources are available
05.09.2010 20:58:07 org.apache.catalina.core.ApplicationContext log
INFO: Manager: list: Listing contexts for virtual host 'localhost'
05.09.2010 20:58:07 org.apache.catalina.core.ApplicationContext log
INFO: Manager: list: Listing contexts for virtual host 'localhost'
05.09.2010 20:58:07 org.apache.catalina.core.ApplicationContext log
INFO: Manager: undeploy: Undeploying web application at '/citygt'
05.09.2010 20:58:07 org.apache.catalina.core.ApplicationContext log
INFO: Manager: install: Installing context configuration at 'file:/C:/Users/Nikolay/AppData/Local/Temp/context738078225974076157.xml'
05.09.2010 20:58:07 org.apache.catalina.core.ApplicationContext log
INFO: Manager: start: Starting web application at '/citygt'


в других файлах той же папки без изменений.

Автор: iluvatar 6.9.2010, 13:07
А вы вообще без логов живете? Это неправильно.
Очень рекомендую почитать про log4j, и заюзать его.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)