[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/06 00:12 / Filesize : 302 KB / Number-of Response : 972
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれJava(超初心者用) その2



1 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 11:54:09 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、  
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。  
Java使いが優しくコメントを返しますが、  
お礼はJavaの布教と初心者の救済をお願いします。  

Java SunのHome Page  
www.java.com/ja/

前スレ

くだすれJava(超初心者用)
pc10.2ch.net/test/read.cgi/tech/1126470659/l50


231 名前:Tomcatについての相談ですが・・・ [2007/07/29(日) 17:58:06 ]
『やさしいJava活用編第2版』の学習をした方、あるいはTomcatを使ったことがある方が
いましたら以下の問題の解決にご協力くださいm(_ _)m。

付録CD-ROM内のTomcat 5.5をウィザードに従ってインストールしたのですが
すべてのプログラム→Apache Tomcat 5.5 →Monitor Tomcatという風にTomcatを
起動しようとしても、

   (X) アクセスが拒否されました。

      Unable to open the Service Manager


と表示され、プログラムを起動することができません。



インストールする際に、麻奈本に載っていたスクリーンショットではUser Nameがadmin、
Passwordが空欄だったにも関わらず、ユーザー名とパスワードを設定してインストール
したのが原因なのかな?と思い、アンインストールし、パスワードを設定せずにインストール
し直しましたが駄目でした。

ちなみにOSはWindows Vista Home Basicです。


よろしくお願いします。m(_ _)m

232 名前:232 mailto:sage [2007/07/29(日) 19:44:19 ]
dream.mods.jp/news/tomcat.html

むむぅ・・・これが解決策なんでしょうか・・・。
Sysdeoっていうソフトを見つけてくればいいのかな。


233 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 11:09:35 ]
流れぶった切ってスマソ

Javaをまじめに始めて3日ぐらいなんだけど、
PHPで言う所のsystem(); みたいなものって
Javaにもある?

234 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 13:42:09 ]
くだすれでも聞きにくい超低レベルな質問というか確認なのですが・・・

現在c: >Program Files >javaに入っているフォルダが

jdk1.5.0_11
jdk1.5.0_12
jre1.5.0_11
jre1.5.0_12
jre1.6.0_01

となってます。古いバージョンが残っているようなのですが、最新バージョンを入れても
古いものが上書きされるのでなく、旧バージョンは手動で削除する必要があるのでしょうか?

この場合は
jre1.6.0_01、jdk1.5.0_12を残して他はすべてフォルダごと削除してもOKなのでしょうか?

幼稚な質問ですがよろしくお願いします。

235 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 18:58:34 ]
プログラムの追加と削除でアンインストール。

236 名前:デフォルトの名無しさん mailto:java [2007/07/30(月) 20:19:11 ]
>>233
PHPのsystem();がどんなものか分からんが
外部プログラムを起動するCのsystem関数に相当することをやるならProcessBuilderクラス
もし外部プログラムに対する入出力が必要ならProcessBuilder#startで得られるProcessインスタンスから
入出力のストリームをもらえ

でもjavaを始めて3日で外部プロセスに依存するなんていかんよ
まずはpure javaプログラムでどこまでできるか勉強したほうがいい

237 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:33:45 ]
>>231
c:\programfileじゃないとこだったら
入ったよ。
一応、unc無効にしてからやったけど。

238 名前:237 mailto:sage [2007/07/30(月) 20:37:07 ]
みすった。
uncじゃなくてuacだった。

239 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:41:08 ]
>>236

おぉ、thx!

ProcessBuilder builder = new ProcessBuilder("notepad");

こういうことか。
いや、簡単なランチャー作れるね。

> PHPのsystem();がどんなものか分からんが
system("notepad",$retval);
こんな感じ。

> まずはpure javaプログラムでどこまでできるか勉強したほうがいい
今は基本部分やっとります。
延長上にそれがあるなら、楽しいなと思ってね。

ありがとう。



240 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:51:20 ]
>>239
そうそう、そんな感じ
そのあとbuilder.start()で実際にプロセスを起動する
どんな言語もそうだけどjavaもいろいろ楽しいから楽しみながらがんばれ

241 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 23:02:58 ]
あまり汎用性はないが、1.6だとGUI上のシェルみたいに
desktop.browse(uri)
desktop.open(file)
とかもできるようになった。


