- - PR -
サーブレットのコンパイルエラーについて
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-09-08 20:30
はじめまして。よろしくおねがいします。
サーブレットのコンパイルができず弱っています。 C | JSP | Example |----------| WEB-INF lib | | classes servlet-api.jar | ecsite | Item.class(通常のJAVAクラス) ItemCollection.class(通常のJAVAクラス) ItemDAO.class(通常のJAVAのクラス) 環境はWindowsXP−HOMEEDITIONで、TOMCAT5です。 上記のようなディレクトリ構造で、新に「MainController」というクラス(サーブレット、Item,ItemColloction,ItemDAOクラスを使っています、継承はしていません)をコンパイルしたいのですが、エラーがでます。コンパイル方法としては WEB-INFに移動し、「javac -d classes -classpath C:\JSP\Example\lib\servlet-api.jar MainController.java」と打ちます。環境変数の設定がうまくいかないので直接jarファイルを読み込んでいます。 すると「シンボルが解決できません」というエラーがでます。ItemCollction,ItemDAOクラスを使っているところでエラーになっているようなのですが、原因がわかりません。 ※すべて「ecsite」というパッケージに含まれています。 package ecsite; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class MainController extends HttpServlet{ public void init() throws ServletException{ ↓ここでエラーが起きる ↓ここでエラーが起きる ItemCollection collection = new ItemDAO().findAll(); ServletContext application = getServletContext(); application.setAttribute("collection",collection); } public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ doPost(request,response); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ ServletContext context = getServleContext(); RequestDispatcher rd = context.getRequestDispatcher("/jsp/top.jsp"); rd.forward(request,response); } } なぜこのエラーがでるのか、という事と、 コンパイルできる方法がわかりません。 お分かりになる方がいらっしゃいましたら ご教示をよろしくお願いします。 |
|
投稿日時: 2004-09-08 20:42
ecsiteディレクトリにクラスパスを設定していないからではないでしょうか?
|
|
投稿日時: 2004-09-08 21:10
javac -d classes -classpath classes;C:\JSP\Example\lib\servlet-api.jar MainController.java
でどうですか? 同一パッケージだからクラスパスに設定しなくていい、とか思っていませんか? |
|
投稿日時: 2004-09-09 02:31
もしこのソースをコピペで掲載されたのなら
ServletContext context = getServleContext(); の行で getServle になってますよ。 |
|
投稿日時: 2004-09-10 12:09
package宣言されていますので、 『C:\JSP\Example\WEB-INF\classes』 をクラスパスに通す必要があるのではないでしょうか? いかがでしょうか? |
1
