• 締切済み

Java importの*

Javaでパッケージ利用の際に java.io.* などと最後に*をつけるとioパッケージ全てを使えると聞きました Javaの入門サイトの例文を見てると javax.servlet.* javax.servlet.http.* と記載がある場合があります javax.servlet.*はservletパッケージ全て使えるという意味ではないのでしょうか? そうならばjavax.servlet.http.*を記述する意味は何でしょうか?

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

みんなの回答

  • wormhole
  • ベストアンサー率28% (1621/5656)
回答No.2

>Javaでパッケージ利用の際に >java.io.* >などと最後に*をつけるとioパッケージ全てを使えると聞きました どこで、そのような事を聞かれたのかわかりませんがimportに、そのような意味はないです。 クラスを使用する際に、パッケージ名も含めた完全修飾名で書かないといけないのをパッケージ名を省略できるようになるだけです。 例えば、java.io.InputStream と書く必要があったのが import java.io.InputStream; することで InputStream と書けるようになります。 import java.io.*; はjava.ioパッケージのクラス全てに対してのimportになります。 対象はクラスですから import javax.servlet.*; はjavax.servletパッケージのクラスが対象なので別パッケージであるjavax.servlet.httpパッケージのクラスはimportされません。

comcom23
質問者

お礼

ありがとうございます パッケージが別なのですね

  • WDY
  • ベストアンサー率27% (121/433)
回答No.1

>javax.servlet.*はservletパッケージ全て使えるという意味ではないのでしょうか? そういう意味ですね >そうならばjavax.servlet.http.*を記述する意味は何でしょうか? 無いですね。 無いのですが *を使うとどのパッケージ、どのクラスを使用するのか分からないので 可読性が悪くなるのであえて載せていると思います。 可読性が悪いのを気にするのであれば使用する全部のパッケージ、クラスを書く方がいいんですけどね

comcom23
質問者

お礼

ありがとうございます。 大変分かりやすいご説明でした

関連するQ&A

  • importがうまくできません

    サーブレットを使いたいと思い、Hello,World!プログラムを実行しようとして、本に載ってある通りのソースを書き込んだのですが、コンパイルの段階でこのように表示されました。 $ javac -classpath $CATARINA_HOME/common/lib/servlet.jar HelloWorld.java HelloWorld.java:2: パッケージ javax.servlet は存在しません。 import javax.servlet.*; ^ HelloWorld.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.*; プログラミング初心者なのでなぜこのようになるのかさっぱりわかりません。パッケージが見つからないといわれてしまうと、手も足も出ません。このようなエラーがでるのはなぜなのでしょう?どなたかわかる方教えていただけませんか?また解決方法も教えていただけないでしょうか?

    • ベストアンサー
    • Java
  • サーブレットをeclipseで作りたい

    ですが //////////////////////////////////////// package member; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; ・・・・・・・・・・・・・・・・・・・・・・・ //////////////////////////////////////// をeclipseのエディタに書くと import javax.servlet.*; と import javax.servlet.http.*; の javax.servlet の下に赤の波線がつきます。 どうも javax.servlet.*; と javax.servlet.http.*; を認識できないようです。 これらを認識できるようにするにはどうしたらいいのでしょうか?

    • ベストアンサー
    • 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でクラスを扱うのとはどう違うのでしょうか? その違いがわかなくてどうも納得いきません。 どなたか教えていただけないでしょうか? よろしくお願い致します。

  • 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
  • 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
  • import文の必要性

    Javaを勉強しているものです。 import文について質問させてください。 教材に、「java.langパッケージ以外のパッケージを利用する場合は、必ずimport文が必要です。」と記載されていました。 しかし、パッケージ名を含めたクラスのフルパスを記述すればimport文は、langパッケージに限らず、すべて不要なのではないのでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Java
  • .javaのファイルがコンパイルできない

    .javaファイルをコンパイルしようと思いデスクトップ上にファイルを置きコマンドプロンプトでjavacコマンドを使用したところ Sample016.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServlet; Sample016.java:15: シンボルを見つけられません。 などのエラーが出てしまいます。 どのような解決方法があるのでしょうか。 また、この問題の解決にjavaのファイルに入っていたsrc.zipは関係あるのでしょうか? src.zipを解凍したところjavaxなどが入っていたため何かに使うののだろうかと思ったのですが もうひとつ質問があるのですが、もしコンパイルすることができtomcatを使って動作を確認する時はROOT以下に.javaと.classを置いて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); } } お気づきの点がございましたらご査収の程よろしくお願いいたします。

  • この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 jspmodai4Servlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("Windows-31J"); response.setContentType("text/html; charset=Windows-31J"); PrintWriter out = response.getWriter(); String[] nam = request.getParameterValues("text1"); int x = Integer.parseInt(nam[0]); int y = Integer.parseInt(nam[1]); String ans = request.getParameter("radio1"); int z = 0; for(int i = 0; i < z; i++){ } if(ans.equals("value1")){ z = x + y; out.println("奇数の結果は" + z); } }else if (ans.equals("value2") && z%2==0 ){ z = x + y; out.println("偶数の結果は" + z); }else if(x == y){ out.println("エラー"); }else{ out.println("エラー"); } } } 入力フォームから二つの数値を入力させ、「計算」ボタンを押すと、 二つの数値を含む数値間の奇数のみ足し算するプログラム。 でif値がおかしいので奇数と偶数の判定ができません テキストの問題の答えがないので、 なんともいえませんが、 友達に聞いたら、例えば2つの入力フォームで1と4を記述したら、 偶数なら2と4で6となり、奇数なら1と3で4になるそうです。 よろしくお願いします

  • Beanクラスのimportについて

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

    • ベストアンサー
    • Java

専門家に質問してみよう