242 名前:デフォルトの名無しさん [2007/08/01(水) 02:52:35 ]
232へ
違うだろ。
これはあくまでもEclipseの場合じゃないかな?
サイトを見た限り。
で?できた?
この板ではなく別の板かサイトを見たほうがいいと思うよ。


243 名前:231=232 mailto:sage [2007/08/01(水) 12:00:11 ]
>>242

>>232のサイトだと、Tomcatをインストーラーを使わずにzipでダウンロードし、
手動で導入すれば、フォルダのtomcat6.exeをクリックでとりあえず起動できる
ようになるということですよね。

さらにEclipse+Sysdeoを使えば普通にコントロールできるようになると・・・。

すみません。それらの方法はまだ試していません・・・。

一応全てのコードをメモ帳手打ちで学習したかったので、狭い部屋の狭い机の
Vista PCをどかして、XPのノートPCにTomcatを入れたら普通に動いたので
なんとか学習を継続しています。

244 名前:デフォルトの名無しさん [2007/08/01(水) 16:03:01 ]
いいんじゃないの?
それで。
しかし2台もPC持っているのはすごいな。
でも2台Windowsなのはもったいないから。
XPで学習が終わり次第、Linuxを入れよう。
幅が広がるよ。


245 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 16:19:22 ]
PC2台って別にすごくないし珍しくも無いよ
特にこの板とかだとね

246 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 16:47:43 ]
誰もメモ帳につっこまないw

247 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 18:50:15 ]
>>245がKYだなw

248 名前:231=232 mailto:sage [2007/08/03(金) 01:34:03 ]
もう一つお願いします(汗)。

サーブレット(Sample6.java)をコンパイルしようとしたのですが、コンパイルエラーとなり、

import mybeans;

の文が指摘されました(mybeansはサーブレットと同じディレクトリに属すフォルダ名です)。

「.」が無いということなので、次は「import mybeans.*;」に修正してコンパイルしても、
パッケージmybeansは存在しませんと言われてしまいます。

あるはずのパッケージがコンパイルにおいて認識されない場合、どういった原因が考えられ得る
でしょうか。ご教示いただけるとありがたいです。


Tomcatをインストール →(省略)→ WEB-INF →→ classes →→→Sample6.java
したディレクトリ                                         |
                                                       → mybeansフォルダ → CarBean.java

249 名前:248 mailto:sage [2007/08/03(金) 02:09:26 ]
「やさしいJava 活用編 "import mybeans"」でググってみたら
「Java質問・相談スレッド102」でも全く同じ相談があったらしく、その人は自力で
解決できたみたいですけ、原因が分からなかったとか。



250 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 11:45:06 ]
コンパイルって何を使ってんの?コマンドライン?

251 名前:248 mailto:sage [2007/08/03(金) 11:49:14 ]
>>250
javacを使用しています。

252 名前:248 mailto:sage [2007/08/03(金) 11:56:11 ]
コマンドプロンプトを使ってjavac Sample6.javaと入れてコンパイルを試みています。

253 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:06:28 ]
まずさー、import mybeans.*; ってのは、以下のソースで

mybeans.hoge() とかのmybeans.を省略するためにあるんだから
hoge()とかがソース上に無いんだったら書かないでいいんだよ。

254 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:10:41 ]
で、多分 mybeans.hoge() の省略である hoge()はあるんだろう
そしてそのmybeansの場所はclasspathに無いと駄目なんで
コンパイルしている場所をclasspathに含めるなら、 . を追加しないとね。

255 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:12:00 ]
package も書いてあるのかどうかが気になるけど、まあいいや

256 名前:248 mailto:sage [2007/08/03(金) 12:44:45 ]
>>253-255さんのおかげで解決できました。

classpathってこれのことですよね?と確認するために

変数名:CLASSPATH
変数値:C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar;,

と書いたら、\servlet-api.jar;,←セミコロン、カンマとなっていました。
そしてインポート文をimport mybeans.*;にしたらコンパイルできました。

ご迷惑おかけしました。

257 名前:248 mailto:sage [2007/08/05(日) 16:52:34 ]
以下は『やさしいJava活用編第2版』の232ページからの引用です。

