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/09 14:15:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント35pt

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

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

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

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

id:techmedia-think No.2

回答回数46ベストアンサー獲得回数13

ポイント35pt

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

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

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

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

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

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

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

回答リクエストを送信したユーザーはいません