こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

サーブレットのコンパイルについて

はじめまして。

学校の課題の方でJSP/サーブレットをやっているのですが、サーブレットのコンパイルが通りません。

プログラムとエラーと環境変数は以下の通りです。

【プログラム】

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
printWriter out = response.getWriter();
out.println("hello");
}
}


【エラー】

HelloServlet.java:2: パッケージ javax.servlet は存在しません。
import javax.servlet.*;
^
HelloServlet.java:3: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.*;
^
HelloServlet.java:5: シンボルを解決できません。
シンボル: クラス HttpServlet
場所 : HelloServlet の クラス
public class HelloServlet extends HttpServlet
^
HelloServlet.java:7: シンボルを解決できません。
シンボル: クラス HttpServletRequest
場所 : HelloServlet の クラス
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
^
HelloServlet.java:7: シンボルを解決できません。
シンボル: クラス HttpServletResponse
場所 : HelloServlet の クラス
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
^
HelloServlet.java:7: シンボルを解決できません。
シンボル: クラス ServletException
場所 : HelloServlet の クラス
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
^
HelloServlet.java:9: シンボルを解決できません。
シンボル: クラス printWriter
場所 : HelloServlet の クラス
printWriter out = response.getWriter();


【環境変数】
CATALINA_HOME
C:\servletbook\apache-tomcat

CLASSPATH
%CATALINA_HOME%\common\lib\jsp-api.jar;%CATALINA_HOME%\webapps\atmarkit\WEB-INF\classes;%CATALINA_HOME%\common\lib\servlet-jsp.jar;


よろしくお願いします。

投稿日時 - 2009-01-06 18:05:18

QNo.4608772

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

>import javax.servlet.*;
この部分がまずエラーのはじめですね。あとのエラーはこれに関連するエラーですので、これを解決しないとだめです。

あるサイトに↓がありました。
(2)環境変数のCLASSPATHの設定
rootユーザの環境変数を設定します。ここでは、「CLASSPATH」にコンパイルで必要となるライブラリを設定します。なお、Tomcat-5までは「servlet.jar」を指定していましたが、Tomcat-6からは「servlet-api.jar」を指定するみたいです。

↑によって、あなたのTomcatのバージョンが6なら%CATALINA_HOME%\common\lib\servlet-api.jar バージョンが5なら%CATALINA_HOME%\common\lib\servlet.jar をクラスパスに指定してください。

あと、一番最後のエラー シンボル: クラス printWriter はPrintWriterです。最初のPが大文字じゃなくてはなりません。

一連のエラーはimport文でインポートしたライブラリをコンパイラが発見できなかったためです。発見させるためにはクラスパスに上記jarファイルを指定してやる必要があります。ソースに書かれている必要なライブラリは上記jarファイルにありますので。

では、がんばってください。

投稿日時 - 2009-01-06 22:01:55

お礼

ありがとうございました。
動きました。

投稿日時 - 2009-01-07 05:36:43

あなたにオススメの質問