※ ChatGPTを利用し、要約された質問です(原文:JAVAのパッケージについて)
CentOSでWEBページからデータベースにアクセスするためのプログラムで、サーブレットがコンパイルエラーになります
このQ&Aのポイント
Controller10.javaというサーブレットで、mypackageが解決できないエラーが発生しています。
コードの中には、javax.servletパッケージのクラスやmypackageパッケージのModel10クラスがインポートされています。
ファイル構造やクラスパスの設定を確認し、JARやWARファイルを作成する必要があるかもしれません。
CentOSで、WEBページからデータベースにアクセスするためのプログラムをつくっているのですが、サーブレットがコンパイルエラーになります。
サーブレットで、mypackageが解決できないとのことです。
# javac -classpath /opt/tomcat6/apache-tomcat-6.0.20/lib/servlet-api.jar Controller10.java
----------
1. ERROR in Controller10.java (at line 10)
import mypackage.Model10;
^^^^^^^^^
The import mypackage cannot be resolved
----------
mypackageはデータベースにアクセスするJavaBeanであるModel10をいれているフォルダです。Model10.javaはコンパイルできました。
Controller10.java というのは、Model10.classにアクセスするためのサーブレットです。
Controller10.javaと同じ階層に、mypackageのフォルダをつくり、その下に、Model10.classというJavaBeanをいれていて、なぜ解決できないのか、どうしてもわかりません。
ファイル構造は下記の通りです。
webapps
|___mysamples
|_test.jsp
|_HTML
|_WEB-INF
|_class
|_Controller10.java
|_mypackage ←フォルダ
|_Model10.class ←JavaBean
Controller10.javaの抜粋です
------------------------------
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.RequestDispatcher;
import java.io.PrintWriter;
import mypackage.Model10; ←Controller10にimport文をいれてます。
------------------------------
Model10.javaの抜粋です
------------------------------
package mypackage; ←Model10にpackage文をいれてます。
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
-------------------------------
JARやWARファイルをつくらなければ、パッケージしたことに
ならないのでしょうか・・・。
すみませんが、解決方法を教えてください。