import java.sql.*;

public class Sample1
{
public static void main(String args[])
{
  try{
     //接続の準備
     String drv = "com.mysql.jdbc.Driver";
     String url = "jdbc:mysql:///cardb";
     String usr = "";
     String pw = "";

     //データベースへの接続
     Class.forName(drv);
     Connection cn
       = DriverManager.getConnection(url, usr, pw);

258 名前:257のつづき mailto:sage [2007/08/05(日) 16:53:40 ]
     //問い合わせの準備
     Statement st = cn.createStatement();
     String qry = "SELECT * FROM car_table";

     //問い合わせ
     ResultSet rs = st.executeQuery(qry);

     //データの取得
     ResultSetMetaData rm = rs.getMetaData();
     int cnum = rm.getColumnCount();

       while(rs.next()){
         for(int i=1; i<=cnum; i++){
          System.out.print(rm.getColumnName(i)
            + ":" + rs.getObject(i) + " ");
        }
          System.out.println("");
        }
        //接続のクローズ
          rs.close();
          st.close();
          cn.close();
      }
  catch(Exception e){
     e.printStackTrace();
  }
 }
}

259 名前:248 [2007/08/05(日) 17:14:52 ]
何度も申し訳ございません。m(__)m

上の2レスはMy SQLのデータベースに接続するためのプログラムで、コンパイルは
しっかりと通るので載せる必要はなかったのかも知れませんが、java Sample1の実行時
に次のように始まる大量の例外メッセージが出てきてしまいます。

C:\YJKSample\8>java Sample1
com.mysql.jdbc.CommunicationsException: Communications link failure due to under
lying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Permission denied: connect

(長すぎて後略します)

これはこのスレで相談することでなくデータベースソフト関連の板に当たった方が良いかも
しれませんが、何が原因で起きているか判別できる方はいらっしゃらないでしょうか。

他のスレで「やさしいJava」同梱のMy SQLはバージョンが古いと聞いていたので、My SQLも
JDBCドライバもTomcatと同様に最新のものをダウンロードしておきました。

My SQLにテキストファイルを読み込ませてデータベースを作成するテストは成功しているので
ちゃんと動いているはずなのですが・・・。

本ではJDBCドライバはTomcatのフォルダにコピーするようにとあるのですが、JDKには
インストールしないで大丈夫なの?とも思ってしまいます。

すみません!長文を大量に投稿してしまいました。もう少し、調べて問題点を整理してみます。



260 名前:デフォルトの名無しさん [2007/08/05(日) 21:20:17 ]
人間のゴミビンゴ(1列揃えばアウト)

   @│A│B
   ─┼─┼─
   C│D│E
   ─┼─┼─
   F│G│H

 @ 無職   A 童貞          B 引きこもり   
 C キモ顔  D 肥満          E 毎日オナニー
 F 低学歴  G 30歳以上で独身  H 貯金100万未満

261 名前:デフォルトの名無しさん [2007/08/06(月) 02:00:19 ]
わからんな。
ソースは間違っていそうにないのだが....
これってDBのデータをjavaで表示するんでしょう?
com.mysql.jdbc.CommunicationsException: Communications link failure due to under
lying exception:
このエラーググッても英語しかないんだよね?
これはjavaの質問スレッド板で聞いたほうがいいんじゃないかな?


262 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 02:29:32 ]
問題はその下で実際にMySQLが出したエラーだから、
Permission denied: connect
こっちだよな。

connect(2)がPermission deniedすなわち EACCES エラーを
出すのは、手元のBSDのマニュアルによると
[EACCES]
The destination address is a broadcast address and the
socket option SO_BROADCAST is not set.
接続先アドレスはブロードキャストアドレスだがオプションに
SO_BROADCASTはセットされていない

または

Search permission is denied for a component of the path prefix.
パスの一部のディレクトリに検索パーミッションが出ていない
(パスってことはUNIXドメインソケットの場合限定か)

または

Write access to the named socket is denied.
名前付きソケットへの書き込みが拒否された。

だそうだ。

あとはMySQLのどこのconnectで実際にエラーになってるか
を探すくらいか。


263 名前:248 mailto:sage [2007/08/06(月) 06:22:52 ]
>>261-262

