编译JSP Java(*__ jsp.java)文件在哪里?

Sam*_*Sam 28 java tomcat struts jstl java-ee

我收到了javax.servlet.jsp.JspException我的网站试图渲染的一个jsp文件(survey.jsp).但是,堆栈跟踪没有给出jsp中失败的特定行,而是它在(survey_jsp.java:787)中失败的行号,它似乎是已编译的JSP文件.我在哪里可以找到这样的文件,以便我知道抛出此异常的行是什么?

谢谢

编辑:/work如果你正在使用tomcat,这些文件存在于目录中,如下面的评论所示.

Bal*_*usC 66

默认情况下,已编译的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
Run Code Online (Sandbox Code Playgroud)

具体问题无关,堆栈跟踪中应该有一个根本原因部分JspException,通常包含有关问题真正根本原因的更多细节.在堆栈跟踪中进一步阅读.顺便说一句,你知道将原始Java代码放在JSP文件中被认为是一种不好的做法吗?你现在遇到的问题使调试更难.


Ton*_*ony 8

我正在Intellij学习JavaEE,为了在jsp转换成servlet时查看一些功能,我还必须找到该文件。

我在下面没有找到<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
Run Code Online (Sandbox Code Playgroud)

如果在 Intellij 的主文件夹下仍然找不到它,则可能需要尝试使用

find . | grep 'nameOfYourJsp_jsp.java'
Run Code Online (Sandbox Code Playgroud)

在合适的父文件夹中。


hom*_*ome 5

如果页面没有编译,你应该在下面找到它<tomcat>/work/*.完整路径取决于您的环境.如果你在那里找不到它,你应该在调试模式下启动你的Tomcat,它肯定会使.java文件无法编译(Tomcat 7).