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

时间:2011-07-26 16:56:15

标签: java tomcat java-ee struts jstl

我在我的网站尝试呈现的一个jsp文件中获得javax.servlet.jsp.JspExceptionsurvey.jsp)。但是,堆栈跟踪没有给出jsp中失败的特定行,而是它失败的行号(survey_jsp.java:787),它似乎是已编译的JSP文件。我在哪里可以找到这样的文件,以便我知道哪一行引发了这个异常?

由于

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

7 个答案:

答案 0 :(得分:63)

默认情况下,已编译的JSP文件位于Tomcat环境的/work文件夹中。应该有一个子文件夹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的堆栈跟踪中应该有一个根本原因部分,它通常包含有关真正根本原因的更多详细信息这个问题。在堆栈跟踪中进一步阅读。那么,您是否知道将原始Java代码放在JSP文件中被视为bad practice?正如您现在遇到的那样,它使问题更难调试。

答案 1 :(得分:5)

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

答案 2 :(得分:3)

我正在使用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

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

find . | grep 'nameOfYourJsp_jsp.java'

在合适的父文件夹中。

答案 3 :(得分:1)

就我而言,已编译的jsps位于

之下
 /var    
   |--cache    
       |-- tomcat8    
            |--Catalina
                   |--localhost
                          |--projectname
                                 |-- (etc...)

答案 4 :(得分:0)

来自oracle文档

javax.servlet.jsp.JspException :: JSP引擎已知的一般异常;未捕获的JspExceptions将导致调用errorpage机制。

每当我在代码中使用scriplets时,我甚至习惯了这个。

我的建议:不要使用脚本,即使它看起来似乎很容易开发代码,但考虑到所有应有的方面,它是一个很大的头脑 - 难以维护一个scriplets代码。信任我

答案 5 :(得分:0)

添加另一种方案:使用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

答案 6 :(得分:-4)

C:\用户\ ADMIN \蚀-workspace.metadata.plugins \ org.eclipse.wst.server.core \ TMP0 \工作\卡塔利娜\本地主机\ JspDemo \组织\阿帕奇\ JSP

根据您的项目名称更改链接。