教えてGooの似たような問題のトピックで「String drv = "com.mysql.jdbc.Driver"; 」のところが、
「org.gjt.mm.mysql.Driver」のように記述されているのを見たので、自分のソースコードもそれに
変更してみたら、例外の内容が少し変わりました。

java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO
)

SQLException: Access deniedでググると例によって教えてGooなどの質問掲示板が続々ヒット
するのですが、回答者の多くが、それは読んで字のごとく、SQLへのアクセスが拒否されたことだろうと
説明していました。

MySQLの設定ウィザードでもセキュリティー設定(パスワード)のチェックを外してあるので、
アクセス拒否されるのが信じられないのですが。そのほかファイアウォールを切ってみたり
ソースコードを素人なりにごにょごにょいじったりしてみました。

うーん、難しいですね。とりあえずSQLExceptionだとググるとたくさん出てくるのでもう少し粘ってみます。

264 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 08:50:16 ]
>>263
>Access denied for user ''@'localhost' (using password: NO)

@'localhost' ってことはユーザーを何も指定していないってことだよな?
ふつー user@'localhost' みたいになるんじゃね? userのとこが root だっ
たりするかもしれんが。




265 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 15:34:17 ]
>>264
レスありがとうございます。何とかデータベースへ接続できました!
私も最終的には「ユーザー認証」が問題の根幹なのだろうと的を絞っていました。

先ほど>>263さんのレスを読んで、もう一度MySQL Server Instance Config Wizard
と自分のJavaファイルをいじくって見ました。

「やさJava」では上記のウィザードでパスワードの設定を行わないものとし、セキュリティー設定の
可否のチェックそのものを外していたのですが、しっかりパスワードを設定し、Javaファイルも

String usr = "root";
String pw = "(パスワード)";

にしてみたら、コマンドラインからデータベースの内容を表示することができました。

ただ、不思議なのはこういったパターンも以前試したはずですし、Javaファイルを上の
ように修正する前にmysqlファイルのようなものが作業フォルダにいつのまにかできて
いるのを見て驚いたことです。それは削除しましたが。

JDBCドライバをあらゆるlibフォルダに絨毯爆撃してみるなど、ググってみつけたことを
次々と実行していったので、どれが決め手になったのやらorz

266 名前:デフォルトの名無しさん [2007/08/07(火) 01:51:37 ]
やさjavaを終わったら別の本をやれ


267 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 01:35:56 ]
やらしいjavaとか出版予定はないかな?

268 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 11:14:21 ]
やさしい心よりやらしい体って山本弘の小説のキャラが言ってた。


269 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 15:57:00 ]
他人のソースを読ませてもらって勉強してる初学者ですが
すごく違和感を覚える記述に出会いますた
これは常識的な(見習ってもいい)書き方なのか教えて下さい

こういうクラスがあって
public class Team {
// (中略)
private ArrayList memberList = new ArrayList();
public ArrayList getMemberList() { return memberList; }
// (中略)
}

別の場所でこうやってる
Team team2ch = new Team();
team2ch.getMemberList().add("茂名"); // ←
team2ch.getMemberList().add("擬古"); // ←
team2ch.getMemberList().add("志井"); // ←

getterを通じてメンバ変数の中身をいじる、というやり方は
Java(というかOO?)の世界ではありふれた手法なんでしょうか?
変だと思う俺の方こそ変で、認識改めた方がいい?



270 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 16:25:31 ]
場合によりけりだけど、個人的には getXxx っていう名前は微妙。
単なる memberList() だったら自分的には許容範囲かな。 teamFoo.memberList().add("bar"); とか。
でもまぁ、その程度なら memberList をそのまま公開するよりか Team#addMember を設けるべきでしょう。

標準ライブラリだと java.util.Map#keySet なんかがそれと似たものかもね。
ちょっと違って、Map の内部フィールドをそのまま返すわけでもないし、 add できなくて remove だけに制限されてるけど。

Map map = new HashMap();
map.put("A", "1");
System.out.println(map.get("A")); // → 1
Set set = map.keySet();
set.remove("A");
System.out.println(map.get("A")); // → null

271 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:32:30 ]
269です。回答ありがとうです

