• ベストアンサー

Javaの種類ってどんだけあるの?

はじめまして、現在休職中で今後、仕事で役立てられたらと考えてJavaを勉強しようと、考えているもんです。むろん、仕事はコンピュータ関連でもありませんし、 ソースコードも書いたことございません。 Java Application、Java applet、i-Appliなるものは分かりましたが、 Java servlet、etc...と書店を回っただけでもたくさんあり、どういうものが Javaにはあるのかを詳しく知りたくなりました。 ご存知の方がおられましたらどういう場面で使うのか、もしくはどのような用途にむくのかということを教えてください。 よろしくお願いします。

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

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

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

はじめまして。 >JAVA Application JAVAで書かれた(作られた)アプリケーション。 SUN(JAVA言語を開発した会社)のホームページからJAVA開発キット(JDK)をダウンロードして来ることで開発可能。 >JAVA Applet ホームページ上に配置しておき、閲覧者側がそれをダウンロードして、ブラウザ上で実行する(JAVAで書かれた)プログラム。 閲覧者のコンピュータ上で、JAVAが動作する必要があります。(動作しても、バージョンによって不具合が出ることもあります。) >i-Appli NTTDocomo の i-mode の為に作られたアプリケーション。 アプリケーション、と言っても、現状で SUN(JAVAの本家)のJAVA開発ツール(API) + NTTDocomoの配布する拡張ツール(APIと言いますがここでは分かり易く)で作れます。 >servlet アプレットと違い、サーバ側で動くアプリケーション。 >JDBC(Java Database Connectivity) データベース絡みのアプリを作るための拡張ツール(API)。 利点は、多くのDBに同じ方法でアクセスできるので、使うDBによって別のプログラムを作らなくて良い点。だそうです。 色々調べられたのならご存知でしょうが、JAVAの大きな売りの一つは「一度書いたら何処でも動く」なんですが、この間MicroSoftから切り捨てられちゃいました(TT なのでアプレットの立場は厳しいでしょう。 仕事に役立てたいのなら、データベースかサーブレットに重点を置くべきだと思います。 いずれにせよ、第一歩は、基本の「JAVA」を理解することですので、「JAVA入門」みたいな、分かり易い構成の書籍が良いのでは。

id7023
質問者

お礼

いち早いご回答ありがとうございました。 早速、Java Applicationをやってみようと、 JAVA開発キット(JDK)のバージョン1.3.1を手に入れました。 また、お奨めに従い第一歩を踏み出すべく、夜に『やさしいJava』という本を 買いに行きました。 とあるホームページで3日で読めると書いてありましたが、私は2ヶ月ぐらい かかりそうです。とほほ。 目標のpalmや携帯で動く介護認定アプリケーションを作れるのはまだまだ先になりそうですが、がんばってみようと思います。 ちなみに、JAVA開発キット(JDK)とJAVA開発ツール(API)に違いってあるのでしょうか?

関連するQ&A

  • Javaのアプレットの後継について

    以前のJavaのグラフィックスの本を見るとappletを用いてブラウザ内に結果を表示することが紹介されています。あるいはappletviewerとかです。最近はappletを使わないようになって、インストールされていないとのことです。そのため、appletを用いて表示していたソースコードなどを新しいものに対応させるにはどのような修正になるのでしょうか。すべて作り直しになるでしょうか。 JavaのグラフィックスはJFrameとかでブラウザを用いないで表示することは可能ですが、それだけではないように思うのですが。Javascriptを用いるというようなことは聞いていますが、詳細は存じません。 考え方、方向性だけでも結構なのですが、よろしくお願いします。

  • JAVAでアプレットのエラー(eclipse)の意味が分かりません

     JAVAプログラムをeclipseで書いています。  新しくプロジェクトをパッケジエクスプローラに作成し、ドラッグアンドドロップでメモ帳で書いたソースコードを プロジェクト内に落とし込んでやりました。  実行すると、アプレットのウインドウは表示されるのですが、「Start アプレットは初期化されていません」 とウインドウに表示されます。  一体何が原因でしょうか。  コード自体にはエラーはなく、コンソールには、以下のようなコメントが出ていますが、エラーの意味が分かりません、 一体どういうことなのでしょうか。  このようなドラッグアンドドロップのやり方は間違っているのでしょうか。 java.lang.ClassCastException: JFrameTest cannot be cast to java.applet.Applet at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

    • ベストアンサー
    • Java
  • javaでアプレットの描画が出来ない

    ものすごく初心者な質問で申し訳ありません。 jdk-1.6.0をVine linux 3.2にインストールして使用しています。 javaのソースを書いてコンパイルするなどには問題は無いのですが (今のところ) 以下のようなアプレットを試してみたところアプレットの窓は起動しますが 描画がされません。 import java.applet.Applet; import java.awt.Graphics; /* <applet code="test" width=200 height=200> </applet> */ public class test extends Applet { public void paint(Graphics g) { g.drawLine(10,10,180,110); } } 以上のコードを %javac test.java %appletviewer test.java としました。窓は起動し、アプレットが開始された、と表示されるのですが 線が見当たりません。 (ちなみに教科書にあるサンプルなので間違いがあったとしたら写し間違いです) 線が表示されるはずなんですが、表示されないのです。 まども起動するので何かJAVAを使う環境として何か細かい設定を間違って いるのかと思い質問しました。 分かる方がいらっしゃったら教えてください。

  • JAVAアプレットのホームページへの挿入がうまくいかなくて困っています

    JAVAアプレットのホームページへの挿入がうまくいかなくて困っています。 原因が分かる方いたら教えてください。 ECLIPSEで作成した.classファイルをホームページビルダーのJAVAappletの挿入という機能を使って挿入しようとしました。 ホームページビルダーの素材集にあるJAVAアプレットはうまく表示できたのですが、 「エラー。クリックした詳細を確認してください」というメッセージが出ます。 クリックして出るエラーは次の通り。 ↓ Java Plug-in 1.6.0_17 使用中の JRE のバージョン 1.6.0_17-b04 Java HotSpot(TM) Client VM ユーザのホームディレクトリ = C:\Users\solitaire ---------------------------------------------------- c: コンソールウィンドウをクリア f: ファイナライズキューのオブジェクトをファイナライズ g: ガベージコレクト h: このヘルプメッセージを表示 l: クラスローダリストをダンプ m: メモリ使用率を表示 o: トリガログ q: コンソールを非表示 r: ポリシー設定を再ロード s: システムプロパティと配備プロパティをダンプ t: スレッドリストをダンプ v: スレッドスタックをダンプ x: クラスローダキャッシュをクリア 0-5: トレースレベルを <n> に設定 ---------------------------------------------------- java.lang.NoClassDefFoundError: sampleapplet (wrong name: sampleapplet/sampleapplet) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 例外: java.lang.NoClassDefFoundError: sampleapplet (wrong name: sampleapplet/sampleapplet) /////////////////////////////////////// ↓HTMLコードの一部 <p>アプレットを挿入してみたのだけれど</p> <p><applet code="sampleapplet.class" width="300" height="300"></applet></p> //////////////////////////////////////////// ↓ビルド前のJAVAコードの一部 package sampleapplet; import java.applet.Applet; import java.awt.Graphics; public class sampleapplet extends Applet{ public void paint(Graphics g){ g.drawLine(10, 10, 180, 110); } }

    • ベストアンサー
    • Java
  • .javaが開けない

    javaでソースコードを打ち込む練習をしたいです。 (Java・JDKは入手済み) その際、.javaの拡張子を使ったファイルを開くことができません。 .javaのファイルを開こうとすると、  このファイルを開けません  このファイルを開くには、そのためのプログラムが必要です。インターネットで自動的 にプログラムを検索するか、またはコンピューターにインストールされたプログラムの 一覧から手動で選択してください。 と表示されます。どのプログラムをダウンロードすればいいのでしょうか?

    • ベストアンサー
    • Java
  • ServletでAppletの表示

    お世話になります。 現在、Eclipse、Tomcat、Firefoxの環境下でServlet及びAppletを勉強しています。 そこでServletでAppletを表示しようとした所、エラーが出ました。 どうやらAppletクラスを探せないでいるみたいなのですが、場所を移動させたりしてもダメでした。 以下エラーのコンソールとServletから抜粋した表示部分のソースです。 オブジェクト指向設計は初めて日が浅いので、他に必要な情報あればご指摘願います。 それでは、よろしくお願いします。 ※エラーコンソール Java Plug-in 1.6.0_17 使用中の JRE のバージョン 1.6.0_17-b04 Java HotSpot(TM) Client VM ユーザのホームディレクトリ = C:\Users\Feng Lu ---------------------------------------------------- c: コンソールウィンドウをクリア f: ファイナライズキューのオブジェクトをファイナライズ g: ガベージコレクト h: このヘルプメッセージを表示 l: クラスローダリストをダンプ m: メモリ使用率を表示 o: トリガログ q: コンソールを非表示 r: ポリシー設定を再ロード s: システムプロパティと配備プロパティをダンプ t: スレッドリストをダンプ v: スレッドスタックをダンプ x: クラスローダキャッシュをクリア 0-5: トレースレベルを <n> に設定 ---------------------------------------------------- load: クラス AppletTest が見つかりません。 java.lang.ClassNotFoundException: AppletTest at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/Applet/AppletTest.class at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) ... 7 more 例外: java.lang.ClassNotFoundException: AppletTest Error reading latest JRE version. java.net.SocketTimeoutException: Read timed out load: クラス AppletTest が見つかりません。 java.lang.ClassNotFoundException: AppletTest at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/Applet/AppletTest.class at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) ... 7 more 例外: java.lang.ClassNotFoundException: AppletTest ※ソース(抜粋) protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out = response.getWriter(); out.println("<html><head><title>ServletTest</title></head><body>"); out.println("<applet codebase=\"http://localhost:8080/Applet/\" code=\"AppletTest\" width=800 Height=600></applet>"); out.println("</body></html>"); }

    • ベストアンサー
    • Java
  • テキストファイルの中身をAppletに常に表示

    お世話になります。 先日、Appletでの外部ファイルを常に同期させる方法をお尋ねしたものです。 それにより、Servletを併用し試行錯誤していたのですが、どうしても行き詰まり再度質問させて頂きました。 Applet内にあるスレッドから常にServletを呼び出し、 Servlet側では呼び出される度にサーバ上にある外部ファイルを読み込み、 その内容をAppletへ送信してAppletではその受け取ったデータを表示する というプログラムを組んでみたのですが、 外部ファイルの中身は表示はされず、コンソールにはIllegalStateExceptionが表示されます。 エラー内容を検索したりもしてみたんですが、うまく理解出来ませんでした。 以下にソースを載せておきますので、もしよろしければご教授お願いします。 ※Servlet側 package com.test; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L; DataOutputStream dos; String test=null; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String checkFile="test.log"; String fn=getServletContext().getRealPath(checkFile); response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out=response.getWriter(); out.println("<html><head></head><body>"); out.println("<applet codebase=\"http://localhost:8080/Test\" code=\"TestApplet.class\" height=\"600\" width=\"800\">"); out.println("</applet>"); out.println("</body></html>"); out.close(); BufferedReader inn = new BufferedReader(new FileReader(fn)); //アプレットへの送信 response.setContentType("application/octet-stream"); dos=new DataOutputStream(response.getOutputStream()); String outPut=inn.readLine(); dos.writeUTF(outPut); dos.flush(); dos.close(); } } ※Applet側 import java.applet.Applet; import java.awt.*; import java.io.*; import java.net.URL; import java.net.URLConnection; public class TestApplet extends Applet implements Runnable{ String inPut; Label l1; public void init() { setSize(200, 100); setLayout(new FlowLayout()); l1 = new Label("Wait"); add(l1); Thread wait; wait = new Thread(this); wait.start(); } @Override public void run() { // TODO Auto-generated method stub try { while(true){ try { //サーブレットへの通信 URL url=new URL(getDocumentBase(),"./Test"); URLConnection conn = url.openConnection(); //play.logの状態取得 DataInputStream in = new DataInputStream(conn.getInputStream()); l1.setText(in.readUTF()); } catch(Exception e) { } Thread.sleep(1000); } } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

  • アプレットからサーバ側のプログラムを起動したいのですが…

    仕事でJavaを使うことになったのですが、プロジェクト員一同Java初心者で、必死にJavaを勉強していますが、以下のことで困っています。申し訳ありません。助けてください。 UNIXサーバ側の設定とかをいじるプログラムがあるのですが、それをアプレットにして、SEさんがリモートからでも操作出来るようにしろ、と言われました。 とりあえず、Javaアプレットからサーバ側(アプレットのクラスが置いてあるのと同じマシン)のCプログラムを起動し、その結果を受け取るようにしたいのですが、Java経験者に相談したら「アプレットにはセキュリティ上の問題があるのでCGIかServletを使わないと出来ない」と言われました。 では…とServletの勉強を初め、サーバー側にServletEngineをいれてみたのですが、 ServletはHTTPポートと違うポート(8000番とか)を開けてそこにアクセスしなくてはいけないようにみえます。それならクライアント側プログラムをアプレットにし、サーバ側プログラムとSocket通信で結び、サーバ側プログラムがCプログラムを起動、としたほうが楽そうですが、ひとつしかポートを開きたくないと言われたのです。 もしかして「アプレット+Servlet が アプレット+CGI相当」じゃなく「Servlet が アプレット+CGI相当」なのでServlet用のポートだけ開けとけばいいとかいうことでしょうか?  とか思っていたら、JNIでC言語のメソッドをJavaメソッド扱いするとかいう話も小耳に挟みました。それでできるのかしら? ・webポートだけを開いて ・サーバ側のCプログラムを起動してその結果を受け取る ・クライアントのマシンにあらかじめインストールしなくても、ブラウザからアクセスすると操作が対話的に出来るような ものを簡単に作ろうとしたら、一体何を勉強するべきなのでしょうか…。 Applet+CGI? Applet+Servlet? RMI? JNI…? 助けてください…(TT)

    • ベストアンサー
    • Java
  • Java 3D Web Start のソースコード一例を教えてください

    私は、Java3Dでプログラムを作成しています。 作成したプログラムの実行結果を仲間に示したいのですが、多くの仲間はJavaJREについてはプレインストールパソコンを使っていますが、Java3Dはインストールしておらず見てもらうことができません。 先日、OKWave殿を通じてJavaWebStartの存在を知り、特に紹介されたJavaNetのJava 3D Web Start( https://j3d-webstart.dev.java.net/test/ )には、rotating cube、moving sphereなどいくつかの3Dサンプルが画面をクリックすると見ることができます。 ただし、いずれも jnlpファイルで紹介されていて、ソースコードは紹介されていません。 JavaWebStartは、プログラム(ソースコード)を作成後、classファイルをjarファイルにかためて、jnlpファイルと共にWebサーバにアップすることでプログラム実行結果を仲間にも見てもらえるようになりますが、私の認識ではSwingで書かれたアプリケーション、しかもjnlpファイルのapplication-desc 要素にはオプション属性 main-class を記載するため、ソースコードには、「public static void main(String argv[]) メソッドを含む、最初に実行されるクラス」の記載が必要になってくるかと思います。 Swingアプリケーションを扱う多くのサイトに紹介されているコンポーネント、レイアウトなどを示すサンプルソースコードは上の方法にて、JWSで表示させることができたのですが、3DをJavaNet社のサンプルのように表示させることができていません。 java3D Web Startで表す3Dの簡単モデル(できれば、回転アニメ、behaviorなど動きのあるもの)をソースコードとともに、またWebサーバにアップするまでの手順を教えていただきたいと存じます。

    • ベストアンサー
    • Java
  • Java 文字コードのエンコーディングについて

    Java 文字コードのエンコーディングについて こんばんわ。 eclipse3.5で開発(UTF-8)しているソースを、DOS窓でコンパイルすると、勝手にMS932でマッピングしようとするんですよね。 何故だかわかる方いらっしゃいませんか? また、解決策等を教えていただけると幸いです。 eclipseで開発してるのに、態々DOS窓でコンパイルしなくてもってのはなしでお願いします。(仕事上必要)

    • ベストアンサー
    • Java