【初心者】Java質問・相談スレッド79【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/01/11(水) 15:23:13質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。
・内部クラスから外部クラスのローカル変数は使えない。他の方法を考えろ。
前スレッド
【初心者】Java質問・相談スレッド78【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1135217569/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりでお願いしまする。
0002デフォルトの名無しさん
2006/01/11(水) 15:32:49同じディレクトリ内にあるjavaプログラムの実行はできたけど、
他のディレクトリ内にあるjavaプログラムを実行させるにはどうしたらいいのでしょうか?
同じディレクトリ内のプログラム実行は以下の記述でできました。
Runtime r = Runtime.getRuntime();
Process proc = r.exec("java test");
例えば「C:\java2」のディレクトリ内にあるtest.javaを実行するには上記のを
どうかえればいいのか教えてください。
0003名無し募集中。。。
2006/01/11(水) 16:58:5500042
2006/01/11(水) 17:14:54っていうのを見て色々やってたんですが、
String[] envp の部分の書き方がわからないんです。
これ環境指定しなくてもできるんですか?
0005名無し募集中。。。
2006/01/11(水) 17:18:050006名無し募集中。。。
2006/01/11(水) 17:18:57ProcessBuilder#directory(File)で設定すればよい
0007デフォルトの名無しさん
2006/01/11(水) 18:20:57とくになければNULLでええのちがうか
0008デフォルトの名無しさん
2006/01/11(水) 18:27:170009デフォルトの名無しさん
2006/01/11(水) 18:56:00ログファイルのように最後に付け足すのではなく
1行目に挿入するようにするのはどうするのでしょう?
行数が少ないほど新しい、多くなるほど古くなる
といった感じに書き込みをしたいのですが
(Webチャットのログみたいな感じ)
0010デフォルトの名無しさん
2006/01/11(水) 19:24:11同じ画面内で、検索条件を入力して検索実行⇒検索結果を表示させる
といった場合に、サーバー側では、ビーンに対して、検索結果、
つまり今回の処理で画面上で上書される項目のみをビーンに設定したいです。
しかし、単に空っぽのビーンに検索結果を設定しただけでは、
アクション後の画面で検索条件が空のまま表示されてしまう。
それを回避するために、以下の様な実装を行っています。
・jspでは、検索条件をサーバーに送信する。
・コントローラでは、検索条件をマッピングしたビーンを生成し、アクションクラスにビーンを渡す。
・アクションクラスでは、ビーンに検索結果のみを追加する。
この仕組みでうまくいっていたのですが、新たな問題が発生しました。その内容は
1画面内で検索ボタンが2:検索結果2という画面を作成しなければいけません。
現状の仕組みだと検索ボタン�Aが押下された時に、
検索条件�@、検索条件�Aはそのまま残り、検索ボタン�Aも表示されるんですが、
検索結果�@が消えてしまう。
検索結果�@はコントローラ⇒アクションクラスに渡すビーンにマッピングをとっていない為です。
これを回避するために、検索結果もサーバに送信し、
コントローラ⇒アクションクラスにビーンを渡す際に、検索結果もマッピングをとる
(つまり、コントローラー側で現状の画面全ての状態を記憶したビーンを生成する)
ようにしたいと思います。
jspで検索結果(入力フォーム部品ではなく、通常のテキスト)をサーバに送信するにはどうしたらいいでしょうか?
それとも他の回避方法はありますか?
(ビーン丸ごとjspからサーバーに送るとかできるんですか?)
0011デフォルトの名無しさん
2006/01/11(水) 19:29:541画面内で検索ボタンが2:検索結果2という画面を作成しなければいけません。
現状の仕組みだと検索ボタン�Aが押下された時に、
検索条件�@、検索条件�Aはそのまま残り、検索ボタン�Aも表示されるんですが、
検索結果�@が消えてしまう。
検索結果�@はコントローラ⇒アクションクラスに渡すビーンにマッピングをとっていない為です。
これを回避するために、検索結果もサーバに送信し、
コントローラ⇒アクションクラスにビーンを渡す際に、検索結果もマッピングをとる
(つまり、コントローラー側で現状の画面全ての状態を記憶したビーンを生成する)
ようにしたいと思います。
jspで検索結果(入力フォーム部品ではなく、通常のテキスト)をサーバに送信するにはどうしたらいいでしょうか?
それとも他の回避方法はありますか?
(ビーン丸ごとjspからサーバーに送るとかできるんですか?)
0012デフォルトの名無しさん
2006/01/11(水) 19:37:47もう結論出てるじゃん。
0013デフォルトの名無しさん
2006/01/11(水) 19:40:17通常テキストとして表示させておいて、
裏でhiddenとして持たせてサーバーに送信する、ということでしょうか?
hidden書かないで、通常テキストをサーバーに送信することはできないんでしょうか?
0014デフォルトの名無しさん
2006/01/11(水) 19:45:190015デフォルトの名無しさん
2006/01/11(水) 19:48:55セッションにデータをおいた場合、
ブラウザの戻る/進むボタンを使用された場合に、
動きがおかしくなりそうです。
アクション時の画面状態と違うデータを使用してしまう可能性が。。。
0016デフォルトの名無しさん
2006/01/11(水) 19:56:39新しいファイルに一行書いて、そこに古いファイルを付け足す
0017デフォルトの名無しさん
2006/01/11(水) 20:02:59仕様と実装しだい
そもそもあの長文をわかりやすく短くまとめれるかどうかがまず問題
あんなドキュメント仕事で出されたらやりなおしだよ
0018デフォルトの名無しさん
2006/01/11(水) 20:10:45そんなに怒るなって。
長く書いたのかないと質問の背景を勝手に推測されて、
質問と関係のない答えが返ってきたりするもんでして。
0019デフォルトの名無しさん
2006/01/11(水) 20:12:460020デフォルトの名無しさん
2006/01/11(水) 20:12:57できるのかできないのかYes or Noの質問なのにね。
0021デフォルトの名無しさん
2006/01/11(水) 20:14:36君も知識と読解能力を身に着けるように。
0022デフォルトの名無しさん
2006/01/11(水) 20:17:140023デフォルトの名無しさん
2006/01/11(水) 20:21:45見えた。
やり直しとか言われるとねー
0024デフォルトの名無しさん
2006/01/11(水) 20:23:10通常テキストとして表示させておいて、
裏でhiddenとして持たせてサーバーに送信する、ということでしょうか?
hidden書かないで、通常テキストをサーバーに送信することはできないんでしょうか?
この答えは?
分からないなら分からないって言ってくれ、それで諦めがつく。
0025デフォルトの名無しさん
2006/01/11(水) 21:07:18そのままの主旨で話つづけたいなら、
Javaの話じゃないんで他所でやってね。
まぁそうだな、通常テキストと同じように見えるように
うまくCSSを書いて<input type="text">並べれば良いんじゃない?
これならhidden使わないけど、どお?
これ以上はもうホントに他所でやってね。
>それとも他の回避方法はありますか?
Javaの話で回避方法考えるなら
セッション使うのが1番に挙げられるだろうけど、
>>15で却下されちゃってるしねぇ。
0026デフォルトの名無しさん
2006/01/11(水) 21:45:340027デフォルトの名無しさん
2006/01/11(水) 21:54:000028デフォルトの名無しさん
2006/01/11(水) 22:26:39出ました
出ました
出ました
釣り宣言
0029デフォルトの名無しさん
2006/01/11(水) 22:45:11HTTPのPOSTについて勉強しよう
0030デフォルトの名無しさん
2006/01/11(水) 22:55:440031デフォルトの名無しさん
2006/01/11(水) 23:09:03クラスをインスタンス化ではなく、実態のないインターフェースをインスタンス化させて
そのインターフェースがそれぞれ自分を実装している
クラスのメソッドを見に行くって感覚?
つまりその事で振る舞いがクラスの自由に出来る
でも、それだと
どのクラスが自分(インターフェース)を実装してるのかってわかるの?
0032名無し募集中。。。
2006/01/11(水) 23:13:180033デフォルトの名無しさん
2006/01/11(水) 23:59:57分からなかったので質問です。
コンパイルしたのちプログラムを実行しても
下記のようなエラーが出て実行できません。
Exception in thread "main" java.lang.NoClassDefFoundError
ソースはまず間違いがないと思います。↓
public class SampleD1L3 {
public static void main(String args[]) {
System.out.println("はじめてのJavaアプリケーション");
}
}
環境変数の設定も間違ってないと思いますし、なぜ実行出来ないのか
どうしても分かりません。ご親切な方教えて頂けませんか?
0034& ◆R7PNoCmXUc
2006/01/12(木) 00:02:400036デフォルトの名無しさん
2006/01/12(木) 00:12:09このスレIDないんですね。
0037デフォルトの名無しさん
2006/01/12(木) 00:26:00static int d=10;
static void meth(){
System.out.println(d);
}
}
class Sub extends Super{
static double d=30.0;
static void meth(){
System.out.println(d);
}
}
class InstanceChk {
public static void main(String[] args) {
Super s = new Sub();
System.out.println(s.d);
s.meth();
}
}
0038デフォルトの名無しさん
2006/01/12(木) 00:27:32static int d=10;
static void meth(){
System.out.println(d);
}
}
class Sub extends Super{
static double d=30.0;
static void meth(){
System.out.println(d);
}
}
class InstanceChk {
public static void main(String[] args) {
Super s = new Sub();
System.out.println(s.d);
s.meth();
}
}
上のコードでは10 30.0 下のコードでは10 10が
出力されます。javaを1ヶ月やってみたのですがどうしても
わからないのです。ご教授ください。
0039デフォルトの名無しさん
2006/01/12(木) 00:28:20int x = e.getX() ;
int y = e.getY() ;
bd.p1.set(x , y);
repaint();
}
画面上でクリックした座標を、
Interfaceで共通化したプレイヤーのp1クラスに投げsetメソッドを呼びたいのですが、
うまくいきません。一体どの辺りに問題があるのでしょうか・・
コンパイルは通りますが、クリックするとコンソールに以下のエラーが吐かれます
↓(最初の2行)
「thread "AWT-EventQueue-0" java.lang.NullPointerException
at BP.mouseClicked(BP.java:460)」
004038
2006/01/12(木) 00:30:37004138
2006/01/12(木) 00:32:47class Super{
int d=10;
void meth(){
System.out.println(d);
}
}
class Sub extends Super{
double d=30.0;
void meth(){
System.out.println(d);
}
}
class InstanceChk {
public static void main(String[] args) {
Super s = new Sub();
System.out.println(s.d);
s.meth();
}
}
0042デフォルトの名無しさん
2006/01/12(木) 00:34:08たとえば、二つの実装
Collection aCollection = new ArrayList();
aCollection.add(newElement);
-----------------------------------------------
Collection aCollection = new HashSet();
aCollection.add(newElement);
このとき、別にCollectionというインターフェースが、
ArrayListやHashSetのaddメソッドを見つけにいっているわけではない。
インターフェースはあくまで、aCollectionと言う変数が参照している
オブジェクトに特定のシグニチャのメソッドが存在することを保証する
ためのもの。(例ではadd()というメソッドが保証されている)
逆に、シグニチャが保証されているっていうことは、そのシグニチャの
メソッドを呼び出している限り、相手先がどのクラスのインスタンスで
あるかは関係なく、好きなように変えられるってのがメリット。
たとえば、集合に対する操作をインターフェースとして定義しておけば
・集合に要素を追加する
・集合から要素を取り除く
・集合の要素数を調べる
構造が異なる集合であっても、上記の操作は自由に行える
・重複を許さない集合
・重複を許す集合
インターフェースではなく、抽象クラスでも同様なことは実現不可能ではないけどね。
0043デフォルトの名無しさん
2006/01/12(木) 00:34:27エスパーに対する挑戦かと思った
static はオーバライドできない
004438
2006/01/12(木) 00:35:09出力されます。javaを1ヶ月やってみたのですがどうしても
わからないのです。ご教授ください。
004538
2006/01/12(木) 00:44:53気づきませんでした。
あと参照変数の型ですがSuperだとなんでスーパークラスの
フィールドをつかうのでしょうか。Subにすると当然なのかもしれませんが
型をかえただけで30.0 30.0となります。
0046デフォルトの名無しさん
2006/01/12(木) 00:47:02ちなみに>>37のコード
Super s = null;
System.out.println(s.d);
s.meth();
としても、NullPointerExceptionはスローされません。
staticメソッドやstaticフィールドを参照する場合、
変数の型は評価されますが、変数の中身までは評価されません。
そんなわけで、staticなメソッドはフィールドを扱うときは
クラス名.メソッドやクラス名.フィールド名
とした方がバグが少なくなります。
Super.dやSuper.meth()ってことね。
>>45
フィールドはオーバーライドできません。
従ってs.dとやると、Superクラスの変数dが参照されます
0047デフォルトの名無しさん
2006/01/12(木) 00:54:38同名のインスタンス変数がある場合、intが優先されるから
004838
2006/01/12(木) 00:55:1110 10とでました。理由がよくわかりません。
入門書よく読んでるつもりだったのですが。べんきょう不足のようです。
0049デフォルトの名無しさん
2006/01/12(木) 00:55:16Super s = new Sub();
System.out.println(s.d);
はSuperクラスのdを参照して
Sub s = new Sub();
System.out.println(s.d);
はSubクラスのdを参照するってことね
0050デフォルトの名無しさん
2006/01/12(木) 01:01:54staticなメソッドやフィールドは変数でアクセスするのは禁止になってるのさ
クラス名.メソッドとしてアクセスする癖をつけること
0051デフォルトの名無しさん
2006/01/12(木) 01:04:08staticなメソッド・フィールドを参照している>>38のコード
Super s = new Sub();
System.out.println(s.d);
s.meth();
これは下のコードと同値になります
Super s = new Sub();
System.out.println(Super.d);
Super.meth();
つまり、staticなメソッドやフィールドを参照するときは
変数の中身までは評価されないってことです
→クラスメソッド、クラスメソッドと言われているとおり、
どのクラスに属しているかだけが重要になっています。
変数sがSubのインスタンスを参照していても、
>>48で試されたとおり、null参照となっていても
変数sの型(クラス)はSuperですよね?
0052デフォルトの名無しさん
2006/01/12(木) 01:15:52ttp://www.amazon.co.jp/exec/obidos/ASIN/4894716895/
おれJavaよく知ってるぜ、って方も「へぇ」って思うこと結構かかれてます。
005338
2006/01/12(木) 01:42:33やっと取れそうです
>staticなメソッドやフィールドは変数でアクセスするのは禁止になってるのさ
禁止だったのですか、eclipseにオレンジの下線はいってましたが、あれはそういう意味なのかな。
コンパイルできてたから問題ないと思ってました。
>→クラスメソッド、クラスメソッドと言われているとおり、
どのクラスに属しているかだけが重要になっています。
変数sがSubのインスタンスを参照していても、
>>48で試されたとおり、null参照となっていても
変数sの型(クラス)はSuperですよね?
これはすごい参考になりました。つまりクラス名.メソッド名
と参照変数でs.メソッド名は同じ意味だったんですね。
つまりSuperのs変数が参照してるってことでしょうか。
参照先ばかり気になってました。
ありがとうございましたm(__)m
005438
2006/01/12(木) 01:59:01Superのs.meth()が実行されて、
デフォルトだとその内容まで評価されて、サブクラスのメソッドが
使われてるようにみえるということなのでしょうか。
フィールドにはオーバーライドのようなものはないってことですよね。
まちがってたらすいません。頭を整理してるところです。
0055デフォルトの名無しさん
2006/01/12(木) 02:10:00ありまして、static を付けているものの場合は静的な型のものが使われるというだけです。
Super s = new Sub(); とした場合、s の静的な型は Super で動的な型は Sub ですから
static void meth() の場合は Super のが、void meth() の場合は Sub のが使われます。
0056デフォルトの名無しさん
2006/01/12(木) 02:11:33>staticつけるとオーバーライドされた内容までひょうかされず、
static やフィールドは、オーバライドされない。
同名のモノを使った場合は、裏に隠れるだけ。
だから、明示的にスーパクラスを指定すれば表に出てくる。
>staticなメソッドやフィールドは変数でアクセスするのは禁止になってるのさ
言語仕様上は禁止にはなってない(利点は全くないと思われるが)。
まあ、「便所の落書き」だし、釣りも少なくない。信用するのも own risk ということで
0057デフォルトの名無しさん
2006/01/12(木) 02:13:36オーバロードの場合は常に静的な型によってメソッド呼び出しが決まります。
public class Test {
static void meth(Test t) { System.out.println("Test"); }
static void meth(Object o) { System.out.println("Object"); }
public static void main(String[] args) {
Object o = new Test(); Test.meth(o); // Object と表示される。
}
}
0058デフォルトの名無しさん
2006/01/12(木) 02:29:00ちょっと、長文ですが読んでみてください。
�@staticなフィールドやメソッドにアクセスすることについて
変数(sのこと)でstaticのメソッドやフィールドを参照するのは、
禁止されているわけではありません。
クラスに属するという意味は、個々のインスタンスに関連付けされていないということ。
言い換えると、全てのインスタンスで共通のフィールド(メソッド)という意味です。
なので、クラスに属しているフィールドやメソッドを、インスタンスが格納されている変数で
参照するのは考え方が違いますよ!クラス名で参照して下さい!ってeclipseに警告されているだけです。
�Aスーパークラス/サブクラス間のフィールドやメソッドについて
スーパークラスと同じシグネチャ(メソッド名と引数の型と引数の順番のこと)を持つメソッドを
サブクラスで定義することをオーバーライドと呼びます。
「オーバーライド = 上書き」と思って下さい
スーパークラスと同名のフィールドをサブクラスで定義することを
オーバーライドとは呼びません。隠蔽と呼びます。
「隠蔽 = 隠しているだけ」と思って下さい。
なので、>>41 の例で説明すると
Super s = new Sub(); <-- 型はSuperでもインスタンスはSubを参照
System.out.println(s.d); <-- 隠蔽されているSuperのインスタンス変数dを参照
s.meth(); <-- 上書きされているSubクラスのインスタンスメソッドmeth()を参照
以上です。少しでも理解につながれば幸いです。
005958
2006/01/12(木) 02:56:07�B>>54について
staticなメソッドはオーバーライドされません。また、>>58の�@でも説明したとおり、
staticは個々のインスタンスには関連しません。
さらに言い換えると、staticを参照するにはインスタンスは無くても構わないということです。
つまり、以下のコードの1行目は必要無いということです。
1行目: Super s = new Sub();
2行目: System.out.println(Super.d);
3行目: Super.meth();
以上です。理解できました?
006038
2006/01/12(木) 03:15:240061デフォルトの名無しさん
2006/01/12(木) 04:32:11wikiのページを読んで、Javaでは参照渡しが
出来ないという事はわかったのですが、その場合、
引数に渡す値に参照値を入れるにはどうしたらいいでしょうか。
Object A;
method( A );
void method(Object a) {
Object b = new Object();
a = b;
}
このようなコードを書いたのですが、これでは引数として渡す値Aには
bの参照値を入れられません。どのようにしたらいいでしょうか。
低レベルな質問かもしれませんが、よろしくお願いいたします。
0062デフォルトの名無しさん
2006/01/12(木) 07:42:00void method(RefA ref) {
Object b new Object();
ref.A = b;
}
0063デフォルトの名無しさん
2006/01/12(木) 08:41:510064デフォルトの名無しさん
2006/01/12(木) 08:52:02内容を取ってくるメソッドを作りたいのですが
どのようにやればいいのでしょう?
ご教授願います
0065デフォルトの名無しさん
2006/01/12(木) 09:01:270066デフォルトの名無しさん
2006/01/12(木) 10:16:30動画を再生しながらその上に文字を表示するにはどうすればいいでしょうか?
0067デフォルトの名無しさん
2006/01/12(木) 11:28:31事実上の禁止だろ
そんなバグ出してくださいよというコード書くところに仕事はださん
null代入並みのおろかなことだ
006838
2006/01/12(木) 11:47:31学校があるので寝てしまいました。60は私ではありません。
ご指導ありがとうございます。家に帰ったらゆっくり見たいと思います。
0069デフォルトの名無しさん
2006/01/12(木) 12:45:59Object[] A = new Object[1];
method( A );
void method(Object[] a) {
Object b = new Object();
a[0] = b;
}
で、上の関数外ではA[0]で扱うとか、ワンクッション置くようにすれば。。。
0070デフォルトの名無しさん
2006/01/12(木) 12:58:480071デフォルトの名無しさん
2006/01/12(木) 12:59:40(疑問自体が変というのであれば申し訳ありません…)
ttp://www.javanews.jp/javap/newsletter017.html
の「DB2 向けの JDBC の最適化」の章(※)で、
| カラムのメタデータを取得するために getcolumns() メソッドを使うよりも、
| ダミーのクエリを使いましょう。
とあるのですが、これはなぜなのでしょうか?
ダミーのクエリの場合、一つもレコードが無いと実行出来ない気もするのですが...
(※)文中の原文のリンクが切れていますが
ttp://web.archive.org/web/20030113090231/www.sys-con.com/java/article2a.cfm?id=725&count=1745&tot=11&page=2
で閲覧できるようです。が、こちらを見ても決定的な理由というのが今ひとつ…単に英語が読めてないでしょうが。
0072デフォルトの名無しさん
2006/01/12(木) 13:11:45DBごとの最適化の話はDB板へいったほうがいいかと
でも実際通常1以下のクエリ出すほうが早いね
DatabaseMetaDataからの取得でカラムの名前覚えてるやつはそうそういないし
結果セットで受け取るためにコンパイルエラーにならんし
0073デフォルトの名無しさん
2006/01/12(木) 13:29:30やっぱり速度面なのですかね...
と、データベース板を見落としていました。有り難うございます。
0074デフォルトの名無しさん
2006/01/12(木) 13:34:11DatabaseMetaDataはDB管理ツールを作る場合に使うが
実際の運用ベースではResultSetMetaData使ったほうがいいとか
0075デフォルトの名無しさん
2006/01/12(木) 14:14:25そういうもんだと思えばいいんじゃ?
getColumnsだとたぶん実装はDB2のデータディクショナリ(システムテーブル)を問い合わせてカラム情報を
取得してると思うけど、それより、ダミーの問い合わせの方が早いってことでいいんじゃ??
DB2やJDBCの内部の実装をしってる人が言ってるのかわからんが、
余り悩んでもね。
0076デフォルトの名無しさん
2006/01/12(木) 14:22:38ほとんどの実装で遅いのは普通
ま、それがネックになるような場所ってあんまりかんがえられないけどな
0077デフォルトの名無しさん
2006/01/12(木) 14:40:00おお…ありがとうございます。その理由で納得出来そうです。
仰るとおり実際に問題やネックとして悩んでいるわけでは全くありません。
お呪い程度として捉えておきます。
0078デフォルトの名無しさん
2006/01/12(木) 14:40:57フィルタ条件があっても、まさか、全レコードをDBから取ってきて
「DB2側」でフィルタかけるわけじゃないでしょ?
フィルタ条件に指定された条件のSQL文を組立てて最小限のデータとってきてるはずだよね?
まぁ、組み立てる分もちろん遅くなるわけだが。
まぁ、ResultSetMetaDataの方が早いとは思う。
通常、クエリー発行すれば、データとともに、カラム情報も入ってくるわけだし、
ネットワークトラフィックも余りかからんと思うけど、
そこまで、差が現れるのかが謎だ。
0079デフォルトの名無しさん
2006/01/12(木) 14:42:18差がでるかわからんけど。
0080デフォルトの名無しさん
2006/01/12(木) 14:43:48ResultSetMetaData から取ればいいので別にダミーのクエリの
結果レコードが無くても構いませんね。すみません。実際取得できました。
ダミーのクエリはどうすんのって話(↑では全部 SELECT してみましたが)はありますが。
0081デフォルトの名無しさん
2006/01/12(木) 14:46:28あ、ありがとうございます。
非常に貧相な測定ですが、実際試したところ誤差のレベルでした。少なくとも私の用途的には。
0082デフォルトの名無しさん
2006/01/12(木) 14:46:40ダミーのクエリは例えば、絶対に存在しないようにクエリーを組み立てる。
例えば、主キーの列Aがあって、絶対0以上なら、
select * from table where a = -1とか。
まぁ、工夫してくれ。
0083デフォルトの名無しさん
2006/01/12(木) 14:50:37リミット設定しなくてもたとえばFIRST_ROWSのようなヒントでも
最初の1件だけを高速に返すとかでもいいかもしれんし
インデックスがあるなら1件も返されないとすぐに分かるのをかくとかいくらでもね
カラム情報を積極的に利用したいのであればDatabaseMetaDataを使う
とにかくSQLを発行後、カラム名を自動で取得してループで処理させたいなら
ResultSetMetaDataを使う
この2択でいいんでね?
0084デフォルトの名無しさん
2006/01/12(木) 14:57:55>>82
なるほど。セオリーはそうなのですね。
今回は対象のテーブル構成が事前に分かってないので、>>83 さんの言うような
制限する形にしようと思っています。FETCH FIRST 1 ROWS ONLY と付けたのみですが...
0085デフォルトの名無しさん
2006/01/12(木) 18:03:36Object A;
A = method();
Object method() {
Object b = new Object();
return b;
}
これじゃ、だめかい?
0086デフォルトの名無しさん
2006/01/12(木) 18:37:53eclipse3.0を使ってます。
JSPからPOST送信でサーブレットを呼び出すにはどうすればよいのでしょうか?
現在普通に<form>に記述しています。
web.xmlを書かないとだめなんでしょうか?
ちなみに、プロジェクト名はkeijiban、パッケージ名もkeijiban
ファイル名はbbs.jspとBbsMain.javaです。
お願いします。
0087デフォルトの名無しさん
2006/01/12(木) 18:46:530089デフォルトの名無しさん
2006/01/12(木) 19:48:03%TOMCAT_HOME%\conf\web.xmlに
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
…
<init-param>
<param-name>javaEncoding</param-name>
<param-value>Windows-31J</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
のように書いたりしたのですがなおりません。
ただ同じようにJava 1.4.2とTomcat4.1をいれている別のPCでは文字化けしていないので、
%TOMCAT_HOME%\conf\のservlet.xmlやweb.xmlをそれと同じにしたのですが、それでもなおりません。
自分のPCのJava 1.4.2かTomcat4.1かどこかの設定がおかしいのだと思うのですが、見当が付きません。
ご教授願いたします。
0090SWT
2006/01/12(木) 19:54:37javaアプレットでJFrameからJFrameを実行することが出来るのですが、
JLabelで画像を載せると実行できなくなります。
JFrameから新たなJFrameをたちあげそこに画像を載せるには
どうすればよろしいでしょうか?
0091デフォルトの名無しさん
2006/01/12(木) 20:14:44例:データをtextエリアに入力
↓
ボタンを押す
↓
DBに追加登録される
よろしければご教授お願いします m( __ __ )m
0092名無し募集中。。。
2006/01/12(木) 20:24:53実行できなくなるってどういうことか詳しく書け
0093SWT
2006/01/12(木) 20:34:39説明不足で申し訳ないです。
ActionEventでJFrameが立ち上がるようにしているのですが、
JLabel img = new JLabel(new ImageIcon("ファイル名"));
の一文を加えるだけで立ち上がらなくなってしまいます。
なぜでしょうか?
0094デフォルトの名無しさん
2006/01/12(木) 20:38:110095SWT
2006/01/12(木) 20:39:11どうしても必要な作業なんです。
0096デフォルトの名無しさん
2006/01/12(木) 20:41:19>>62>>63>>69>>85
レスありがとうございます。
返り値で取得するのが最も自然なのでしょうが、
返り値ではこのメソッドの成否を返す必要があるのでそれはできず、
ケータイ用アプリなのでできれば新たなオブジェクトを作成せずに、
かつエレガントに取得できないものかと思ったのですが、
良い方法はないのかもしれませんね。諦めました。
いろいろとアドバイスしていただき、ありがとうございました。
0097デフォルトの名無しさん
2006/01/12(木) 20:41:47しかもあっちのスレでは返信なしだし
0098デフォルトの名無しさん
2006/01/12(木) 20:44:18成否は null が返るかどうかで判定すれば?
null が返ったら失敗、それ以外は成功とか。
0099デフォルトの名無しさん
2006/01/12(木) 20:46:23set CLASSPATH=%CLASSPATH%;.
でクラスパスを設定すると、コマンドプロントを開く度に再setしないといけないみたいなので、
ウィンドウズのプロパティから環境変数を開き、CLASSPATHに直接登録しようと思ったのですが、
その書き方がわかりません。
Wikiに環境変数の書き方について書かれているリンクを見つけたのですが、リンク切れでした。
ぐーぐる先生に聞いてみたのですが古いバージョンのものなのかJ2SDK1.4.2_10にはありませんでした。
C:\java\にclassファイルを置いているのですがどうすればいいでしょうか。
0100デフォルトの名無しさん
2006/01/12(木) 20:56:22■ このスレッドは過去ログ倉庫に格納されています