Где находятся скомпилированные файлы JSP Java (* __ jsp.java)? - PullRequest
25 голосов
/ 26 июля 2011

Я получаю javax.servlet.jsp.JspException в одном из файлов jsp, которые пытается отобразить мой веб-сайт (survey.jsp).Однако трассировка стека не дает мне конкретную строку в jsp, где происходит сбой, а скорее номер строки, в которой происходит сбой (survey_jsp.java:787), которая, по-видимому, является скомпилированным файлом JSP.Где я могу найти такие файлы, чтобы я знал, какая строка выдает это исключение?

Спасибо

РЕДАКТИРОВАТЬ: Эти файлы находятся в каталоге /work, если выиспользуют Tomcat, как будет предложено в комментарии ниже.

Ответы [ 6 ]

63 голосов
/ 26 июля 2011

Скомпилированные файлы 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

Не связана с конкретной проблемой,быть первопричиной части в трассировке стека JspException, которая обычно содержит более подробную информацию о действительной первопричине проблемы.Прочитайте немного дальше в stacktrace.Кстати, знаете ли вы, что размещение исходного кода Java в файлах JSP считается плохой практикой ?Это затрудняет отладку проблем, с которыми вы сталкиваетесь сейчас.

5 голосов
/ 26 июля 2011

Если страница не скомпилирована, вы должны найти ее где-то ниже <tomcat>/work/*. Полный путь зависит от вашей среды. Если вы не можете найти его там, вы должны запустить Tomcat в режиме отладки, он определенно сохраняет .java файлы, которые не удалось скомпилировать (Tomcat 7).

4 голосов
/ 29 декабря 2015

Я использую 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'

в подходящей родительской папке.

1 голос
/ 07 октября 2016

В моем случае скомпилированные jsps были под

 /var    
   |--cache    
       |-- tomcat8    
            |--Catalina
                   |--localhost
                          |--projectname
                                 |-- (etc...)
0 голосов
/ 26 апреля 2018

C: \ Users \ ADMIN \ eclipse-workspace.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ work \ Catalina \ localhost \ JspDemo \ org \ apache \ jsp

изменитьссылка по названию вашего проекта.

0 голосов
/ 03 февраля 2014

из документа оракула

javax.servlet.jsp.JspException :: Общее исключение, известное движку JSP;uncaught JspExceptions приведет к вызову механизма страницы ошибок.

я даже использовал его, когда использовал код в своем коде

мой совет: не используйте скрипты, даже если кажется, что код разрабатывается легко, но, учитывая все обстоятельства, это большойголова болит, чтобы сохранить код сценариев.ДОВЕРЯЙТЕ МНЕ

...