>でもまぁ、その程度なら memberList をそのまま公開するよりか Team#addMember を設けるべきでしょう。
やっぱそうだよね…
メンバになってるクラスをそのままreturnするのは
最初からpublicで宣言してるのとあんま違わないというか
カプセル化が壊れてるような気分になって…

Map系のkeySet()ってノーチェックでした
ハッシュキーの一覧が取れて元のハッシュにも(削除系だけ)連動するのか
勉強になりましたー

272 名前:デフォルトの名無しさん [2007/08/16(木) 01:12:41 ]
Tomcatがよく動かなくなるのですがどんな理由が考えられるでしょうか?
ディレクトリのファイルの内容を動いていた状態に戻しても、まだ動いてくれず弱っています。

273 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 01:33:01 ]
症状を必要かつ十分にもっと詳細に

274 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 02:39:21 ]
>>272
多分夏バテ
涼しい所で栄養をたっぷりとって休養しよう

275 名前:デフォルトの名無しさん [2007/08/16(木) 17:31:51 ]
>>273,274
レスありがとうございます。
特にconfディレクトリにルートディレクトリ名のxmlファイルを入れたり、そこのserver.xmlに記述を追加するとダメなようです。

で、自作の上配置したファイルを別の場所に保管してTomcatをアンインストール、再インストールを行いました。
実は再インストール、今回が最初じゃないんです。そんな事もあって伺ってみたかったんですが。まあ、面倒です。

276 名前:デフォルトの名無しさん [2007/08/17(金) 13:46:26 ]
どなたでもいいので答えてもらえないでしょうか。
おそらくとても初歩的な問いなのですけど、どう答えていいか分からなくて

Q1
以下の条件を満たす変数 count を適切な型で定義してください。
- 整数値のみ
- 範囲は 0 〜 32000




277 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 13:55:20 ]
候補としては int, short, unsigned int, unsigned short
「適切な」の解釈によるがintでいいんとちゃうの。

278 名前:デフォルトの名無しさん [2007/08/17(金) 14:00:59 ]
>>227
ですよね。私もそんな感じだと思ってはいたんですけど、
「適切な型で定義」って書いてあるのでどう答えていいか
分からず書き込んだのですが。

では答えとしては>>227さんの答えていただいた感じでいんですかね?

279 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 14:04:43 ]
int -2147483648 〜 2147483647
short -32768 〜 32767
unsigned int 0 〜 4294967295
unsigned short 0 〜 65535



280 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 14:06:04 ]
ってっこjavaスレだよな、、、

281 名前:デフォルトの名無しさん [2007/08/17(金) 14:10:46 ]
>>279
問題の
- 整数値のみ
- 範囲は 0 〜 32000
とはどういうことなんでしょうか?
範囲は0〜32000てことはint型の-2147483648〜2147483647
は該当するのでしょうか?
本当に低レベルな質問ですみません。勉強を始めて間もない者ですので。


282 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 14:23:42 ]
javaスレなのにunsigned はつられただけだけだけど、
まあその範囲が収まればいいんじゃない?
short も iont も範囲内だけど
適切な、というのが範囲内で最も近い、ということなら
short になるんじゃない?もちろん int も正解だろうけど

283 名前:デフォルトの名無しさん [2007/08/17(金) 14:30:26 ]
>>282
レスありがとうございます。
教材だけだと説明など書いてあっても、聞くことができないので
こういう場や答えてくれる方に感謝します。
ありがとうございました。

284 名前:デフォルトの名無しさん [2007/08/18(土) 19:11:44 ]
Web上から画像を読みこんで表示するGUIプログラムを作ろうと思っています。
java.net.*のHttpURLConnection()でなんとなくデータをダウンロードすることはできました。

ぐぐってたところ、画像を表示するためにjava.awt.Imageを使えばよさそうだと思ったのですが使いかたがわかりません。
サンプルコードか、参考になるページを教えていただけませんか

285 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 22:29:55 ]
java.awt.Toolkit と java.awt.Graphics

286 名前:デフォルトの名無しさん [2007/08/19(日) 00:01:21 ]
ありがと。精進します

287 名前:デフォルトの名無しさん [2007/08/23(木) 01:47:52 ]
例えばクラスAとクラスBがあるとします。クラスAである値を取得してそれを
クラスBで取得したい場合どうすればよいでしょうか?その値はstatic変数に
格納しないでpublicなアクセッサ(getter/setter)を使用したいです。現在JDeveloper
を使用して試行錯誤してますが、getterメソッドがstaticではありませんと
怒られています。


