web-dev-qa-db-ja.com

コンパイルされたJSP Java(* __ jsp.Java)ファイルはどこにありますか?

javax.servlet.jsp.JspException私のウェブサイトがレンダリングしようとしているjspファイルの1つ(survey.jsp)。ただし、スタックトレースでは、jspで失敗した特定の行ではなく、失敗した行番号(survey_jsp.Java:787)、コンパイルされたJSPファイルのようです。そのようなファイルはどこにありますか?そのため、この例外がスローされている行を知ることができますか?

ありがとう

編集:これらのファイルは/workディレクトリは、以下のコメントで提案されているようにTomcatを使用している場合。

26
Sam

コンパイルされた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のスタックトレースに根本原因の部分があるはずです問題の実際の根本原因に関する詳細が含まれています。スタックトレースをもう少し読んでください。ところで、生のJavaコードをJSPファイルに置くことは 悪い習慣 と見なされることをご存知ですか?それは今直面している問題をデバッグするのを難しくします。

65
BalusC

ページがコンパイルされなかった場合は、<Tomcat>/work/*の下にあるはずです。完全なパスは環境によって異なります。見つからない場合は、Tomcatをデバッグモードで起動する必要があります。これは、コンパイルに失敗した.Javaファイルを確実に保持します(Tomcat 7)。

5
home

私はIntellijを使用してJavaEEを学習し、jspをサーブレットに変換するときにいくつかの機能を表示するために、ファイルも見つけなければなりません。

<Tomcat_home>/work/*の下に見つかりませんでした。最後に、ファイルが~/.IntelliJIdea15/system/Tomcat/ folder(~/.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
Tony

もう1つのシナリオを追加します。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

1
carter Liu

私の場合、コンパイルされたjspは

 /var    
   |--cache    
       |-- Tomcat8    
            |--Catalina
                   |--localhost
                          |--projectname
                                 |-- (etc...)
1
pkaramol

oracleドキュメントから

javax.servlet.jsp.JspException :: JSPエンジンに既知の一般的な例外。キャッチされなかったJspExceptionは、エラーページマシンを呼び出します。

私はコードでスクリプレットを使用するたびにこれを取得することさえしました

私のアドバイス:コードを簡単に開発できるように見えるかもしれませんが、スクリプレットを使用しないでください。私を信じて

0
Mateen