Где скомпилированы JSP Java (* __ jsp.java) файлы?
Я получаю javax.servlet.jsp.JspException
в одном из файлов jsp, которые пытается выполнить мой сайт (survey.jsp
). Тем не менее, трассировка стека не дает мне конкретную строку в jsp, где она терпит неудачу, а скорее номер строки, в которой он терпит неудачу (survey_jsp.java:787
), который, похоже, является скомпилированным JSP файлом. Где найти такие файлы, чтобы я знал, какая строка выбрасывает это исключение?
Спасибо
РЕДАКТИРОВАТЬ: Эти файлы живут в каталоге /work
, если вы используете tomcat, как предложено в комментарии ниже.
Ответы
Ответ 1
Скомпилированные файлы JSP по умолчанию доступны в папке /work
среды Tomcat. Должна быть подпапка Catalina
, которая, в свою очередь, имеет подпапку, представляющую доменное имя, которое по умолчанию имеет значение localhost
. Там, в свою очередь, должна быть папка проекта, которая в свою очередь содержит иерархию пакетов org.apache.jsp
с ними скомпилированные JSP файлы.
Tomcat
|-- backup
|-- bin
|-- conf
|-- lib
|-- logs
|-- temp
|-- webapps
`-- work
`-- Catalina
`-- localhost
`-- projectname
`-- org
`-- apache
`-- jsp
|-- survey_jsp.class
`-- survey_jsp.java <--- here
Несвязанный к конкретной проблеме, должна быть основная причина в stacktrace JspException
, которая обычно содержит более подробную информацию о реальной основной причине проблемы. Прочтите немного в stacktrace. Кстати, знаете ли вы, что размещение исходного кода Java в JSP файлах считается плохой практикой? Это затрудняет отладку проблем, когда вы сталкиваетесь сейчас.
Ответ 2
Если страница не была скомпилирована, вы должны найти ее ниже <tomcat>/work/*
. Полный путь зависит от вашей среды. Если вы не можете найти его там, вы должны запустить Tomcat в режиме отладки, он определенно не сможет скомпилировать файлы .java
(Tomcat 7).
Ответ 3
Я использую Intellij
для изучения JavaEE и для просмотра некоторых функций, когда jsp переводит в сервлет, мне также нужно найти файл.
Я не нашел его ниже <tomcat_home>/work/*
. Наконец, я обнаружил, что файл находится под папкой ~/.IntelliJIdea15/system/tomcat/
(древовидная структура отображается с ~/.IntelliJIdea15/system/tomcat/
)!
Name related to project name
|-- conf
|-- logs
`-- work
`-- Catalina
`-- localhost
`-- projectname and type
`-- org
`-- apache
`-- jsp
|-- survey_jsp.class
`-- survey_jsp.java <--- here
Если вы все еще не можете найти его в домашней папке Intellij, вам может потребоваться использовать
find . | grep 'nameOfYourJsp_jsp.java'
в соответствующей родительской папке.
Ответ 4
В моем случае скомпилированные jsps находились под
/var
|--cache
|-- tomcat8
|--Catalina
|--localhost
|--projectname
|-- (etc...)
Ответ 5
из документа оракула
javax.servlet.jsp.JspException:: Общее исключение, известное JSP-движку; unsached JspExceptions приведет к вызову механизма ошибок.
Я даже использовал, чтобы получить это, когда я использовал скрипты в моем коде
Мой совет: не используйте scripltes, даже если бы он, возможно, разрабатывал код легко, но со всеми уважениями, его большой головой, чтобы поддерживать код скриптов. TRUST ME
Ответ 6
добавив еще один сценарий: с помощью eclipse и tomcat для запуска Spring MVC: вы должны найти файлы _jsp.java в папке вашего рабочего пространства:
\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost [имя проекта]\org\apache\jsp\
также это действительно зависит от ваших настроек в tomcat: ![enter image description here]()
Ответ 7
C:\Users\ADMIN\затмение-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\работа\Catalina\локальный\JspDemo\орг\Apache\JSP
изменить ссылку в соответствии с названием вашего проекта.