288 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 08:26:45 ]
staticなコンテクストからgetterメソッドを呼んでるからじゃん
javaをもう一度最初から勉強し直した方がいいよ

289 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 08:30:36 ]
A a = new A();
a,setFoo("hoge");

B b = new B();
b.setBaa( a.getFoo() );
こういうことがやりたいのか?



290 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 10:44:26 ]
それともBをAの集約クラスにして
Bが持っているAのインスタンスが取得した値を
Bのメソッドの中で使用したいってこと?
class B {
A a;
someMethod() { ... a.getter() ... }
みたいに
この場合A#getterがインスタンスメソッドなのに
someMethodがクラスメソッドならgetterがstaticじゃないって怒られる

291 名前:初心者 [2007/08/25(土) 10:01:12 ]
<PC環境> ★Windows Vista Home Premium, Eclipse3.2,
Tomcat5.0.28 //インストーラを使わずzipから展開,
C:\Program Files\Java\jdk1.5.0_07, C:\Program Files\Java\jre1.5.0_07

<環境変数>JAVA_HOME: C:\Program Files\Java\jdk1.5.0_07
Path: %JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

1. コンソール(cmd)からjavaもjavac も動く。
2. localhost:8080/でTomcatのトップページが表示される。そこからたどったJSPのサンプルは正常に作動。

<問題> だけど、Eclipseで自作したプロジェクト名sampleのsample/hello.jspは
localhost:8080/sample/hello.jspからは動かずに500エラーが出る。
hello.jspの中身は<%new java.util.Date()%>の一文だけ。

/* 500エラーの詳細
HTTPステータス 500 -
説明 The server encountered an internal error () that prevented it from fulfilling this request.
例外 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
原因 Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK */

なんとかhello.jspを表示させることはできませんか?
Vistaじゃできないのかな。勉強できない。超参った。

292 名前:初心者 mailto:sage [2007/08/25(土) 12:41:54 ]
環境変数CATALINA_HOMEにTomcatのルートディレクトリを指定したら動きました。
Vistaのせいではなかった…。修行が足りんね。

293 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 16:46:04 ]
文字列で指定したコマンドを実行するには、どうしたらいいでしょうか。

例えば、System.out.println()コマンドを実行したければ、

Runtime rt = Runtime.getRuntime();
Process ps = rt.exec( "System.out.println(\"hoge\")" );

のようにすればいいのでしょうか?

294 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 19:11:06 ]
System.out.println()はコマンドじゃない。

やりたいことによっては楽にできるが、
本当に System.out.println() を実行したいなら初心者レベルでは
無理。


295 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 20:31:24 ]
JRuby あたりからガツンとやったほうが楽なような気がしますー

296 名前:初心者 mailto:sage [2007/09/02(日) 12:46:00 ]
JSPやサーブレットをGUIで組めるようなエディタないですかね(ガイシュツ?)
エクリプスのvisualeditorだとSWINGとかしかできない希ガス・・

297 名前:デフォルトの名無しさん [2007/09/10(月) 01:50:41 ]
java6は出ましたか?

298 名前:デフォルトの名無しさん [2007/09/20(木) 15:40:48 ]
swingでpaintとpaintComponentがありますが、どこが違うのですか?
どちらもrepaintを呼び出すと実行されるので、違いは内容に思うのですが。



299 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 17:11:22 ]
paintは、まずpaintBorderを呼んで、次にpaintComponentを呼んで、最後にpaintChildrenを呼ぶ。

paintをオーバーライドすると、ボーダーと子コンポーネントが描かれなくなる。



300 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 17:57:18 ]
MyClass a,b,c;

a = new MyClass(); //インスタンス1
b = new MyClass(); //インスタンス2
c = a;
a = b;

としたときに、cはどのインスタンスになりますか。



301 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 18:04:27 ]
宿題?
インスタンス1

302 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 18:20:36 ]
>>301
宿題じゃないのですが助かりました。有難うございます。
Cのポインタへのポインタみたいな参照方法を調べていました。

