SJC-WCの勉強をしています。以下のようなサーブレットHelloTag.javaがあります。

------------------------------
package taglib;

import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

public class HelloTag extends TagSupport{
public int doStartTag() throws JspException{
try{
pageContext.getOut().println("Hello");
}catch(IOException e){
throw JspException(e);
}
return SKIP_BODY;
}
}
---------------------------------
これを、javacでコンパイルすると(配置は問題ないです)
javax.servlet.jspは見つかりません。とエラーが出ます。J2SEしか入れていなかったので、J2EEをインストールしましたが(Java 5.0です)、やはり同じコンパイルエラーが出ます。どなたか教えてください。

回答の条件
  • 1人3回まで
  • 登録:2008/06/02 14:12:44
  • 終了:2008/06/09 14:15:03

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402008/06/02 14:55:00

ポイント35pt

JavaでHello World JSP(カスタムタグ)編

リンク先とはちょっと違うけど。

タグハンドラをコンパイルするにはservlet.jarをクラスパスに追加する必要があります。servlet.jarはTomcatのフォルダの下のcommon\libの下に入っています。

コンパイル時にクラスパスの設定した?

id:techmedia-think No.2

techmedia-think回答回数46ベストアンサー獲得回数132008/06/03 01:12:20

ポイント35pt

javax.servlet.jspパッケージ以下のクラスは、ServletAPIなので、ServletAPIを含んでいるjarファイルがクラスパスに入っていないとコンパイルできません。

HelloTag.javaの内容はjavax.servlet.jspパッケージのクラスを必要としているので、Tomcatであればcommon/lib以下に入っているjsp-api.jarをクラスパスに入れればコンパイルが通るかと思います。

ただ、コンパイルは通っても動作させるためにはサーブレットコンテナが必要となるため、Tomcatなりにデプロイする必要があります。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません