JasperException
| 日本語 | ジャスパー例外 |
| 英語 | jasper exception |
| ふりがな | じゃすぱーえくせぷしょん |
| フリガナ | ジャスパーエクセプション |
JSPをコンパイルする時に投げられる例外。
パッケージも含めたクラス名はorg.apache.jasper.JasperException。
例外の一種。
TomcatのJSPエンジン「Jasper」が、JSPをコンパイルする際に、文法的な誤りからコンパイルエラーが発生した時に投げる例外。
通常のJavaプログラムであれば、プログラムの誤りはコンパイルエラーとなり、例外とはならないが、JSPの場合、実行時にコンパイルを行うため、例外という形でコンパイルエラーを出力する。
メッセージが複雑なうえ、例外として投げられるため分かりにくいが、れっきとしたコンパイルエラーであり、決して発生させてはならない例外である。
といっても、この例外を拾う方法はないため、コンパイルエラーを取り除く以外に解決法はない。
ただし、JSPのコンパイルエラーは非常に分かりにくく、一見、それがコンパイルエラーであることが分かりにくいことが多い。
タグライブラリや暗黙オブジェクトに関係するもの、もしくはJSP宣言等の誤った使用方法によってもたらされることが多く、その場合、JSPの仕組みを理解していないと解決は難しい。
JSPは、コンパイル前に「Javaプログラム」に変換される。Tomcatであればインストールディレクトリのworkディレクトリ下に、JSPを変換したソースファイルが出力され、これがコンパイルされる。
そのため、JSPのコンパイルエラーの発生源がJSPから分からない場合には、JSPから変換した「Javaプログラム」を見ることを強く勧める。
パッケージも含めたクラス名はorg.apache.jasper.JasperException。
例外の一種。
TomcatのJSPエンジン「Jasper」が、JSPをコンパイルする際に、文法的な誤りからコンパイルエラーが発生した時に投げる例外。
通常のJavaプログラムであれば、プログラムの誤りはコンパイルエラーとなり、例外とはならないが、JSPの場合、実行時にコンパイルを行うため、例外という形でコンパイルエラーを出力する。
メッセージが複雑なうえ、例外として投げられるため分かりにくいが、れっきとしたコンパイルエラーであり、決して発生させてはならない例外である。
といっても、この例外を拾う方法はないため、コンパイルエラーを取り除く以外に解決法はない。
ただし、JSPのコンパイルエラーは非常に分かりにくく、一見、それがコンパイルエラーであることが分かりにくいことが多い。
タグライブラリや暗黙オブジェクトに関係するもの、もしくはJSP宣言等の誤った使用方法によってもたらされることが多く、その場合、JSPの仕組みを理解していないと解決は難しい。
JSPは、コンパイル前に「Javaプログラム」に変換される。Tomcatであればインストールディレクトリのworkディレクトリ下に、JSPを変換したソースファイルが出力され、これがコンパイルされる。
そのため、JSPのコンパイルエラーの発生源がJSPから分からない場合には、JSPから変換した「Javaプログラム」を見ることを強く勧める。
参考サイト
<%-- webapps/sample-servlet/sample.jsp --%>
<%-- http://localhost:8080/sample-servlet/sample.jsp でアクセスできます。 --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<html>
<head>
<title>JSPのサンプル</title>
</head>
<body>
<%
// コンパイルエラーを発生させます。
ArrayList arylst;
// コンパイルエラー:
// ↓これ。
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: /sample.jsp の中の行: 14でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:53: シンボルを解決できません。
// シンボル: クラス ArrayList
// 場所 : org.apache.jsp.sample_jsp の クラス
// ArrayList arylst;
// ^
// エラー 1 個
%>
</body>
</html>
<%-- http://localhost:8080/sample-servlet/sample.jsp でアクセスできます。 --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<html>
<head>
<title>JSPのサンプル</title>
</head>
<body>
<%
// コンパイルエラーを発生させます。
ArrayList arylst;
// コンパイルエラー:
// ↓これ。
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: /sample.jsp の中の行: 14でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:53: シンボルを解決できません。
// シンボル: クラス ArrayList
// 場所 : org.apache.jsp.sample_jsp の クラス
// ArrayList arylst;
// ^
// エラー 1 個
%>
</body>
</html>
<%-- webapps/sample-servlet/sample.jsp --%>
<%-- http://localhost:8080/sample-servlet/sample.jsp でアクセスできます。 --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<html>
<head>
<title>JSPのサンプル</title>
</head>
<body>
<%
// コンパイルエラーを発生させます。
ArrayList arylst;
// コンパイルエラー:
// ↓これ。
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: /sample.jsp の中の行: 14でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:53: シンボルを解決できません。
// シンボル: クラス ArrayList
// 場所 : org.apache.jsp.sample_jsp の クラス
// ArrayList arylst;
// ^
// エラー 1 個
%>
</body>
</html>