privateなメンバクラスをコンストラクタ引数で渡して
他のクラスから参照するような事をしていたのですが、
スコープを広げて参照しないとダメですね。

303 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 23:53:45 ]
>>302
privateメンバの参照先を外部から
変えられちゃったらそもそもprivateの意味ないしねぇ。

それだったらsetterなり使って
適切な順序踏んで値設定するべきだと思うけど

304 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 00:34:48 ]
>Cのポインタへのポインタみたいな参照方法
a = new MyClass(new MyClassItem());
b = new MyClass(new MyClassItem());
c = new MyClass(a.getItem());
a.setItem(b.getItem());

setter/getterでコピー渡しをしない場合これでc.getItem() == b.getItem()になるはず
まあ普通はこんなコードは書かないけどw

305 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 00:43:48 ]
間違えた。
三行目c = a;か。

306 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 05:09:04 ]
FrameとPanelってどう使い分ければいいのでしょうか?
同じだとしか思えません。


307 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 07:51:05 ]
Frameの中にFrameは作ることはできないし、
Frameの外にPanelを作ることはできない。

308 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 10:18:19 ]
Frame⇒一番外側(枠付)
Panel⇒内部コンポーネント

基本的にFrameは1つだけ
中にPanelを組みあわせて配置する
そういうフレームワークになっているだけ

309 名前:デフォルトの名無しさん [2007/10/09(火) 02:05:25 ]
TreeSetの入れ子構造って可能なんですか?

つまり、
TreeSet<TreeSet<String>> tree = new TreeSet<TreeSet<String>>;

TreeSet<String> t = new TreeSet<String>();
t.add("a");
t.add("b");

TreeSet<String> v = new TreeSet<String>();
v.add("1");
v.add("2");

tree.add(t);
tree.add(v);


Exception in thread "main" java.lang.ClassCastException: java.util.TreeSet
という例外になってしまうのですが。



310 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 02:14:41 ]
>>309
TreeSetが.Comparableでないから無理

311 名前:デフォルトの名無しさん [2007/10/09(火) 02:48:21 ]
ありがとうございました。


312 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 23:58:22 ]
BufferedImageをプログラム上で印刷するにはどうしたらいいでしょうか。
javax.print というのがあるのは調べましたが、使い方がわかりません。

313 名前:312 mailto:sage [2007/10/10(水) 00:53:41 ]
自己解決しました。

314 名前:デフォルトの名無しさん [2007/10/13(土) 21:58:32 ]
多少筋違いの質問ですが、
最新のJDK6、Tomcat6.0と障害おこしませんか?OSはWindowsXP service pack2です。
ちなみに私、現在は前ヴァージョンの5.0を入れなおして使っております。

315 名前:デフォルトの名無しさん [2007/10/16(火) 10:38:38 ]
以下のプログラムの Blackbox を C=250 に変更させて
起動するにはどう修正したらよいか回答せよ。

public void main(String[] args){
 try{
  ServerSocket serverSocket = new Blackbox(55555);
  serverSocket.setSoTimeout(0);
  while(serverSocket!=null){
   Socket Blackbox = serverSocket.accept();
     ・
     ・
   socket.close();
  }
 }catch(IOException e)System.out.println(e);
}

316 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 12:03:05 ]
>>315
何様?

317 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 12:36:52 ]
宿題スレに行け

318 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 15:13:54 ]
スクリーンセイバーにあるような宇宙空間を作りたいのですが
一から始めるのは難しいので少しづつ弄って覚えようと思ってます。
どこかにソースを公開してるサイトがありましたら教えてくれませんか?

319 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 16:20:25 ]
あれって単に、白い点を少しずつ大きくしながら、画面中央から端に向かって動かしてるだけじゃないか?
3次元的な処理は何もないから簡単そうだ



320 名前:デフォルトの名無しさん [2007/10/16(火) 19:15:27 ]
学校で↓のクラスを使ってプログラムを作らなければいけないんですけど
考えてみたんですがわかりません。どなたか教えてください。

public class SimpleAdder3 {

public int add(int x, int y) {   ←x = 10, y = 20
return x + y;
}

public double add(double x, double y) { ←x = 0.5, y = 0.6
return x + y;
}

}

321 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 19:17:28 ]
>>320
どこまでを考えて、どこからが分からないの?

