JAVAサーブレットでjavax.servletとjavax.servlet.httpをimportすると自分で用意したクラスをimportすることができなくなります。
参考にしている書籍と見比べて違いがないと思いますが。
ちなみに、上記の二つをimportしなければ、
問題無くimportされます。

よろしくおねがいします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

察するに、メインファイルというのがServletでサブファイルがJavabeansかなにかだと思いますが違いますか?で、メインクラスからサブクラスをimportしようとしたがうまくいかないということでよろしいでしょうか?



>メインファイルとサブファイルが同じフォルダにあれば
>importすることでクラスをしようできると思いました。

二つのファイルが同じディレクトリ(パッケージ)に存在するのであれば、importしなくてもクラスを呼び出すことができます。

>javax.servletとjavax.servlet.http

ServletAPIのjar等にCLASSPATHは通っているのでしょうか?
おそらく通っていないと思いますので、CLASSPATHの設定を確認してみてください。

>「パッケージXXXは存在しません」とエラーがでてしまいます。
XXXには何が入るのでしょう?エラーのメッセージを記述する際には、出力された情報をそのまま書いてもらえると参考になります。

この回答への補足

freshjive様ありがとうございます。
僕自身文章力がないので上手くまとまってませんでした。

僕が質問したかったのは、
A_file.class : サーブレット機能、HTMLの出力を行う
B_file.class : HTMLに出力するものを決定したりする
        クラスなどが宣言されている。

そこでA_fileでB_fileをimportして、A_fileをコンパイルすると「パッケージB_fileは存在しません」とエラーがでてしまいます。

そこで原因は
freshjive様の言われた通り原因はCLASSPATHにあるとおもいました。コンパイル位置をCLASSPATHにしたがって変更することで、問題なくコンパイルできました。

まだまだ勉強不足で申し訳ないです。

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

補足日時:2001/09/19 10:10
    • good
    • 0

補足をお願いします。


import 出来ないとはコンパイルエラーが起こる、と言う事ですか?そうであればそのエラーメッセージはなんですか?他のパッケージのimport は問題ないですか?あと自分で用意したクラスはpackage 宣言付ですか?そうならなんと言うパッケージ名をつけていますか?

この回答への補足

ご指摘ありがとうございました。
僕自身状況を把握できていなかったので、質問の内容がめちゃくちゃになりました。

僕なりに少し調べてみたのですが、ファイルを分け(クラスを別ファイルに用意する)メインファイルからそのクラスを読み出したいのですが・・・。
「パッケージXXXは存在しません」とエラーがでてしまいます。
package宣言は特にしていません。
メインファイルとサブファイルが同じフォルダにあれば
importすることでクラスをしようできると思いました。

この質問はサーブレットとはまったく関係ないと思います。
こんな感じでどうでしょうか?

補足日時:2001/09/18 15:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qサーブレット-サーブレットの通信で文字列を送りたいのですが

サーブレット間の通信で文字列(String)を送りたいのですが
うまく受け取れません。
URLEncoder.encodeをつかって変換して送り、
URLDecoder.decodeで受けとってます。お願いします。

Aベストアンサー

具体的に、どうなってしまうのかが分からないと、答え様がないですね。

(1)最初の文字列
(2)URLEncoder.encodeの結果
(3)URLDecoder.decodeの結果
が提示されていると、有力なヒントになるはず。差し支えなければご提示を。

Qjavax.servlet.ServletExceptionが発生する(ファイルアップロード)

ファイルのアップロードをするために
org.apache.commons.fileupload.FileItemFactory factory=new org.apache.commons.fileupload.disk.DiskFileItemFactory();
org.apache.commons.fileupload.servlet.ServletFileUpload upload=new org.apache.commons.fileupload.servlet.ServletFileUpload(factory);
java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseRequest(request);
としているのですが
java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseRequest(request);
の行で以下の例外が発生してしまいます。

メッセージ

説明 The server encountered an internal error () that prevented it from fulfilling this request.

例外

javax.servlet.ServletException: サーブレットの実行により例外を投げました


原因

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:196)
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:358)
org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
BlobUploadProcess.doPost(BlobUploadProcess.java:8)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

どのようにすれば解決できるでしょうか?

ファイルのアップロードをするために
org.apache.commons.fileupload.FileItemFactory factory=new org.apache.commons.fileupload.disk.DiskFileItemFactory();
org.apache.commons.fileupload.servlet.ServletFileUpload upload=new org.apache.commons.fileupload.servlet.ServletFileUpload(factory);
java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseRequest(request);
としているのですが
java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseReque...続きを読む

Aベストアンサー

DeferredFileOutputStreamクラスがない、ということのようだが。

commons-io-1.x.jarはインストールされているだろうか。
commons-fileupload-1.x.jarは、当然入っているのだよね?

Qimport javax.servelt が存在しません

こんにちは。
下記のエラーが発生するのですが

import javax.servelt が存在しません

j2sdkを使用しております。
APIがないのですがどのように配置すればよいのですか。
またどのサイトからファイルをダウンロードすればいいのですか?

どなたかご教授よろしくお願い申し上げます。

Aベストアンサー

サーブレットAPIを手に入れてください。
もしtomcatをいれているのであれば
tomcatのインストールフォルダのどっかに
servlet.jarっていう感じのがあるはずなので
そこにクラスパスを通してください。

QJSPやサーブレットでSystem.out.println()などでコンソールに出力できますでしょうか?

はじめまして。
質問タイトルの通りです。よろしくお願いします。

Aベストアンサー

サーブレットではそのまま
System.out.println()を
JSPでは
<%= System.out.println() %>(←少し間違えがあるかも知れません)
と記述すれば、できます。

Qjavax.mailがimportできない

JSPファイルの
import=
のところに
javax.mail.*
を入れると
インポートできないと表示されます。
APIドキュメントを見たら
javax.mailが存在しない。
これはどうすれば対処できるのでしょうか。
どなたか分かる方がいましたら、是非とも教えて頂けると感謝する次第です。
どうぞ宜しくお願い致します。

Aベストアンサー

.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\mailapi.jar;%JAVA_HOME%\lib\activation.jar;%JAVA_HOME%\lib\j2ee.jar
の中に存在しないものがあるんじゃない?

さっきも言ったけど
J2EEをダウンロードしてこないとダメよ。
JDKの中にはjavax.mailは入ってないから。


このカテゴリの人気Q&Aランキング

おすすめ情報