JSPでのimportについての質問

このQ&Aのポイント
  • JSPでのimportに関してエラーが発生しています。パッケージの位置が分からないため、うまくインポートできません。
  • ただし、warアーカイブを使用すると問題なく配備できることが分かりました。
  • どこにimport文を書けば良いか、具体的な指示を教えていただけませんか?
回答を見る
  • ベストアンサー

JSPでインポート

WEB-INF \ classes \ abc \ def \ghi.java jsp \ hoge.jsp WEB-INFとjspは同じ場所にあります。 jspファイルにimportを記述して上のabc.def.*のパッケージをインポートしたいのですが、 <% page import = "abc.def.*" %> と入れても、「パッケージがありません」というエラーになってしまいました。 (eclipseの左側の×しるし) おそらくパッケージがどこから始まっているのか、という情報(どこにあるのか??) を与えてやら無いといけないとは思うのですが、それがどこなのか良くわかりません。 実はもともともwarアーカイブがあり、それを一気に配備すればエラーは出ません。 どのように構築して行ったのかを勉強しようとしたところ、このような壁にあたってしまったのです。 どこにどう書けばよいかを教えてください。

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

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

  • ベストアンサー
  • koki_m
  • ベストアンサー率83% (45/54)
回答No.1

こんばんは。 2点気になる箇所があります。 1.classesフォルダにはコンパイルしたclassファイルを配置します。ソースコードをコンパイルしてみてください。 2.ページディレクティブを、   <%@ page import="abc.def.*" %>   と書いてみてください。 ただ、Tomcat5では「パッケージがありません」というエラーにはならないようなので、これでエラーがなくなるかどうかは自信がありません。

azicyan
質問者

お礼

回答ありがとうございます。 ただうまく解決できなかったので、もう一度質問しなおします。 よろしくお願いします

関連するQ&A

  • JSPで独自のパッケージがimportできません。

    下記構成で、test.jspで、作成したjp.test.utilパッケージをimportして使いたいのですがうまくいきません。 ■Tomcat4.1 |_■webapps  |_■test   | ■JSP   | |★test.jsp   |   |_■Web-inf     |_■classes      |_■jp       |_■test        |_■util         |★OrgDataFormat.class ★test.jspに、 <%@ page import="jp.test.*" %> と記述しても、下記エラーとなりimportできません。 パッケージ jp.test は存在しません。 import jp.test.*; オリジナルパッケージをimportするには、 どこにどのような設定が必要なのでしょうか? 環境はWinXP,Tomcat4.1.18,JDK1.4.1を使っています。

    • ベストアンサー
    • Java
  • jspからjarを参照したいのですが

    /usr/local/tomcat/webapps/jsp-examples/の下にあるjspから jarを参照したいのですが、上手くいきません。 /usr/local/tomcat/webapps/jsp-examples/WEB-INF/classes/testPkgの 下にそのままクラスを置けば参照できます。 クラスには次のように宣言してありますし package jalanClass; jspの先頭でパッケージをインポートしてあります。 /usr/local/tomcat/webapps/jsp-examples/WEB-INF/classes上で jar cvf testPkg.jar testPkg jar cvf testPkg.jar testPkg/* などとして作ったjarを /usr/local/tomcat/webapps/jsp-examples/WEB-INF/classesに置いたのですが、NoClassDefFound エラーとなってしまいます。 CLASSPATHに/usr/local/tomcat/webapps/jsp-examples/WEB-NF/classes を通してみましたが駄目でした。 jarは今まで使った事がないので、根本的な事が分かっていないのかも知れませんが、教えてください。 宜しくお願いします。

    • ベストアンサー
    • Java
  • 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; ^ ----------------------- というエラーが発生します。 これだけでは分からないかも知れませんが、必要な情報があれば仰ってください。 分かりにくい質問で申し訳ないですが、どなたかご教授下さい。

  • jsp サーブレットについての質問です

    サーブレット初心者です 開発環境は eclipse http://servletmania.blog137.fc2.com/blog-entry-26.htmlのサイトをみてとりあえずサーブレットの サンプルを動かそうとしたところ動きません・・(泣く)。 サーブレット hoge/src/form_entry/InputServlet.java 入力フォーム hoge/webContent/WEB-INF/NewFile.jsp 入力確認画面 hoge/webContent/WEB-INF/NewFile1.jsp web.xml  hoge/webContent/WEB-INF/lib/web.xml コピペして貼り付けるだけだからエラーはどこにもなかったです 後は配置がおかしいのかと思います 単体でサーブレットのInputServlet.javaを動かしたところ404のエラーが出ています 他は単体でも動きます 動くようにどなたか助けてください

  • eclipseのWTPでコンテキストルートはどうやって設定するのか

    ABC¥web \WEB-INF         \abc.jsp のように配置し、サーバーで起動を選らぶと、「コンテキストルートを更新」と出てくるのでチェックボックスに入れると、localhost:8080/ABC/abc.jsp でjspが表示できます。 しかし、WEB-INFのなかにサーブレットを配置して、そこから<a href>タグでlocalhost:8080/ABC/abc.jspを呼ぼうとするとたちまち接続できなくなりました。 ステータスは404(つまり見つからない) The requested resource (/ABC/abc.jsp) is not available. と成ってしまいます。 何らかの原因でコンテキストルートがうまく認識できていない??のかと思うのですが良くわかりません。 eclipseはall-in-oneを使い、Tomcatは5.0を使っています。 最悪Tomcatのマネージャからwarを配備する方法でも良いので教えてください。

    • ベストアンサー
    • Java
  • 二次元配列の分割

    よろしくお願いします。 $hoge = array( "one" => array("abc" => "100", "def" => "200", "ghi" => "300"), "two" => array("abc" => "110", "def" => "210", "ghi" => "310"), "three" => array("abc" => "120", "def" => "220", "ghi" => "320") "four" => array("abc" => "130", "def" => "230", "ghi" => "330") ); というような配列があったとき、 abcが110以下のときと、110より大きい場合で分割した配列を 用意したいと考えてます。 具体的には、 $hoge1 = array( "one" => array("abc" => "100", "def" => "200", "ghi" => "300"), "two" => array("abc" => "110", "def" => "210", "ghi" => "310"), ); と $hoge2 = array( "three" => array("abc" => "120", "def" => "220", "ghi" => "320") "four" => array("abc" => "130", "def" => "230", "ghi" => "330") ); に分割したいと考えています。 どのように記述すればよいのでしょうか?

    • ベストアンサー
    • PHP
  • JSPでImportエラーになります

    技術サイトを見ながらJSPを勉強しているのですが、 自作のクラスがimportエラーとなる為、コンパイルできない状態です。 色々サイトを検索して調べてみましたが、原因が分からず悩んでいます。 ご教示を宜しくお願いします。 ※下記、[参考資料]ページを見ながら勉強していますが、 原因を調べる為にimportだけの簡単のjsp(test.jsp)を 作成してデバッグ中です。 Windows2000 Apache 2.0.63 Tomcat 6.0.16 JK2 2.0.4 参考資料:http://www.atmarkit.co.jp/fjava/rensai/jsp06/jsp06.html ----------------------------------------------------------------------------- ■エラー内容(ブラウザの表示結果) org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: An error occurred at line: 6 in the generated java file Only a type can be imported. atmarkit.CopyrightHTML resolves to a package ■ファイルの配置 $docbase →test.jspを配置 $docbase\WEB-INF\classes\atmarkit →CopyrightHTML.classを配置 $docbase\WEB-INF\lib ■test.jsp <%@ page contentType="text/html; charset=SHIFT_JIS" %> <%@ page import="atmarkit.CopyrightHTML" %> <html> <body> <p>-- テスト --</p> </body> </html> ■CopyrightHTML.java package atmarkit; /** * 著作権表示用のHTMLを生成するクラス */ public class CopyrightHTML { public String year = ""; public String name = ""; public String mail = ""; // 標準的な著作権表示HTML文を取得する public String getNormalHTML() { if(!mail.equals("")) { name = " <a href=\"mailto:" + mail + "\">" + name + "</a>"; } return "Copyright " + year + " " + name + ". All rights reserved."; } // 短い著作権表示HTML文を取得する public String getShortHTML() { if(!mail.equals("")) { name = " <a href=\"mailto:" + mail + "\">" + name + "</a>"; } return "(C) " + year + " " + name + "."; } }

  • eclipseによるjavaのimportは?

    eclipse3.4でwarファイルのimportをするとできあがったディレクトリはsrcのパッケージ以下がimportされないのですが、なぜでしょうか?その他のjspなどはimportされています。src直下のパッケージ名以下のソースが空っぽなんです。。 exportの方法に問題があるのですか?ソースは普通のサーブレットとjavaクラスのものです。

    • ベストアンサー
    • Java
  • Eclipseのプロジェクトに既存システムを登録するには

    現在新人研修でEclipseを使用してサーブレットを作成する課題をやっています。 基本的なクラスに関しては現在社内システムで使用されているものをそのまま利用してよいと言われているのですが、どう環境構築したらよいのかいまいちわかりません。 社内システムの方はWEB-INF-classes以下にフォルダが多重構造になっており、パッケージ化されています。そして使用するクラスのimport文のことを考えると、全てを新たなEclipseのプロジェクトに登録してその中で課題のサーブレットを作成したいと思っています。 とりあえず、新たなプロジェクトを作ってWEB-INF以下に既存システムのclasses以下のフォルダをインポートしてみたところ、やはりというべきかclassesの中には入ってくれませんでした。(Eclipse上ではclassesフォルダが見えなかったためやってみたのですが)これはエクスプローラから手動で移せばいいのかなとも思ったのですが、パッケージの指定をどうしたらよいのかが一番の疑問点です。 使われているパッケージ名で新規にパッケージを作ってしまえばよいのでしょうか?でも、それだと既にWEB-INF以下にあるクラスがそのパッケージであると認識されるのかが不安です。 また、"jp.co.AAA"のようなパッケージの場合、新規パッケージの作り方がちょっとよくわかりません。 WEB-INF/srcを選択して新規からパッケージを選ぶまでは合っていると思うのですが、jpパッケージを作ってそれを選択してその下に新たにパッケージを作ろうとすると既にjpと入っているウィザードがでてきてしまって、jpパッケージの名前変更しか出来ません。試しに"jp.co"という名前で作ってみたら出来たことは出来たのですが本当にこれでよいのか疑問です。 よかったらどなたか教えていただけないでしょうか?

  • eclipseへサンプルコードをインポートしたい。

    こんにちは。 最近、JSP/サーブレットの勉強を始めた者です。 今使っている本についているサンプルコードをインポートしたいと思い、 ネットで調べながらやってみましたが、うまくできませんでした。 eclipse自体初心者であるため、インポートの基本的な方法、 また注意すること等教えていただけないでしょうか。 以下に私が行った手順などを記します。 ●test1というTomcatプロジェクトを作成 ●test1直下のWEB-INFにweb.xml、同じくTest1直下のclassesにサンプルのクラスファイル、   そしてWEB-INF/srcにサンプルのjavaファイルをインポート ●Tomcatを再起動し、ブラウザのURLに、http://localhost:8080/test1/1_1と入力 ●「HTTPステータス 404 - /test1/1_1」が表示される

    • ベストアンサー
    • Java

専門家に質問してみよう