322 名前:デフォルトの名無しさん [2007/10/16(火) 19:19:06 ]

クソの集まり創価学会

偽善者が政治活動、公明党

ネズミ講、騙されバカ信者、池田犬作チョン大教祖様、さっさと死ねや

323 名前:デフォルトの名無しさん [2007/10/16(火) 19:30:12 ]
pc11.2ch.net/test/read.cgi/tech/1172285649/320

class SimpleAdder3Usage {

public static void main(String[] args) {
SimpleAdder3 s;
s = new SimpleAdder3()

ここら辺まであってますか?

324 名前:デフォルトの名無しさん [2007/10/17(水) 07:43:53 ]
>>323
メソッドのオーバーロードは古いヴァージョンでは戻り値が同じ型を要求するので注意が必要。
ここ数年のヴァージョンなら君が書いたように戻り値が異なっていてもOK。
ただし、えてしてメソッドをオーバーロードする意味がある場合は少ないといえる。皆無と言っていい。
オーバーロードはコンストラクタ用の技と割り切る事を薦める。

なので、ここではメソッド名を変えておいた。(インデントはちゃんとやる事。)

class SimpleAdder3 {

public int add(int x,int y){
return x + y;
}

public double add2(double x, double y) {
return x + y;
}

}
public class SimpleAdder3Usage {

public static void main(String[] args) {
SimpleAdder3 s;
s = new SimpleAdder3();
System.out.println(s.add(10,20));
System.out.println(s.add2(0.5,0.6));

}
}

325 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 08:50:21 ]
>>323
s.add(10,20);って感じで値が取れるからそれを出力すればおk

>>324
プリミティブ型ごとにオーバーロードすると、呼び出しをしたときにキャストとか接尾子とかで汚くなることがあるからな。
俺だったらaddInt、addDoubleって名前付けるけどな。

ま、↓のクラスを使ってって書いてあるから突っ込まなかったんだが。
それだったらaddをstaticメソッドに変えてSimpleAdder3.addInt(10 ,20);とかにしちゃうけど、
これは課題で求められているものではないだろうな。

326 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 15:55:44 ]
>>319
できましたが、
点を2個以上に増やすとすべて同じ動きになってしまいますorz

public class Anime_2 implements Runnable{
Anime_1 an;
public Anime_2(Anime_1 an){
this.an=an;
}
public void run(){
while(an.circle_x<200){
try{
Thread.sleep(200);
an.circle_x=an.circle_x+4;
an.circle_y=an.circle_y-1;
an.repaint();
}
catch(InterruptedException ie){
}
}
}
}

点が一つの場合はこういう風に記述しました。
circle_x2とcircle_y2を追加して式も記述したのですがダメでした。。。


327 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 16:14:14 ]
点を2個以上に増やしたソースも出せばどこが悪いか指摘もできる
同じ動きっていうことから推測するとxyの移動量を+4とか-1とか決め打ちにしてるからじゃないのか

328 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 16:54:50 ]
>>326
画面外に逃げていくような方向で、
大きくなるにつれて速くしていけばいい

329 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:15:00 ]
3次元でランダムに星をばらまいたデータ作って視野面に投影した方が簡単そう



330 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 06:47:29 ]
フレームをバックグラウンド(非アクティブ)にした状態でマウスイベントの取得はできますか?
できるならばその手法について教えてください‥どこを探しても載っていないので本当に実現できるか心配でorz

331 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 20:06:27 ]
jdk-6u3-windows-i586-pをインストールして、pathを通そうと思ったんですけど、
通りません。自分のシステム環境変数は path=c:\usr\local\bin;c:\gs\gs7.07\bin;%SystemRoot%;%SystemRoot%\system32;%SystemRoot%\wbem;c:\gs\gs7.07\lib;c:\dviout;C:\Program Files\
QuickTime\QTSystem\;%JAVA_HOME%\bin;
classpath=ip;.;C:\Program Files\QuickTime\QTSystem\QTJava.zip;.;C:\Program Files\Java\jdk1.6.0_<version>\lib
QTJAVA=C:\Program Files\QuickTime\QTSystem\QTJava.zip
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_<version>
となっています。コマンドプロンプトでjavacとうってもバッチファイルとして認識できませんと出ます。
アドバイスください。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<302KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef