importについて

このQ&Aのポイント
  • importについての質問です。Beanのクラスをservletにimportしたいです。
  • TestBeanをコンパイルしてサーバーに置くことは可能でしょうか?
  • classpathについての理解が乏しいため、ご教授いただけますか?
回答を見る
  • ベストアンサー

importについて

ここで、過去ログを拝見したしまして、同じような書き込みを参考にしてのですが、自分には少し理解力がなく、教えてください。 参考にした、過去ログは http://oshiete1.goo.ne.jp/kotaeru.php3?q=214246 です。 この質問と同じなんですが、Beanのクラスをservletにimportしたいのです。 BeanをTestBean.javaとしまして、 --------------------------------------------------- package sample; import java.io*; ................. ................. public class TestBean{ --------------------------------------------------- servletを --------------------------------------------------- import sample.TestBean; import java.io.*; public class TestServlet extends --------------------------------------------------- などとした時に、まず、TestBeanをコンパイルして、サーバーに置いても いいのでしょうか? 自分の場合はJRunを使っているので C:\Program Files\Allaire\JRun\servers\default\default-app\WEB-INF\classes\sample に置いて、もちろん、win98なので、autoexec.batで編集を選びまして、 SET=C:\Program Files\Allaire\JRun\servers\default\default-app\WEB-INF\classes\sample.jar;%PATH% としました。 でも、この部分が↑自身がないです・・・。 http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/win32/classpath.html も読んだのですが、どうも理解が乏しいです・・。 ご教授できたらお願いします。

  • Java
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
noname#16216
noname#16216
回答No.1

> まず、TestBeanをコンパイルして、サーバーに置いてもいいのでしょうか? 質問の意図が良く分かりませんが。。。 サーブレットをコンパイルするときに同時にコンパイルしても いいですし、あらかじめコンパイルしてサーバに置いても 何の問題もないです。 > 自分の場合はJRunを使っているので > C:\Program Files\Allaire\JRun\servers\default\default-app\WEB-INF\classes\sample > に置いて、もちろん、win98なので、autoexec.batで編集を選びまして、 > SET=C:\Program Files\Allaire\JRun\servers\default\default-app\ > WEB-INF\classes\sample.jar;%PATH% としました。 上のsample.jarというのがどうも間違いっぽいです。 クラスパスには、 ・クラスファイルが格納されているディレクトリ ・クラスファイルが格納されているjar(またはzip)ファイル名 を指定します。 今の場合、TestBeanについては、ディレクトリにそのまま格納されて いて、jarファイルは作っていないようなので、 SET=C:\Program Files\Allaire\JRun\servers\default\default-app\WEB-INF\classes と記述しないと、うまくコンパイルできないのでは? # 手順に書かれていないだけで、jarファイルを作っている # なら話は別ですが。。。

tosio_s
質問者

補足

わかりやすい回答ありがとうございます。 自分としましては、jarファイルの理解が出来ていませんでした。 それで、http://java.sun.com/products/jdk/1.2/ja/docs/ja/guide/jar/ でjarファイルの機能について読みました。 spoonyさんの言うとおり、jarファイルは作っていません。 そして、改めてクラスパスに SET PATH=C:\Program Files\Allaire\JRun\servers\default\default-app\WEB-INF\classes;%PATH% と設定を行い、再起動をして、servletをコンパイルしてもエラーが出ます。 エラー内容は、servletの名前をKensakuServletとしているので、 KensakuServlet.java クラス TestBeanは型宣言中にも、importにも見つかりません。  import sample.TestBean; と出ます。 関係はないと思いますが、他クラスパスには、 SET PATH=c:\jdk1.3\bin;%PATH% SET PATH=C:\Program Files\bin;%PATH% を設定しています。 他、開発環境も関係してくるのでしょうか? 開発環境としましては、Forte for Java CE2.0を使っています。 コンパイルは全てここからコンパイルしています。 もし、宜しければアドバイス宜しくお願いいたします。

関連するQ&A

  • Beanクラスのimportについて

    Beanクラスを作成し、そのBeanクラスをServletでimportしたいのですがコンパイルするとエラーになってしまいます。 Bean(TestBean.java)をsampleパッケージに保存してコンパイルした後に Servlet(Test.java)を ----------------------------------------------- import sample.TestBean; import javax.servlet.*; ・・・・・・・ ・・・・・・・ ------------------------------------------------ として、sampleファイルのひとつ上のディレクトリーに保存してコンパイルすると Test.java:1: シンボルを解釈処理できません。 とエラーになってしまいます。 原因がお分かりになるかた、ご教授をお願いできないでしょうか。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • import と extends について

    ちょっとした疑問なんですが、 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class test extends HttpServlet{ HttpServletクラスを継承していて、 上ではjavax.servlet.http.*;をインポートしていますが、HttpServletクラスは、javax.servlet.http.HttpServletですよね? importでクラスを使うのと、extendsでクラスを扱うのとはどう違うのでしょうか? その違いがわかなくてどうも納得いきません。 どなたか教えていただけないでしょうか? よろしくお願い致します。

  • JSPにおけるimportのパス?

    =========================== ■jakarta-tomcat-3.2.4 |_■webapps   |_■login     |_■bookmark     | |_□list.jsp ← 其の2     | |_■Web-inf     |   |_■classes     |   |_■atmakit     |     |_□MyDBAccess.class ← 其の3     |     |_□MyUtil.class ← 其の4     |_■Web-inf       |_■classes         |_□Servlet.class ← 其の1 =========================== 上記のようなディレクトリ構造のwebアプリケーションを作成中です。 其の1(Servlet.class)から其の2(list.jsp)を呼び出し、 その中で其の3(MyDBAccess.class)と其の4(MyUtil.class)をimportしたいのですが、 その場合の其の2(list.jsp)でのimportのパスはどのように指定したら良いのでしょうか? そもそもそんなこと可能なのでしょうか? 現在 import="java.sql.* ,atmarkit.MyDBAccess ,atmarkit.MyUtil" としてありますが、 ----------------------- org.apache.jasper.JasperException: Unable to compile class for JSPE:\jakarta-tomcat-3.2.4\work\localhost_8080%2Flogin\_0002fbookmark_0002flist_0002ejsplist_jsp_0.java:16: クラス atmarkit.MyDBAccess が import に見つかりません。 import atmarkit.MyDBAccess ; ^ E:\jakarta-tomcat-3.2.4\work\localhost_8080%2Flogin\_0002fbookmark_0002flist_0002ejsplist_jsp_0.java:17: クラス atmarkit.MyUtil が import に見つかりません。 import atmarkit.MyUtil; ^ ----------------------- というエラーが発生します。 これだけでは分からないかも知れませんが、必要な情報があれば仰ってください。 分かりにくい質問で申し訳ないですが、どなたかご教授下さい。

  • サーブレットにて、HTTP404エラーについて

    プログラミング初心者のものです。サーブレットについて勉強しているのですが、どうしてもHTTP404エラーが解消されません。 http://localhost:8080/entry/HelloServlet とURLに入力すると type ステータスレポート メッセージ /entry/HelloServlet 説明 The requested resource (/entry/HelloServlet) is not available. となってしまいます。なにかミスや指摘があればお願いします。 ファイル名 HelloServlet.java 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"); } } ファイル名 web.xml <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping> </web-app> HelloServlet.javaは、 C:\servletbook\apache-tomcat\webapps\entry\WEB-INF\classes に格納されており、web.xmlは C:\servletbook\apache-tomcat\webapps\entry\WEB-INF に格納されてます。

    • ベストアンサー
    • Java
  • import について

    最近JAVAの勉強を始めたばかりの超初心者です。 専門用語(クラス、オブジェクト、メソッド等)に四苦八苦していますが、何とか頑張っています。 で、質問の件なのですが以下をコンパイル出来ません。 //printer.java public class printer { public void print() { System.out.println("hello from java"); } } //app.java import printer; public class app { public static void main (String[] args) { (new printer()).print(); } } printer.java → printer.class のコンパイルは出来ますが app.java をコンパイルしようとすると、以下のエラーが出ます ~$ javac app.java app.java:1: '.' がありません。 import printer; ^ app.java:1: ';' がありません。 import printer; ^ エラー 2 個 printer.javaとapp.javaとprinter.classはすべてカレントディレクトリに入っています。 ただ、app.javaのファイルでimportの行を削除するとキチンとコンパイル実行できてしまいます。 これがなぜか分からない(自分はimportあたりが怪しいと思う)のでタイトルを「importについて」としました。 どなたか原因分かる方いらっしゃいましたら、ご教示よろしくお願いします。

    • ベストアンサー
    • Java
  • import について

    Eclipseで開発しています。 以下2点がImportでエラーになります。 import java.util.* import java.io.*; 以下はImport可です。 import java.lang.reflect.*; import javax.servlet.http.*; import org.apache.struts.action.*; import java.util.*; ライブラリーが足らないのかと思うのですが、よくわかりません ご指導願います。

    • ベストアンサー
    • Java
  • サーブレットのマッピングについて

    サーブレットのマッピングについて教えてください。 現在サーブレットを学習しています。 書籍に付属するサンプルをとりあえず動かしている段階なのですが、マッピングがうまくいきません。 http://localhost:8080/エントリポイント/servlet/MyServlet とアドレス入力した場合はきちんと表示されるのですが、WEB-INF直下にweb.xmlファイルを作成して http://localhost:8080/エントリポイント/servlet/ms にアクセスすると404エラーが返ってきます。 これは何が原因なのでしょうか? 知識不足もあって皆目検討がつかないため、皆様のお力をお借りしたく思います。 よろしくお願いいたします。 なお、サーブレットはWEB-INF直下のclassesというディレクトリ内にコンパイルしておいてあります。 また、web.xmlの内容は以下のとおりです。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <!-- MyServlet→msと定義する --> <web-app> <servlet> <servlet-name>ms</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ms</servlet-name> <url-pattern>/classes</url-pattern> </servlet-mapping> </web-app>

    • ベストアンサー
    • Java
  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatとeclipseでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ■eclipseのパッケージエクスプローラー basic |-WEB=INF/src |..|input |...|EchoServlet.java |-WEB-INF |..|web.xml |.|echo.jsp (WEB-INF直下に作成) ■echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="/servlet/EchoServlet"> ■web.xmlの記述 <servlet> <servlet-name>EchoServlet</servlet-name> <servlet-class>input.EchoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EchoServlet</servlet-name> <url-pattern>/servlet/EchoServlet</url-pattern> </servlet-mapping> ■EchoServlet.javaの記述 package input; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class EchoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = request.getParameter("message"); response.setContentType("text/plain; charset=Windows-31J"); PrintWriter out = response.getWriter(); out.println("message=" + msg); } } お気づきの点がございましたらご査収の程よろしくお願いいたします。

  • サーブレットファイル 404

    OS はWindows 8で、JDK 6 、Tomcat 6です。 今朝からサーブレットやjspのリンクを叩いても 「 ~を開くことが出来ません。インターネットサイトのレポートによるとリクエストしたアイテムが見つかりませんでした。(HTTP/1.0 404) 」 としか出なくなりました。昨日までは表示されていたんですが・・・ http://localhost:8080/で左上に猫のロゴがあるページは表示されます。 例としてSample1.javaがありますが、 アドレスはhttp://localhost:8080/自分のフォルダ/servlet/Sample1で このサーブレットファイルはC:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\自分のフォルダ\WEB-INF\classesにあります。  web.xml(C:\Users\自分の名前\Desktop\プログラム\Java基本\java_prc\YJK_ish\WEB-INFの直下に有) を確認しても <servlet> <servlet-name>Sample1</servlet-name> <servlet-class>Sample1</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample1</servlet-name> <url-pattern>/servlet/Sample1</url-pattern> </servlet-mapping> と入っています。 一応8080でバッティングさせないようにPHPで使う方のApache のサーバーもhttpd -k stopで止めておきました。 考えられる原因は何でしょうか? 他に確かめる方法は無いのでしょうか?

    • ベストアンサー
    • Java
  • JAVAのパッケージについて

    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ファイルをつくらなければ、パッケージしたことに ならないのでしょうか・・・。 すみませんが、解決方法を教えてください。

    • ベストアンサー
    • Java

専門家に質問してみよう