【初心者】Java質問・相談スレッド71【大歓迎】
2 :
デフォルトの名無しさん:2005/09/06(火) 18:12:00
2 get
超余裕の 2 ゲト
orz
早速の質問。
こないだPGの友人と飲んでる時に色々Javaの事話したんだけど
(自分はかじった程度で友人は2年くらいjava経験)
友達Aの会社はWeb開発時ほとんどJSPのみで作ってて
友人Bの会社はサーブレットかStrutsを使って作ってる。
ここで友人二人が論議。
AはJSPで何でも出来るからJSPだけの開発でもいいと言い張る。
BはJavaの基本はMVCだから保守面とかも考えてMVCで作るべきだと言い張る。
自分はかじった程度なので聞いてるだけだったけどその場で決着は付かず。
んで疑問に思ったんだけど・・・
1.JSPだけで開発するメリット・デメリット
2.サーブレットで開発するメリット・デメリット
3.Strutsで開発するメリット・デメリット
って色々考えたんだけど(ググってもみた)JSPだけの開発は
小規模なら開発が容易とかコンパイルの必要ないとかしか浮かばない。
デメリットはロジックとHTMLが混在しているから見難いし、保守しづらい。
位しか思い浮かばない。
そこで百戦錬磨のみんなに質問。上にあげた各3項目のメリット・デメリットって他にない?
経験してないと分らない部分があると思うからそこを聞きたいです。
よろしくお願いします。
6 :
デフォルトの名無しさん:2005/09/06(火) 18:57:50
>>5 フレームワークは習得に多少の時間がかかる
フレームワークを使うことによりある程度の共通化が出来る
>>6 早速のレスありがとうございます。
フレームワークはumLautを使用した事ありますが中身はサッパリなので
勉強が必要ですね。
一番興味を持っているのはJSPだけの開発とサーブレットを使った開発で
JSPで出来るならJSPでもいいと言う友人の発言です。
素人の見た目ではサーブレットの方が保守性に優れ、MVCモデルによって
どこで何をやっているかが明確になる事かなぁと思っています。
ほかにもJSPだけの開発でのデメリットってないですか?
質問してばかりですがよろしくお願いします。
適材適所
缶詰開けるのに日本ブレイク工業呼ぶ奴は莫迦
富士山登るのにサンダル履いて来る奴も莫迦
9 :
デフォルトの名無しさん:2005/09/06(火) 19:37:20
だが、さすがにJSPの中にロジックを書くのはなぁ・・
PHPやASPでの開発になれている人はJSPだけで書くのに抵抗がないのかもね。
MVC で分離するのはビジネスロジックとプレゼンテーションだろ。短絡的に
>>9 を読むと「JSP の中に条件分岐やループ処理が入るのはすべて悪」とも
見えるんだが、もしそうならやりすぎ。
12 :
デフォルトの名無しさん:2005/09/06(火) 20:12:24
スマン、ビジネスロジックの意味
iアプリはウインドウズでしか作れないんですか?
No
16 :
デフォルトの名無しさん:2005/09/06(火) 20:58:03
たびたびすいませんがどこで落とせるんですか?
17 :
デフォルトの名無しさん:2005/09/06(火) 21:33:10
全スレ986です。
987さん、回答ありがとうございます。
ですが、解決することが出来ませんでした。
申し訳ないのですが、どなたかOSの環境変数を取得する方法を教えていただけないでしょうか?
引数は二つ以上投げられるのに返り値は一つだけなのってなんでだろ?
Javaに限ったことかよ。オブジェクトで渡せば?
20 :
デフォルトの名無しさん:2005/09/06(火) 22:27:25
式が複雑になるからかな・・
(x, y) = moge.hoge(a, b, c);
出来たとしたらこんな感じになるのか?
21 :
デフォルトの名無しさん:2005/09/06(火) 22:32:15
おにぎりワッショイ!!
\\ おにぎりワッショイ!! //
+ + \\ おにぎりワッショイ!!/+
+
. + /■\ /■\ /■\ +
( ´∀`∩(´∀`∩)( ´∀`)
+ (( (つ ノ(つ 丿(つ つ )) +
ヽ ( ノ ( ヽノ ) ) )
(_)し' し(_) (_)_) (c)avex/わた
22 :
デフォルトの名無しさん:2005/09/06(火) 23:04:12
SQLについての質問です。
あるテーブルから、いくつかのフィールドの内容を指定してレコードを取得
します。
指定するフィールドはキーではないので、複数取得できます。
そのうち、あるフィールド(int格納してある)が最大のレコードを
取得したいのですが、どうやるのでしょうか?
一回だけ発行するという前提です。
select * from hogetable where Hoge1 = 'fa' and Hoge2 = 'afff' and
Hoge3 = 'asdf'
max(HHH) as HHH
これで取れますか?
23 :
デフォルトの名無しさん:2005/09/06(火) 23:07:30
よくスレタイを見ろ
24 :
デフォルトの名無しさん:2005/09/06(火) 23:35:29
SQLの質問がみあたらないんだ・・・・
頼む
データベース板にでもいってろ
26 :
デフォルトの名無しさん:2005/09/07(水) 00:49:57
お力をお貸しください。
javacと打つと、
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
と表示されます。
どうしたらいいでしょうか。
.bash_profile
JAVA_HOME=/usr/java/jdk1.5.0_04
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib
export JAVA_HOME PATH CLASSPATH
環境:
colinux+debian
JDK 5.0 Update 4
27 :
26:2005/09/07(水) 01:21:34
>>5 > 早速の質問。
>
> こないだPGの友人と飲んでる時に色々Javaの事話したんだけど
> (自分はかじった程度で友人は2年くらいjava経験)
> 友達Aの会社はWeb開発時ほとんどJSPのみで作ってて
> 友人Bの会社はサーブレットかStrutsを使って作ってる。
>
> ここで友人二人が論議。
> AはJSPで何でも出来るからJSPだけの開発でもいいと言い張る。
> BはJavaの基本はMVCだから保守面とかも考えてMVCで作るべきだと言い張る。
>
> 自分はかじった程度なので聞いてるだけだったけどその場で決着は付かず。
> んで疑問に思ったんだけど・・・
>
> 1.JSPだけで開発するメリット・デメリット
> 2.サーブレットで開発するメリット・デメリット
> 3.Strutsで開発するメリット・デメリット
1と2の組み合わせか3が一番いいに決まっているだろ(この中では)
JSPだけだとコード汚いし。
Strutsは経験がいる。何もしらないでいきなりやるとStrutsの特性を生かし切れない羽目になることも。
実際そういうプロジェクトを見た。
折角Strutsを使っているのに、凄く無駄で汚らしいことばかりしているんだ。
Strutsの利点をわかっていないバカが作ったというか。
29 :
22:2005/09/07(水) 01:29:35
>>27 ちゃんとjavac Hoge.javaってうったの?
packageの構成を述べよ
ところでSQLどうかけば取れる22の?
30 :
デフォルトの名無しさん:2005/09/07(水) 01:31:53
>>10 > PHPやASPでの開発になれている人はJSPだけで書くのに抵抗がないのかもね。
はっきりいって厨ウゼー
っていいたい。
WebPlog板のWebデザイナ上がりの素人ASP厨(VB厨)やPHP厨やがプログラマに跋扈して汚い
コード乱造しているところを想像すると吐き気がする。
WebPlog板のPHPスレを見てもどいつもこいつも素人ばかり。
オブジェクト指向を知らない奴が多すぎるのが致命的。
そんでもってJSPをPHPやASPと対比したがる。奴らキモ過ぎ。
31 :
デフォルトの名無しさん:2005/09/07(水) 01:38:41
>>20 おまえPHP厨とかPerl厨とかMATLAB厨か?クラスの作り方知らんのか?
式が複雑になるからじゃなくて、そういうことする必要がないからだろが。
こうすれば済むことだ。
public class Bag {
private int x;
private int y;
public Bag(int x, int y){
this.x = x;
this.y = y;
}
pulic int getX(){
return this.x;
}
pulic int getY(){
return this.y;
}
}
public class Moge {
private Bag bag;
public Bag hoge(int a, int b, int c){
//
>>20が実装したいこと
}
}
実行方法
Bag bag = moge.hoge(a, b, c);
int x = bag.getX();
int y bag.getY();
Mogeのprivate Bag bagは別に必要ない可能性もあるな
33 :
29:2005/09/07(水) 01:40:28
レスサンクス!
class test{
public static void main(String args[]){
System.out.println("test");
}
}
でjavac test.javaです。
select *
from table
where maxcolumn = (select
max(maxcolumn)
from table);
34 :
29:2005/09/07(水) 01:43:57
つーか
java -version
でも
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
がでる。。。
35 :
デフォルトの名無しさん:2005/09/07(水) 01:44:57
>>
public
>>26 .bash_profile設定後に環境変数が有効になっているかどうかsetなどで確認した?
profile bashrcかどっちかがログインしなおしだけで有効だが、片方は再起動しないと
有効にならないというものではなかったっけ?
source .bash_profileでやればいいけれども。
$JAVA_HOME/libにはCLASSPATH通す必要はないよ。
libディレクトリはわざわざクラスパスを通さなくてもJARをそこに置くだけで
なんでも動かせるようになっているんだから。
37 :
29:2005/09/07(水) 01:48:23
レスサンクスコ
編集後は
source .bash_profile
やってます。
evnで確認までしました。
>>33 classの頭にpublic をつけろ
そのときファイル名とクラス名は一致しなければならない。
>>22のクエリはmaxのところが何かおかしい。
>>33ならまだええけど。無駄な服問い合わせをしているようにしか見えない。
SQLのコンソールからクエリ直打ちテストしてみろ。
それからDBUnitというテストツールがある。
それも使ってみろ。
39 :
29:2005/09/07(水) 01:54:06
またまたレスサンクス
$ cat test.java
public class test{
public static void main(String args[]){
System.out.println("test");
}
}
$ ls -al | grep test.java
-rw-r--r-- 1 user user 95 Sep 7 01:43 test.java
一致してるんだが。。。
なんでだろう。。。
その$はなに?
41 :
22:2005/09/07(水) 02:04:03
>>29 javaが正常にインストールされてないようにみえる。
関係ないけど、クラスファイル(クラス名)の頭は大文字なのがjavaの慣習
ところでさっきのSQLだけど、いっかい条件でレコードをぬいて、
その中であるカラムが最大のレコード一行抜きたいんですが、
どうすればいいの?
42 :
29:2005/09/07(水) 02:12:11
>>41レスありがと
インストールし直してみます。
select *
from table
where maxcolumn = (select
max(maxcolumn)
from table);
これじゃだめ?
複数のカラムでどれが一番でかいかとかいうなら
greatestとかいうのがあったような。。(oracleだけか?)
>>22,27
副問い合わせとか複雑なことしなくても
int格納してあるフィールドでorder byして最初の一件とればいい。
45 :
22:2005/09/07(水) 02:23:58
>>42 どーも!
それだと、既存のレコードの中から、
あるカラムが最大値であるレコードを抜くことになります。
いっかい条件で抜いてから、それをやりたかったんです。
ヒントいただいて、かいけつしました!
select * from table where maxcolumn = (
select max(maxcolumn) from table where column1 = 'age' and column2 = 'sage')
46 :
29:2005/09/07(水) 02:26:21
>>19 複数の値を返せる言語もあることくらいは知っておいた方がいい。
>>20 Ruby や Python では配列の多重代入をうまく使って
そういった形で複数の値を返せるかのように見せている。
>>31 残念ながらそれは「そういうことをする必要がない」からではなくて
「Javaではそういうことができない」から代用しているだけだ。
48 :
22:2005/09/07(水) 02:30:38
度々すいません。
45を、order by で書き換えると、どうなりますか?
49 :
29:2005/09/07(水) 02:31:31
resultsetを一回回して終了。
50 :
デフォルトの名無しさん:2005/09/07(水) 02:32:17
$ってコメントの//みたいなもの?
JDK1.5.0と1.4.2って何か大きな差はありますか
余計わからんくなった。
>これってディレクトリだったはず。 たぶん。。
54 :
デフォルトの名無しさん:2005/09/07(水) 02:41:21
今いるフォルダとそこで実行するコマンドの区切りだろ。
55 :
デフォルトの名無しさん:2005/09/07(水) 02:41:27
>>52 大きな差は、こいつは凄い!
という違いといえばGenericsだね。
C++のtemplateとも違うこれまた優れた型安全性が保証されたGenerics.
そして型安全性が保証された、C/C++/C#とは異なる, クラスとGenericsで構成されているenum(列挙)型
クラスやメソッドに付加情報を与えられるようになったアノテーション。
J2SE1.4よりもさらにパフォーマンスが向上したことかな。
他は細々としたモノはあるけど、これといって凄い!画期的というわけでもないかな。
>>53 > も $ も % も # もプロンプト。
コマンドラインにコマンドが入力できますよーという記号。
それぞれ少しずつ意味が違うけど、#以外は大体どれも一緒。
ログとか引用として見る場合は、行のプロンプトから後の文字列がコマンドだと思えばいい。
58 :
デフォルトの名無しさん:2005/09/07(水) 02:57:12
>>47 Javaではできないていうのは大袈裟だぜ。やる必要がないからだろ。
今まで、C++ではできることはJavaではできないことが多くなった。
だができないからやっていないんのではなく、必要が無い、いやそれどころか
無駄だから排除したんだぜ。
だから「できない」というよりも「必要ない」といったほうが相応しい。
PHPでも戻り値を複数に指定できるようになっているが
あれははっきり言って、Javaでいえば、こういうことをやっているだけに過ぎないぜ。
int[] array;
array = moge.hoge(a, b, c);
int x = array[0];
int y = array[1];
若しくは
Map map = new HashMap();
map = moge.hoe(a, b, c);
int x = mapget.("x");
int y = map.get.("y");
本当はオブジェクトでできることを配列やハッシュで代用するなんてみっともないぜ。
戻り値が複数なんて無駄が多すぎるんだよ。
ソースコードも汚くなるしな。
大抵、戻り値が複数な言語なんてスクリプト臭い言語だぜ。
オブジェクト指向では戻り値が複数なんて邪魔なだけなんだよ。
型は決まって絞り混むんで型安全性を確保することで
PHPやPerlみたいな型にいい加減な言語にありがちなバグを最小限に減らせるってことだ。
59 :
民主党:2005/09/07(水) 03:17:24
★★★ また韓国、意図的な、でっち上げ反日報道 ★★★
韓国大手テレビ局の8月15日番組「日本軍731部隊の生体実験」が、実は真っ赤なウソ、中国映画の盗用でっち上げだった。
韓国マスコミは反日番組で、この種の歴史歪曲(わいきょく)をよく行うが、今回の事件で 「日本攻撃ならウソも平気」 という腐った体質が改めて確認された。
番組では実験の様子を「白黒の記録フィルム風」に紹介したが、視聴者から「映画の場面と同じ」との声が上がり、悪質なでっち上げが露呈した。
この中国映画はカラー作品だが、テレビでは本物に見せかけて「白黒」に変えられており、意図的なでっち上げであることは明白。
日本の 民 主 党 【岡田党首】 は、日本国内に数十万人もいる反日的な在日韓国・朝鮮人に、日本の選挙権を与え、 民 主 党 に投票させようと画策している。
在日韓国・朝鮮人の大部分は、戦後のドサクサで勝手に密入国した不法滞在者とその子孫だが、「強制連行された」と真っ赤なウソをつき、被害者のフリをして日本国内に居座っている。
収入あっても税金払わず、さらに毎月二十数万円の生活保護をもらい、日本人の悪口を言いながら優雅に遊び暮らしている。
60 :
47:2005/09/07(水) 03:21:47
>>58 >あれははっきり言って、Javaでいえば、こういうことをやっているだけに過ぎないぜ。
47の発言の
>>20を見ればわかるが、お前の言うようなことは全部わかっとるわ。ボケ。
そもそも何で戻り値が複数で「配列やハッシュで代用する」という思考にいたるのか。
お前がそういうもんしか知らないからだろ。
オブジェクト指向でなくても型安全性が確保される言語なんかいくらでもあるわ。
お前みたいにJavaしか知らんくせに「オブジェクト指向」とか語りだすやつは氏ねよ。
>>45 それやると、table 一件一件に対して、
max とってくる気がする
>>59 大丈夫だ、漏れは自民党にしか投票しないから。
郵政民営化賛成だし。郵政に反対する奴らは
郵便局長の世襲制を支持しているバカどもだから。
また
>>60みたいな短気なアンチが現れたね。
カッとなるすぐに「Javaしか知らんくせに」と根拠もない感情的なことを言う香具師がいる(ワロス
C++やMATLAB, PHPの話をしている奴が「Javaしか知らない」わけ無いじゃんアフォですか(ワラ
スクリプト言語しかしらない低脳君はすぐクダらない機能にこだわるみたいだけどね(プ
60がカスなのは同意だけど
プとかワラとか見てて差部位
バカが一人Javaスレに割り込んできた
Java屋にバカにされるとすぐにカッとなる奴がいるのは
なんでだろうね?
不思議だね。
PHPスレでもJava屋にバカにされたPHP厨がいたけど
結局反論もできないで終わっちゃったし。
68 :
61:2005/09/07(水) 04:00:31
from 句の中で select 文をネストして、
from 句の外と中で table の自己結合
レコード数が多くなきゃ、かまわんか。
SQLなんて数年ぶりのヘタレなのであとは知らん
69 :
22:2005/09/07(水) 04:04:56
やる必要がない ≒ 振り替え策がある ≒ できない
「Java ではやる必要がない」という書き込みを見るに付け、現状で覆されている
過去の空しい主張を思い出さずにいられない。
・テンプレートはポリモーフィズム使えば必要ない → Generics キター
・可変引数はオブジェクト配列で代用可能だから必要ない → 可変引数キター
・アサーションはコンパイル時の最適化 (定数条件の if 文削除) があるから必要ない → アサーションキター
・ラッパークラスがあるからコレクションのプリミティブ型対応は必要ない → Auto Boxing キター
71 :
デフォルトの名無しさん:2005/09/07(水) 04:26:09
>>70 > ラッパークラスがあるからコレクションのプリミティブ型対応は必要ない → Auto Boxing キター
autoboxingは型変換の構文糖であって、コレクションのプリミティブ型対応ではない。
コレクションのプリミティブ対応は jakarta commons primitives とかでやってる。
その他も的外れっぽいし、もーちょっと勉強してから出直してくれば?
72 :
61:2005/09/07(水) 04:36:25
> from 句の外と中で table の自己結合
嘘ついている気がしたので、SQLの本を引っぱって作ってみた。
select A.*
from table A, (select max(maxcolumn) as Z from table where ...) B
where A.maxcolumn = B.Z
微妙に嘘ついてる気がする orz
脳内でしか実行してないから、適当に修正・アレンジ
>>69 最近のDBMSは賢いかもしれない。
where 句に出てくる2番目のselect文の如何なるところにも
最初のtableが出てこないことを認識して探索を最適化?
また、select文なので、探査の途中でtableが変わらないことを認識して...
トリガー?ルール?とかの仕掛けもチェック?
>>71 > autoboxingは型変換の構文糖であって、コレクションのプリミティブ型対応ではない。
コレクションのプリミティブ型対応の不要論があって、autoboxing でそれができるようになった
という話だ。君の指摘はぜんぜん逆向き。読解力の足りない脳で無理に反論すると墓穴掘るから
止めたほうが良い。
age てる時点で ヴァカ と気づけ。
さあ!
盛
り
上
が
っ
て
来
ま
し
た
!
76 :
デフォルトの名無しさん:2005/09/07(水) 05:02:15
初心者に教えることが自分の勉強にもなるし
教え方の勉強にもなるってか
マネージャークラスのにんげんが多いよなここ
>>73 > autoboxing でそれができるようになった
いや、jakarta commons primitives で何年も前から出来るようになってたんだが
つか、「ラッパークラスがあるからコレクションのプリミティブ型対応は必要ない」
なんて頓珍漢な主張は聞いたことが無いし
最後の行が意味不明です。
79 :
デフォルトの名無しさん:2005/09/07(水) 05:09:01
なんでラッパーオブジェクトに格納しなきゃいけないの?
そのためだけにいちいちインスタンス化しなきゃいけないの?
前橋曰く 「ああ情けない」
>>73 >コレクションのプリミティブ型対応の不要論があって、autoboxing でそれができるようになった
できるようになってないって。
コレクションの中に入ってるのはプリミティブ型じゃなくてラッパー型だし。
autoboxing は構文糖によってラッパー型<->プリミティブ型の暗黙の変換をしてくれるだけ。
>>77 そりゃライブラリレベルの話。空を飛べとか言ってるわけじゃないんだから
作りゃできるってそりゃ当たり前だ。最後の二行は、盛り上がってた頃の JHB や
初心者無視スレとかできる以前の質問スレに君が参加してなかったということが
分かった。つーか、君が聞いたことなければ存在しない論議なのか?
>>80 実際にプリミティブ型が格納できても、単なるシンタックスシュガーであっても、
コードを書く人間が要望した結果は同じことだ。プリミティブ型を格納できる
ようになったという表現が気持ち悪かったか? コード上での話の事だ、気にすんな。
いや、そんな揚げ足はどうでも良くてさ、「神はなぜこう作りたもうたか」といった
宗教的解釈を力説するのがいかに空しいかっつーのはいいのね?
>>81 > そりゃライブラリレベルの話
ライブラリレベルで解決して何か問題でもあるのか?
コレクションのプリミティブ型対応が出来ればそれで良いじゃん。
「コレクションには参照型しか入れられないからラッパークラスを使うしかない」
って話は何度も聞いたし、オレもそーゆー事を言ったけど
「ラッパークラスがあるからコレクションのプリミティブ型対応は必要ない」
なんて主張は聞いたこと無いぞ。昔はそーゆー人もいたのかね。
っつーか、古参と自慢するよーな人間がレベル低い方に合わせてどーすんだよ。
まぁ言った/言わないみたいな話しててもしょうがないからそろそろ止めようや。
この件に関しては Java が熱くなってた頃はそういう人も居た (それに当てられて
俺も深くうなずいてた) 時代もあったっつーことで。まぁその反省か知らんが、
ただの代用手段が根拠になってる不要論には眉にツバ付ける人が多くなったっつーことだ。
>>79 よりによって前橋かよ。もっとマシな人の名前挙げて欲しかったな。
ひろみちゅって今何やってんの?
>>83 > それに当てられて俺も深くうなずいてた
って、「ラッパークラスがあるからコレクションのプリミティブ型対応は必要ない」
みたいな主張に頷いてたの?
そうだよ。つーか、正確には、各プリミティブ型ごとにコレクションを用意するのは
無駄で馬鹿げている、という主張だったと思うが。まぁ若気の至りだ、そう突付くな。
>>87 なるほど。過去の自分の若気の至りは突付かれたくないけど、
他人の若気の至りは突付きたい お年頃なのですね?
なんかキモイのが粘着してるな。
プリミティブ型自体要らない&演算子オーバーロード導入キボソ派
の俺様が来ましたよ。とりあえず、おはよう皆様。
言っとくが、俺はC#厨じゃないし変わり者でもない。
2ちゃんではどうだか知らないけど、この意見は結構同意者多いよ?
>>87 「各プリミティブ型ごとにコレクションを用意するのは無駄で馬鹿げ
てる」という主張なら真っ当だと思うが?
プリミティブ型のサポートは(SUN自らは)行わない(必要だと思う人
が勝手に書けばいい。実際、commonsが書いた。)、演算子オーバ
ーロードを導入する、ラッパークラスは演算子オーバーロードを使
って全面的に書き換える、それに合わせたVMの最適化も行う。
個人的にはこういう展開を望んでたんだがなorz
前スレ最後で途中になってしまったのですが、
・NFD 正規化した String を、決め打ちで作成したい
・決め打ちで作成する材料を集める際に ICU4J の Normalizer 等を
使っても良いが、実際に作成する際には外したい
のですが、良い方法はありませんでしょうか。
前スレでは、例えば Normalizer.normalize("が", Normalizer.NFD) の返値の
String *1の String#getBytes() の結果を標準出力しておき、実際に作成する際には
その結果で byte[] を作成し、String#String(byte[]) のコンストラクタに入れましたが、
これで作成した String は元の String(*1) と equals で異なってしまい悩んでいました。
これに関して、String-byte[] 変換は正規化なんてしないので異なるのは当たり前、
と言うことをお聞きしたのですが、
当初の目的の NFD 正規化文字列を決め打ちで作成する方法が
理解できていないままです…
ごっつい初心者です。初心者用の本買って読んでますが、身に付く気配がありません。
みなさん初心者のころどうやって勉強しましたか?
>>92 前スレにあった返答で理解できなかったんかい。
きみのコードでは getBytes() した時点でデータが壊れてる。
NFDするとEUC-JPやSJISでは表現できないコードが表われる可能性があ
るので、デフォルトエンコーディングは使っちゃダメ。
NFDした結果を保存するときは、nfd.getBytes("UTF-8") などとしてUTF
系のエンコーディングのバイト列で保存して、new String(bytes, "UTF-8")
などで復帰させる必要がある。
もしくは、char配列でUnicodeのコードポイントで保存して、char配列
で復帰させればいい。
>>93 ひたすらデモとか問題のプログラムを打ち込み、実行、デバッグ、アレンジ
>>94 ありがとうございます。解決しました。文字セット指定がないから、プラットフォーム
デフォルトのエンコード文字列になってしまっていたのですね…出直します。
>>70 あほだねー粘着君は
C++のテンプレートはJavaのGenericsとは違うものだし
Java5の可変長引数はそのままObject[]のシンタックスシュガーになってるだけだし
他の言語に見られるような曖昧な可変長引数とはものが違うってわけよ。
三番目の項目は疑問だね。だれがいらないなんていったのかね。君の妄想かな。
四番目だってC#の基本型とは性質が異なり、暗黙のうちにtoString()が呼び出されているのと同じような仕組みだし。
似て非なるものをそっくりそのまま真似したと勘違いして「現状では覆されている」と妄言を吐く
様はなにか宗教の関係者みたいだ。
そもそもさ、C++にはJavaにはない便利な機能があったけど
あえて排除した理由ってのをわかってない奴が約一名いるよね。
Javaを開発した人達が、それぞれに、これこれ、こういう問題があるから、
この機能を排除したっていう明確な根拠があったからその機能が存在していないだけ
なのにね。とにかくすっきりさせたってわけさ。
見た目、一見便利そうなものでも何も考えずに言語仕様に追加すると
C++のような言語に後戻りしてしまうわけさ。そのような過ちを二度と犯さないために
慎重に議論されながら従来のC++とは異なる仕様でGenericsやenumなどが追加されたんだよ。
現にJavaのGenericsはC++のtemplateよりも安全性が高いしエラーが怒りにくい、
enumも同様で、Enumクラスのサブクラスというシンタックスシュガーだし。
それでおいて、C++のenumよりも型安全性は高い。
C++のような問題点やリスク山積みのGenericsやenumは必要ないが、
Javaのような新しい発想から生まれたGenericsやenumなら必要だってことだね。
>>81 > いや、そんな揚げ足はどうでも良くてさ、「神はなぜこう作りたもうたか」といった
> 宗教的解釈を力説するのがいかに空しいかっつーのはいいのね?
そりゃこいつ自身のことだろw
>>98 >Javaを開発した人達が、それぞれに、これこれ、こういう問題があるから、
>この機能を排除したっていう明確な根拠があったからその機能が存在していないだけ
>なのにね。とにかくすっきりさせたってわけさ。
興味があるのでソース出して
俺も挫折しそう・・ でもはじめてjavacできた時の感動や
HALLO JAVA WORLDが動いたときの感動を忘れません。
が、次のステップ「配列」で足踏み
Hello World やってる人いるんだな・・・・
103 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 13:58:27
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class sample92 extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws IOException,ServletException{
res.setContentType("text/html; charset=Shift_JIS");
PrintWriter out =res.getWriter();
out.println("<html><head>");
out.println("<title>こんにちは Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>こんにちは Java Servlet!</h1>");
out.println("</body></html>");
}
}
104 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 13:59:09
■C:\Documents and Settings\unko\My Documents\Java\550.2> javac sample92.java
sample92.java:2: パッケージ javax.servlet は存在しません。
import javax.servlet.*;
^
sample92.java:3: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.*;
^
sample92.java:4: シンボルを解決できません。
シンボル: クラス HttpServlet
場所 : sample92 の クラス
public class sample92 extends HttpServlet{
^
sample92.java:5: シンボルを解決できません。
シンボル: クラス HttpServletRequest
場所 : sample92 の クラス
public void doGet(HttpServletRequest req,HttpServletResponse res)
^
sample92.java:5: シンボルを解決できません。
シンボル: クラス HttpServletResponse
場所 : sample92 の クラス
public void doGet(HttpServletRequest req,HttpServletResponse res)
^
sample92.java:6: シンボルを解決できません。
シンボル: クラス ServletException
場所 : sample92 の クラス
throws IOException,ServletException{
^
エラー 6 個
になっちゃうのですが、サーブレットのやり方教えてください誰か・・・・
そういや最近鳩サーブレット食ってないな
107 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 14:08:19
それでも意味がわかんなくてできません。。。誰か親切に教えて下さい。。。。
108 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 14:12:50
やることはやってるんですが、こうエラーが出ます
sample93.java:2: パッケージ javax.servlet は存在しません。
import javax.servlet.*;
^
sample93.java:3: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.*;
^
sample93.java:5: シンボルを解決できません。
シンボル: クラス HttpServlet
場所 : sample93 の クラス
public class sample93 extends HttpServlet {
^
sample93.java:6: シンボルを解決できません。
シンボル: クラス HttpServletRequest
場所 : sample93 の クラス
public void service(HttpServletRequest request,
^
sample93.java:7: シンボルを解決できません。
シンボル: クラス HttpServletResponse
場所 : sample93 の クラス
HttpServletResponse response)
^
sample93.java:8: シンボルを解決できません。
シンボル: クラス ServletException
場所 : sample93 の クラス
throws ServletException, IOException {
^
エラー 6 個
110 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 14:19:00
すいません。それでもわからないんです・・
あきらめてください
113 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 14:33:31
はあ・・・・誰か親切な人いないかな〜〜・・
114 :
デフォルトの名無しさん:2005/09/07(水) 14:40:34
初心者歓迎、ってのに甘えて質問します。
今までアセンブリ言語やModula-2やCで機械制御系のシステムや事務処理システム用のプログラムを一人で組んでいましたが、そろそろJavaの勉強でもするかなとっています。
今までの経験では、言語仕様そのものよりも、開発環境とかライブラリ群の整備され具合のほうが、開発効率を左右する度合いが大きいのかなと感じています。
サンプルとして、スタンドアロンで稼働するPC(OSはWIn2K,Linux等)上で動作する家計簿ソフトを作ってみようと思っています。もちろん、Webベースではなく、レガシーなスタイルのアプリです。開発はWinにて行う予定です。そこで質問です。
・開発環境をざっと調べてみたのですが、使い勝手とか流通している情報量という
点からEclipseが良さそうです。でも、解説本を立ち読みしたらWebベースの
アプリの組み方ばかりで、Webサーバーを使わないアプリに関しては記載され
ていません。大丈夫とは思いますが、EclipseでWebサーバーを使わないレガシーな
スタイルのアプリを作成するのは適当でしょうか。
・この手の素人向けのアプリの場合、きめ細かいカーソル制御や表示制御が
必要になります。Javaのライブラリとして、グリッドやコマンドボタンや
コンボボックスなどのウィジットはいろいろ提供されているのでしょうか。
「このボタンはデザインが悪いから他のボタンを使おう」なんてことが結構
ありますから。有料ならばグレープシティなどが有名ですが、無料でも
そろっているんでしょうかね。
・Javaとは離れますが、家計簿データを扱うのに適当な軽いDBエンジンは
ありますでしょうか。MySQLではオーバースペックな感じがするので、
Jetエンジン程度の仕様で十分です。ただし、WinでもLinuxでも動作する
ものがよいです。Pervasive.SQLが好きなんですが、有料というのが
玉に瑕です。
では。
115 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 14:49:22
116 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 14:53:29
すいませーん
>>115 あるけど。普通にTOPから探せばみつかる
118 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 14:56:28
どこをクリックするのですか??
119 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 15:01:12
すいませ〜〜ん。誰か〜〜〜
120 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 15:05:59
誰か親切な人教えて下さい・・・
>>114 外しているかもしれませんが、以下、ご参考まで。
> EclipseでWebサーバーを使わないレガシーなスタイルのアプリを作成するのは適当でしょうか。
はい。Visual Editor という GUI 作成支援のためのツールもあります。
また、Eclipse を開発環境として利用するだけではなく
リッチクライアント開発のためのプラットフォームとして利用することも可能です。
> Javaのライブラリとして、グリッドやコマンドボタンや
> コンボボックスなどのウィジットはいろいろ提供されているのでしょうか。
Swing や SWT といったキーワードで検索ください。
> 家計簿データを扱うのに適当な軽いDBエンジンはありますでしょうか。
JDBC を利用して特定のデータベースに依らない形としてみてはいかがでしょうか。
114じゃないけど参考になった
123 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 15:19:26
>>117 なんかインストールしようとすると、sunに飛んじゃうんですけど・・・・
>>98 > とにかくすっきりさせたってわけさ。
とっくに方向転換したが。おまえの頭は 20 世紀で止まってるみたいだな。
> C++のような問題点やリスク山積みのGenericsやenumは必要ないが、
> Javaのような新しい発想から生まれたGenericsやenumなら必要だってことだね。
C++ のように何年か経てば陳腐化するのを分かってない。アフォ か。
>>114 HSQLDBという軽量のDBがお薦めです。
ttp://hsqldb.org/ 別サーバをたてず同一プロセス内でDBの機能を使うことができます。
また、データの保存形式としてCSVを選択することができるため、何かと便利です。
JavaのGUIコンポーネントは、最初の頃は複雑な印象を持つかもしれませんが、
その複雑さはそれなりの理由があってのことです。
また、その理由がわかってくればJavaとオブジェクト指向の考え方の理解につながりますので、
将来のためと思って覚えてみるといいんじゃないでしょうか。
>>114 レガシーの使い方が微妙に違ってるですな。
質問者の態度次第で良スレにも糞スレにもなるスレですな
>>114 GUIアプリ作るならNetBeansの方がいいかも
小学4年生の妹が、最近おっぱいの先っぽがコリコリして痛いって言って来た
きちんとスルーできる大人なスレだね
最近妹がツンデレ化してきてヤバい。
132 :
やっちゃん ◆jKwdOs3LE2 :2005/09/07(水) 16:18:45
やはり参考書が必要なのですね。お金貯めて買います
>>113 servlet.jarがコンパイラの
クラスパスに通ってないんだよ。
だからエラーになる。
そいつ色々なスレ荒らしてる奴だから
スルーよろ
>>114 NetBeans+HSQLDBでおけ
GUIはSwingという標準APIを使うならNetBeansがダントツ
Eclipse+VEだと一見表面化しない問題が多少あります
HSQLDBは組み込み向けDBでAccessのMDBを扱う感覚でファイル名を指定して
使うことが出来ます
サブクエリーも使えるのですがJDBC1までしか対応していないのがネックか
つまりSQLレベルまでしかできないってこと
137 :
114:2005/09/07(水) 23:07:43
おお、ひと仕事して帰ってきたらこんなにレスをいただいてTHXです。
お教えいただいたキーワードでいろいろ調べてみました。
>>114 的確なアドバイス、ありがとうございます。
EclipseそのものにネイティブにGUIビルダーが内包されているかどうかは別にして、
VisualEditorを組み込むことによって快適にGUIを構築できるようになる、ということ
ですね。
SwingはJavaで書かれたOSに依存しない標準的なGUI用コンポーネント集、SWTは
OSに依存するものの高速なAPIライブラリ、みたいな理解でよろしいでしょうか。
なお、JDBCにてDBエンジンに依存しないとのご提案ですが、各DBエンジンに特有の
方言があるという実情では、DBエンジンに依存しないコーディングってのはなかなか
難しいんじゃないでしょうか。DBアクセスの用のモジュールの独立性を高めても、実際
SQL文そのものから違うわけでして。であれば、何か一つに統一して、それをあらゆる
局面で採用した方が簡単そうです。ま、私の仕事では、私がDBエンジンを決定できる、
という局面が多いものですから。
138 :
114:2005/09/07(水) 23:08:12
続きです
>>125 HSQLDB、これ軽量で高機能で、すごく良さそうです。ご紹介、ありがとうございます。
以前はBtrieveとかOracle Liteを好んで使っていたのですが、そういった参考書や
解説書が無い製品だと実際の開発時にすごく苦労するので、採用するのに躊躇
します。ちょっと書籍を探してみます。
>>126 そこはご愛敬ってことで。
>>128,136 うーん、痛いところをつかれました。
EclipseとNetBeans、悩ましいです。まだ使ってもいないのにどちらが良いかを悩むのは、
運転免許を持っていない中学生がフェラーリとポルシェの善し悪しを論じているようなも
ので、傍目から見たらバカバカしいでしょうな。
そもそもEclipseがいいかなと思ったのは、NerBeansの勢いに一時かげりがあったことと、
Eclipseのほうが解説書が多そうだったから、それだけです。今までの経験で、誰も使って
いない開発環境をひとりでシコシコ使うのはとっても辛いですから、勝ち馬にのった方が
楽そうというわけで。
具体的な話として、Eclipse+VisualEditorだと、どのような不具合があるでしょうか。それら
が記載しているURLでもお教えいただければありがたいです。当方でも検索したのです
が、ちょっと見つけられませんでした。
HSQLDBですが、SQLレベルで十分かなと思います。
139 :
29:2005/09/07(水) 23:15:18
>>29です。
debian用にパッケージ変換して
正常に動作しました。
皆様ありがと
140 :
26:2005/09/07(水) 23:16:33
29じゃねーや。俺は26だ。
>>138 一番問題になるのはウインドウサイズをサイズ指定しようとしやがる
保護しないのでいじるとおかしくなるとか初心者にはSwingの知識がないと意外ときついかも
あと細かいところがNetBeansのほうが便利
自作のコンポーネントとかをすぐにぺたぺたはりつけれたり速度的にVEは遅いとか
基本的な違いはEclipseは基本部+プラグインを前面に出してるのに対して
NetBeansは最初からWEBアプリ、EJB、GUIのプラグインが入ってる
本当はNetBeansもプラグインでできてるんだけど、日本語の記事が少ないし
バージョン違いで苦しむことも多いのでこれは自作しない人は無視していいかと
Eclipse本の95%はTomcat動かすところとVE動かすところまでで説明が終わってるから
構造の違いについてはあんまり問題にはならないかと
次バージョンの5.0でGUI作成が大幅によくなるのとプラグインが簡単に作れるのが改善点らしい
開発バージョンがおとせるのでそれで試すのもいいけどまだそこはバグってるとおもう
http://www.netbeans.org/files/documents/4/475/matisse.html SQLレベルだけってのは結果セットを取得してそれに対して更新ができないってことだよ
しかもこの方法はわりとDBに依存しやすい
まぁ現状組み込みDBはHSQLDBしか選択肢はないと思っていいけど
いいよ。スルーしなくても。
JDBCのBLOBについての質問です。
PreparedStatement#setBlob()で、BLOB列にINSERTするにはどうすればよいでしょうか?
とりあえず考えたのは
・ベンダのBlobインタフェース実装クラスをインスタンス化して使う
→ベンダ依存のクラスはなるたけ明示的に使いたくない(ドライバはまぁしょうがないとして……)
・PreparedStatementでなく、更新可能なResultSetを取ってきて対象列からgetBlob()で
インスタンスをもらってきて、setBinaryStream()で……とやってupdateする
→DBの設定で更新可能なResultSetに対応してないorz
といったところなのですが、他に定番のような方法があれば教えていただければ幸いです。
// PreparedStatement#setBinaryStream()でもとりあえず用は足りるのですが
// じゃ何のためにsetBlob()なんてあるんだ、と気になって……
// JDBCのドキュメントでテーブル間の列コピーに使っているらしい? サンプルは見たのですが。
>>143 とりあえず最初にレコード作る時は byte[] や InputStream で入れれ
>>124 >
>>98 > > とにかくすっきりさせたってわけさ。
>
> とっくに方向転換したが。おまえの頭は 20 世紀で止まってるみたいだな。
>
> > C++のような問題点やリスク山積みのGenericsやenumは必要ないが、
> > Javaのような新しい発想から生まれたGenericsやenumなら必要だってことだね。
>
> C++ のように何年か経てば陳腐化するのを分かってない。アフォ か。
おいおい、言いたいことはそれだけか。
だれもわわかりきっていることを、わかっていないと見なして八つ当たりでいちいちレスするなんて、
そのレスをみると餓鬼が最後に悔しまみれにはく捨て台詞にみえてみっともないぞ。
>>146 > おいおい、言いたいことはそれだけか。
> だれもわわかりきっていることを、わかっていないと見なして八つ当たりでいちいちレスするなんて、
> そのレスをみると餓鬼が最後に悔しまみれにはく捨て台詞にみえてみっともないぞ。
そりゃおまえだろ。
複数返値は「不要」なんて珍説を否定されたのがよほど腹に据えかねたらしいな
複数戻り値はJavaの要望に出てたぞ確か
>>137 > EclipseそのものにネイティブにGUIビルダーが内包されているかどうかは別にして、
> VisualEditorを組み込むことによって快適にGUIを構築できるようになる、ということ
> ですね。
そうです。Visual Editor を追加することで GUI を簡単に構築できるようになります。
また
>>121 では、Eclipse をクライアントアプリの一部として使う提案もされています。
ご参考)
ttp://www.mamezou.com/tec/equip016.htm > SwingはJavaで書かれたOSに依存しない標準的なGUI用コンポーネント集、SWTは
> OSに依存するものの高速なAPIライブラリ、みたいな理解でよろしいでしょうか。
はい。正しいと思います。
> なお、JDBCにてDBエンジンに依存しないとのご提案ですが、各DBエンジンに特有の
> 方言があるという実情では、DBエンジンに依存しないコーディングってのはなかなか
> 難しいんじゃないでしょうか。DBアクセスの用のモジュールの独立性を高めても、実際
> SQL文そのものから違うわけでして。であれば、何か一つに統一して、それをあらゆる
> 局面で採用した方が簡単そうです。ま、私の仕事では、私がDBエンジンを決定できる、
> という局面が多いものですから。
そうですね。そのあたりは技術的な話だけでなく個々の事情を含めて要判断でしょう。
Eclipse RCPねぇ・・・
>>98 Javaは神!Javaマンセー!ってのはよくわかったw
153 :
デフォルトの名無しさん:2005/09/08(木) 02:18:43
そもそも複数戻り値なんて考えて設計してる時点でおかしい。
一つ戻れば十分な作りになってなきゃおかしい。
Mapでいいべさ
クロージャは必要か不要かと同じでメリット・デメリットがある
必要な場合はクラスや配列やコレクションにまとめるってのは単なる実装手法であって
設計上の複数戻り値は必要だと言っているようなものだが。
まぁ age てる時点でネタか。
まさかリターンバッファをパラメータで渡せって話だったりしてw
複数戻り値が欲しいって言ってるのは
>>158 しか居ないわけだが
>>158 別に要望を言っているのではなくて
「Javaは崇高な理念に基づいて作られているから新機能なんていらない!」
とアホなこといってるやつに突っ込んでるだけだろ。
>>160 じゃ、総員一致で「複数戻り値」は欲しくないって事でOK?
欲しくも無い機能を話題にする必要は無いよね。
以後「複数戻り値」の話題は禁止でおながいします。
自治厨きたこれ
>>162 おまえの読解力が見当違いだっての ヴァカ
そろそろすれ違いでつよ。
きっと夏休みに Java に陶酔して浮かれてたんでしょうほっておけ。
168 :
デフォルトの名無しさん:2005/09/08(木) 06:00:31
あの、Javaでプロキシーを作ろうと思うのですが、普通はブラウザとかアプリが
プロキシに対応してるか、"プロキシのアド/リダイレクトされた後接続したいアド"
のような場合しか使えませんよね。
で、普通に外に通信をしようとしてるところをインターセプトして、プロキシにコネクション
張らせるようにしたいです。
普通に考えたら無理そうですが、どうにかやることはできないでしょうか?
(OS寄りの所にJNIとかで手を出せばできるかもだけど、それはやりたくないな・・・・)
169 :
デフォルトの名無しさん:2005/09/08(木) 06:02:14
すいません、日本語がなんかおかしい。
〜使えませんよね。
では上のような場合じゃない時に、インターセプトして〜 と読み替えてください。
>>168 言っているのは、AntiVirus が 25/110 ポート (SMTP/POP3) を通るメールを自動でチェックする
ようなことの HTTP 版だろう思うが、それは JNI 使わなければ無理。proxy.pac でも使えば?
171 :
デフォルトの名無しさん:2005/09/08(木) 08:50:14
DBと連携するサーブレットのシステムを「Oracle Application Server 10g 」上で
運用したいのですが。実際的にはどの様に開発するのでしょうか?
また、どの様にアプリケーションサーバに登録するのでしょうか?
172 :
デフォルトの名無しさん:2005/09/08(木) 09:25:16
>>170 プロキシを通るアプリ側にはプロキシの存在を意識させたくないんですよ。
普通に外に出ようとしたら、プロキシ通ってた。というようにしたいです。
あと、プロトコルも制限を与えず、任意の通信でプロキシを通したいです。
なんて、無茶かorz
squidでtransparent proxyを設定すればいいじゃない
174 :
デフォルトの名無しさん:2005/09/08(木) 09:41:58
>>173 おぉー。そんな事ができるんですか。
Javaスレで聞くのもおかしいですが、それはどうやって実装してるんでしょうね?
>>174 Javaスレで聞くのがおかしいなら、聞かないでください。適切なスレでどうぞ。
JtoggleButtonが押された状態の色を設定するには
どのようにすればいいのでしょうか?
StrutsでActionFormに入ってきた値を
JSPで表示させようと思うけど、うーん上手くいかんよ・・・
因みに表示させようとしている値は
遷移元から渡されたわけではない。
ご教授おながいしまつ、エロい使途
>>178 何をどう実装したらどうなったのか、さっぱりわからんよ。
エロい使徒じゃなくてエスパー募集でつか?
JakartaかApacheにも100%Pure Java プロキシサーバってなかったっけ?
皆さん、掌田 津耶乃ってどう思います?
>182
バカって言うなバカ
失礼しました、他所でやらせて頂きます
184 :
141:2005/09/08(木) 13:51:17
夜分の回答ありがとうございます。
>>141 あっさり切り捨てるつもりでしたが、実際にNetBeans環境を構築して評価
してみることにします。
あと、HSQLDBは超軽量で良さそうですね。
>>150 これで、頭の中がすっきり整理できました。ありがとうございます。
185 :
114:2005/09/08(木) 13:52:49
すいません。上の書き込みの名前は141じゃなくて114でした。失礼。
>>183 バカごめんよバカ
もうスレ違いにはウンザリなんだよ
187 :
178:2005/09/08(木) 14:03:21
>>179 Actionクラスを起動して
ActionFormに入っている定数を
JSPで読み込もうとしてる訳ですよ
Strutsなんだけど、板違いならばスマン
>>187 流石に板違いということは無いが
スレ違い気味というか
より適切なスレがあると思うよ
>>187 で、どう実装したらどううまくいかないの?
StringからInputStreamをつくるにはどうしたらいいですか。
StringReaderはありますが、StringIntutStreamはありません。
Stringをbyte[]に変換してByteArrayInputStreamに変換しようかと思いましたが、Stringをbyte[]に変換する方法もわかりませんでした。
なお本当にやりたいことは、StringからPropertiesを生成することです。
Properties#load(InputStream)はあるけどProperties#load(String)やProperties#load(Reader)がないのはなぜだろう。
Java1.4 もしくは 1.5, win2000〜XP で
日本語縦書フォントを使うにはどうしたらいいでしょう
@付のフォントが使えないようなのですが
昔は「ゃゅょっ」を右上にもってったり「ー」を回転させてたのですが
正式なやり方があればご教授くださいませ
>>192 いちおう java.awt.ComponentOrientation とかそれっぽいのがあるんだけど、
今のところ LEFT_TO_RIGHT と RIGHT_TO_LEFT しか無いんだよね。
縦書きフォントって横書きフォントに縦書き用のヒント情報を適用して仮想的に作り出してたような。
だから Java のフォントレンダラが縦書き用のヒント情報取得してないと APIレベルでは解決できないと思う。
自力で ttf ファイル読み込んで vmtx とか読み込めば、その辺の情報は得られるはず。
ただ、自前でやるとフォントレンダラと計算方法違ったりして 1ドットずれてるとかそーゆー事はあるかも。
SWT はOSのフォントレンダラ使うから Windows なら縦書き用のフォントが得られるんじゃないかと思われ。
194 :
デフォルトの名無しさん:2005/09/08(木) 18:53:55
なんつー環境にいれたの?
つかぬ事をお聞きしますが、#! /usr/bin/これが動くOSだよね?
196 :
デフォルトの名無しさん:2005/09/08(木) 20:09:22
普通の HTML や JSP は表示できてるのか?
とりあえず Tomcat のログを見ろ。
198 :
デフォルトの名無しさん:2005/09/08(木) 21:23:03
ちょい、質問を変えてみる。
$TOMCAT_HOME/webapps/ROOT/以下にある全てのCGIを実行可能にするには
$TOMCAT_HOME/conf/web.xmlにある以下の内容をどう変えればいい?(おそらく←をつけたところを変えればいいと思うんだが・・・)
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>clientInputTimeout</param-name>
<param-value>100</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>6</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value> ←
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
...中略...
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern> ←
</servlet-mapping>
・・・中略・・・
>>197 HTMLやJSPは表示出来てる
質問しかえしといて申し訳ない、よくわかんない
cgi-binってパスを追加してそこに置いたのも動かないの?
手元に試すもんないから試してない、ので確実に動かないと思うけど
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>*.cgi</url-pattern>
</servlet-mapping>
こんなんをROOT/WEB-INF/web.xmlに保存すれば動くんじゃないかな?まじで知らないけど
201 :
デフォルトの名無しさん:2005/09/08(木) 22:04:10
動かないね。
単純に言うと
$TOMCAT_HOME/webapps/以下にあるCGIをhtmlと同じようにアクセスしたい。
だからcgi-binとかはつけたくないわけ。
例えば$TOMCAT_HOME/webapps/ROOT/にあるindex.htmlが
http://localhost:8080/index.htmlで動くなら $TOMCAT_HOME/webapps/ROOT/にあるhello.cgiは
http://localhost:8080/hello.cgiでアクセスしたい。
↑このようにするにはどうすればいい?
おそらく$TOMCAT_HOME/conf/web.xml↓を変えればいいんだろうけど
どう変えればいいんだろう?
<param-value>WEB-INF/cgi</param-value> ←
<url-pattern>/cgi-bin/*</url-pattern> ←
<param-value>*</param-value>、<url-pattern>*.cgi</url-pattern>とかにもしてみたけどだめぽ
それはあとで何とでもなると思うけど動かないんでしょ?
WEB-INF/cgiここにはなにがあんの?ある?
そこ見てるっぽいけど、なきゃばんばんしむりんく貼っちゃえ
203 :
143:2005/09/08(木) 22:17:52
>144
一応は読んだつもりです……
BlobとResultSet、*StatementのAPIドキュメントを読んだ限りでは
Blobのインスタンスを得るには、既に中身の入っているBLOB列から
ResultSet#getBlob()で取ってくるしかないように思うのですが
そうするとBlob#set*()は「読み出したモノ」に書き込むことになるわけで
ということは更新可能ResultSetに特化した話なんだろうか? と思ったのです。
>145
ということは、とりあえず適当に何か突っ込んでおいて、
しかる後に取り出して……という手順になるのでしょうか?
というかレス書いてる間に気がついたのですが、ひょっとしてBlobのインスタンスって
適当にどこかのResultSetから持ってきたものを使い回せる(流石にドライバまたぐのは無理でしょうけど)
ものなんでしょうか……ちょっと実験してみます。お騒がせしますた。
204 :
デフォルトの名無しさん:2005/09/08(木) 22:21:00
>>202 WEB-INF/cgiを作ってその中に文字を表示するだけのテストファイル(test.cgi)を
入れてみますたが404が出る。
404は何でアクセスしたよ、スッピンのままじゃないよね?
既にやってるなら勘弁。そこがcgi-bin/に見せるんだと思うぜ!
強がってしまいました。正直、tomcat5のcgiはおろかtomcat5をあまり知りません
住人の方、俺にも教えてください
tomcat を起動しているプロセスでそのディレクトリに cd できるのか?
つーかログくらい見ろよ。
207 :
デフォルトの名無しさん:2005/09/08(木) 22:54:16
質問です。
いま会社の研修で図書館の貸し出しをするためのプログラムをJAVAで
オブジェクト指向でしろという課題が出ています。GUIで操作を行わせます。
データは(DBで管理)
・図書コード(5桁、同じ本は1冊しかない)
・書名
・借用者名
・貸出日
・返却日(貸出日の14日後なのでいらないかも)
の5つで、借用者が本をカウンタに持ってきた時、図書館の人間が
貸し借りを円滑にするために作るのがこのプログラムです。
そこで質問なのですが、クラス図を講師から頂いたのですが、
どうもかなり怪しい感じがしますので、皆さんならどのように
クラス図を描きますか?よろしくお願いします。
ちなみに以下のURLがそのクラス図です。
ttp://xtp0001.s3.x-beat.com/cgi-bin/up/source/Sonata_16502.png
>>203 本当によんだの?
Blobはインターフェースだよ?
>>201 おまいweb.xmlのコメント読んでねーだろ
cgiPathPrefix
The CGI search path will start at webAppRootDir + File.separator + this prefix.
[WEB-INF/cgi]
210 :
デフォルトの名無しさん:2005/09/08(木) 23:05:04
>>207 流石にこれに答える気になるやつが居るとは思えんが。
どのように書きますかってあーた。
宿題スレのほうが妥当だと思う。
211 :
207:2005/09/08(木) 23:10:26
>>210 え、宿題スレなんてあるんですか?
教えてほしいのは、どのようなクラスを作ればいいのかな?
ということですよ。細かいところはいいので。
ちょっと知恵を貸して下さい m(_ _)m
212 :
デフォルトの名無しさん:2005/09/08(木) 23:20:50
図書館
本
利用者
貸し借り
コレくらいでいいよ(GUIクラスは除く)
>>194 漏れはそれをTomcat4でやったとき成功したぞ。
ついでにSSIも動いた。
>>211 先生の書いた通りでええのちがうかな
作って不都合あれば変えるでいいのでわ
215 :
203:2005/09/08(木) 23:32:23
>208
ええと……java.sql.Blobそのものはインタフェースだということは理解しているつもりなのですが。
「Blobのインスタンス」と書いたのは一応「Blob(を各ベンダが実装したクラス)のインスタンス」のつもりでした。
(Blobがインタフェースだというのはそれこそドキュメントに明記してあることなんで、
こう書けば通じるだろう、と思い)
……ひょっとしてそういうこと以前のレベルで大間違いしてますか漏れ。
>>208 インターフェースということだけ見せられても、それをプログラマが実装するのか
どこかで作られたインスタンスを使うのかまでは初学者じゃわからんだろ。
>>215 そもそも Blob はデータベースに格納されている BLOB のロケーション情報など
だけを保持し、部分的に取り出したりするためのものなので、大抵は既に実データが
データベース内に存在していることが前提。だから、Blob は ResultSet から取り出して
バイナリを取り出したり、または別レコードとして新規に INSERT するためのものだと
思えば良い。
updateBlob等はPostgresのJDBCでは未実装だったはず
>>190 Properties#load(InputStream)しかないのはasciiしか受け付けないから
(ascii以外のファイルはnative2asciiで変換する必要あり)。
StringやReaderはエンコーディングの情報がからんでくるので
Properties#load(String) やProperties#load(Reader) はない。
>>137 SWTはネイティブコールをするオーバヘッドで、
最近改良された Swing の方が速い場合があるらしい
という話を少し前に聞いたことがある。本当かどうかは知らないが。
あと、ちょっとしか使ってないのでよく分からないが、
SWTのコンポーネントはほとんど(全部?)継承禁止になっていて、これは、
たぶん、使い勝手を優先してコンストラクタで微妙なことをしているので、
マルチスレッドが絡むと怪しくなるのが大きいのではないかと個人的には思う。
Swing のソースを見ると、Swingのスレッドセーフ性も多分にあやしいけどさw
SWTはそれ自体は、簡単な薄いUIのラッパーみたい感じで、かつ、
継承ができないので、Swing と比べると一見、機能的にしょぼそうに感じるが、
JFace という SWT 上に構築されているモジュールがあって、
モデルとコントロールの切り離しをサポートしてたり、便利そう。
220 :
219:2005/09/09(金) 00:42:24
SwingのUIスレッドが勝手に走って勝手に処理するが、
SWTは自分でUI用のスレッドを提供する(イベントループを回したり)。
フレームワーク自体が根本から違う?
どっちが良いかは一概にはいえないけど。
しかし、最近のSWT は、AWT のコンポーネント
(したがってSWINGも)を表示できるらしい。
それまで作られてきたコンポーネントを表示できるのは、きっととっても嬉しい。
Eclipseの機能を切り出してアプリケーションフレームワークとした
RCPは、個人的には猛烈に期待。ただ、プラグインの開発自体、
Eclipseのフレームワークをよく理解する必要があるらしく敷居が高い。
なお、SWTは(当然ながら)ピュアJavaじゃないので、
Sun は良い顔していないはず。紛争になってない(?)のは、
共通の敵(?)がいるからだろう。
あと、軽視したくとも客観的に見ると重要と判断せざるを得ないのが、
ルックアンドフィール(見かけと触りごこち)で、
SWTはOSっぽいが、Swing はじゃばぁorzって感じ?(でも微妙に好き)
リレーショナルデータベース使えますか?
222 :
デフォルトの名無しさん:2005/09/09(金) 00:47:10
質問は明確に
失礼しました。リレーショナルデータベースを
JAVAで扱うことは可能でしょうか?
結局業務で使うならJFaceが必須になってくるけど
Swingのほうが柔軟に出来て問題ないしねぇ
Swingが快適になったのは1.4.1から
ハードウェアアクセラレーションが使えるようになったからね
SwingはSystemLAF使うとネイティブにかなり似せてあってばれないこともある
ただし、1.4までと5.0では完成度が違う
5.0はあんまりばれない
>223
YES.
>>223 業務系に強いJavaで出来ないと思うほうが不自然では
227 :
デフォルトの名無しさん:2005/09/09(金) 00:56:30
javaのプログラムからRDBとやり取りしたいって事?
出来るよ
JDBCでぐぐってみれ
リレーショナルデータベースいいたいだけちゃうんかと
>>223 できなくてどうするんだと
できなきゃJavaの存在価値が薄れるくらい
そのあたりはJavaはかなり得意なほうに位置する
リレーショナルデータベースってなに?
まずぐぐれ
情報通新事典にも載っていることなのに。
リレーショナルでないデータベースといえば
CSVフォーマットやXMLフォーマットだね。
すべての個々のデータが関連しているからリレーショナル
だと解説してあったが。
XMLはツリーからぶら下がったところにしかデータの関連性がないから
リレーショナルでない。
なんでjavaがRDB得意なん?ほかにいっぱいあるやんけ
//だまってろはげ
javaしか知らないからjavaはRDB得意だと思ってたんだな
JavaでのRDB使用についての参考書籍は多いのでは。
238 :
デフォルトの名無しさん:2005/09/09(金) 08:52:40
>>219 >Swing のソースを見ると、Swingのスレッドセーフ性も多分にあやしいけどさw
ここ笑うところですか?
笑うところです
書籍の数は問題じゃないな
241 :
192:2005/09/09(金) 11:44:49
>>193 回答ありがとうございます。
なるほど SWT ですか・・・ちょっと思惑と離れていくなぁ。
ふと、Batik で縦書をやってるはずだと思い当たりました (writing-mode="tb")。
で、見てみたところ、横書きフォントをただ縦に並べただけでした・・・残念。
242 :
177:2005/09/09(金) 12:02:39
すみません,JToggleButtonは選択状態の色は変更できないのでしょうか?
どなたか教えてください
243 :
デフォルトの名無しさん:2005/09/09(金) 12:03:08
>>236 JavaとRDBMSは情報が多いしマッピングツールも多いし
期間系業務の仕事も多いからだろ。
大抵、期間系業務といったらRDBMSが使われるからな。
まさにデジドカ
>>242 paintComponent()ってしってる?
247 :
177:2005/09/09(金) 13:09:13
>>242 ItemListenerをセットして、そこでsetBackgroundを呼んだらどう?
ちなみに、Xpでも実行する場合、
setContentAreaFilled(false);
setOpaque(true);
としておかないとボタンの色が見えないので注意
249 :
◆6FWUET4y.6 :2005/09/09(金) 13:46:23
マルチスレッドで動作するJavaアプリケーションを2プロセッサのPCで動作させているのですが、CPUを100%使用してくれなくて困っています。
(タスクマネージャでCPU使用率を見ると、70〜80%しか使用していません)
このアプリは
・ 親スレッドが複数の子スレッドを作成する。
・ 子スレッドは数秒〜数十秒かかる計算を行い、結果を親スレッドに通知する。
という動作をするものです。
当初はsynchronizedメソッドの呼び出し部分で待ちが発生しているかと考えたのですが、親スレッドと子スレッドで共有しているオブジェクトは、子スレッドの計算結果を格納するオブジェクトのみでした。
また、スレッドのrun()メソッドの頭に for( double sum = 0; sum < 100000; sum += 1) {} を追加したらCPU使用率が100%になりましたので、環境の問題などで100%使い切れないという訳ではなさそうです。
(環境はSun JDK1.5、WindowsXP、CPUはAthlon64 X2です。)
この様な現象が起きる原因が全く分からないので、何かご存知の方は教えて頂けないでしょうか。
>>249 プロファイラでwaitになってる部分調べてみれば?
251 :
177:2005/09/09(金) 14:27:57
>>248 おっしゃる通りにしたら上手くいきました
有難うございます
252 :
◆6FWUET4y.6 :2005/09/09(金) 14:31:36
250さん、ありがとうございます。
JDKにプロファイラがある事をすっかり忘れていました。
多少の進展がありましたので、報告させて頂きます。(長文失礼します。)
まず、javaコマンドに-Xprofオプションを付けて実行してみました。
以下が出力です(一部省略)。
---- 出力ここから ----
Global summary of 9.83 seconds:
100.0% 558 Received ticks
2.7% 15 Received GC ticks
8.2% 46 Compilation
39.1% 218 Other VM operations
0.2% 1 Class loader
0.2% 1 Unknown code
---- 出力ここまで ----
global summaryを見ると、Other VM operationsの割合が大きいのですが、これはインスタンス生成かGCだと思うので、試しに-Xmsで初期ヒープサイズを大きくしてみました。
その結果、CPU使用率が90%前後に向上しました。
インスタンスの生成・破棄に時間がかかっている可能性があるので、不要なインスタンスの生成をしていないかチェックしてみようかと思います。
メソッドなんですが、月に1〜12以外の数字を入れるとスローされるように
したのですが、return文を書かないと"return 文が指定されていません。"と出ます。
catch内のreturnを返さないようにする方法はないですか?
private int getTotalDaysInMoon(int moon, int year) {
try{
if (moon == 1 || moon == 3 || moon == 5 || moon == 7 || moon == 8 || moon == 10 || moon == 12 )
return 31;
else if (moon == 4 || moon == 6 || moon == 9 || moon == 11 )
return 30;
else if (moon == 2) {
if (((year % 4 == 0) && (year % 100 != 0 || year % 400 == 0)))// うるう年の判定
return 29;
else
return 28;
}
else
throw new Exception();
}catch (Exception e) {
logger.severe("getTotalDaysInMowon(月:1〜12, 西暦:yyyy)を正しく入力してください。");
e.printStackTrace();
>>>>>>>>>>>>>>>>return -1;<<<<<<<<<<<<
}
}
すこし見づらいのでちょっと変えます。
private int getTotalDaysInMoon(int moon, int year) {
try{
if (moon == 1 || moon == 3 || moon == 5 || moon == 7 || moon == 8 || moon == 10 || moon == 12 )
return 31;
else if (moon == 4 || moon == 6 || moon == 9 || moon == 11 )
return 30;
else if (moon == 2) {
if (((year % 4 == 0) && (year % 100 != 0 || year % 400 == 0))) // うるう年の判定
return 29;
else
return 28;
}
else
throw new Exception();
}catch (Exception e) {
System.out.println("getTotalDaysInMowon(月:1〜12, 西暦:yyyy)を正しく入力してください。");
e.printStackTrace();
>>>>>>>>>>>>>>>> return -1; <<<<<<<<<<<<
}
}
256 :
249 ◆6FWUET4y.6 :2005/09/09(金) 15:12:58
ソースコードを見直して、インスタンス生成を抑制した結果CPUを100%使用する様になりました。ありがとうございました。
>>254 そういうのは標準ライブラリ使った方がいい。
Calendar cal = new Calendar();
cal.setLenient(false);
try{
cal.set(year, moon,1);
return cal.getActualMaximum(Calendar.DAY_OF_MONTH);
} catch(Exception e){
// cal.set(int,int,int)にあり得ない月を指定すると例外が発生し、ここに来る。
// 処理内容は任せた。
return -1; // とりあえず-1を返してみた。
}
258 :
257:2005/09/09(金) 15:16:19
しまった、Calendarはnew できないんだった。正しくはこうです。
Calendar cal = Calendar.getInstance();
259 :
◆6FWUET4y.6 :2005/09/09(金) 15:19:17
> メソッドなんですが、月に1〜12以外の数字を入れるとスローされるように
getTotalDaysInMoonメソッドが例外を投げるなら、以下の様にすれば良いんじゃないでしょうか。
# メソッド内でthrowした例外をその直後でcatchしている意図が分からなかったもので・・・
private int getTotalDaysInMoon(int moon, int year) throws Exception{
if (moon == 1 || moon == 3 || moon == 5 || moon == 7 || moon == 8 || moon == 10 || moon == 12 )
return 31;
else if (moon == 4 || moon == 6 || moon == 9 || moon == 11 )
return 30;
else if (moon == 2) {
if (((year % 4 == 0) && (year % 100 != 0 || year % 400 == 0))) // うるう年の判定
return 29;
else
return 28;
}
else
throw new Exception();
}
}
Moonか・・・
261 :
254:2005/09/09(金) 15:46:01
さっそくのレスありがとうございます!
>>257さん
そんなクラスやメソッドがあったのですね、探しきれていませんでした。
>return -1; // とりあえず-1を返してみた。
例外が発生した場合、returnを返さないようにしたいのです。
>>259さん
>throw new Exception();
例外を投げた後、その例外は呼び出し元に戻るのですか?
すいません、例外処理がいまだいまいちわからなくて。
262 :
デフォルトの名無しさん:2005/09/09(金) 15:51:53
半角スペース消去はtrim()でできるけど
全角はどうすれば消えるの?
大丈夫、全角スペースなんて見えてる奴いないから。
264 :
◆6FWUET4y.6 :2005/09/09(金) 15:57:59
>>261さん
呼び出し元に戻ります。ただ、メソッドの引数の後に throws Exception と書いて、"このメソッドはExceptionを投げる"と明示する必要があります。
また、Exceptionにはいろんなサブクラスがあるので、APIリファレンスから適当なサブクラスを探してそれを投げると良いかと思います。
引数が不正な場合なら、IllegalArgumentException辺りかと思います。
# まぁ、
>>257さんの方法に例外処理を付け加えた方が良いかと思いますが。
265 :
デフォルトの名無しさん:2005/09/09(金) 16:05:57
>>252 後もうひとつ補足してみるか
JavaのGCがネックにはなってないようだけどこれも大規模になると
ネックになってくる場合があるけどその場合は
マルチコアやSMPなら並列GC設定することによって別スレッドに追い出したり
複数のスレッドでGCかけたりすることが可能っす
classファイルでhoge$1.classとかいうファイルが生成されるんですが、
この"$1"ってどういう意味なんですか?
あと、どういった場合にこのファイルが生成されるんですか?
269 :
デフォルトの名無しさん:2005/09/09(金) 16:48:20
半角スペース消去はtrim()でできるけど
全角はどうすれば消えるの?
>>268 その場合って、hoge$[インナークラス名].classですよね?
インナークラスを定義していないのに、hoge$1.classとかhoge$2.classとかいう
classファイルが生成されているんです。
自作で拡張trimを作ればいいじゃない
>>270 ところで無名インナークラスって知ってるか?
>>273 ありがとうございます。解決しました。
無知ですみませんでした。
275 :
252 ◆6FWUET4y.6 :2005/09/09(金) 17:18:47
276 :
254:2005/09/09(金) 17:26:00
>>264さん
>また、Exceptionにはいろんなサブクラスがあるので、APIリファレンスから適当なサブクラスを探してそれを投げると良いかと思います。
>引数が不正な場合なら、IllegalArgumentException辺りかと思います。
IllegalArgumentExceptionは呼び出し元ですでに使っているので、使えませんでした。
だから、Exceptionをスローしようとしたのですが、できませんでした。
Exceptionはスローできないものなのでしょうか?
>>276 できるよ。
メソッドにthrows書けよ。
278 :
デフォルトの名無しさん:2005/09/09(金) 17:33:04
VMも含めて1個のexeファイルにする方法はありますか?
OSはWindowsXPです
280 :
254:2005/09/09(金) 17:46:33
>>277 ありがとうございます。無事できました。
当方eclipseでjavaの勉強を始めたばかりです。
教科書を見ながらソースを写して勉強しているのですが
なぜかエラーが出てしまいます。
「Finallyを挿入してください」だそうですが
教科書には載ってません。
また指示どおりFinallyを追加しても
エラーが消えません。
幾つかソースを入力してみましたが、時折↑のエラーが出て
コンパイルする事が出来なくなります。
エラーの回避方法をご教授ください
282 :
デフォルトの名無しさん:2005/09/10(土) 01:27:20
ソース見せて
EclipseのQuickFixでとりあえずエラーだけは消せそう(意図通りに動くは
また別の話として…)だけどな。
プログラム自体はじめて勉強してるんだけど
なんとなくEclipseを使わずに学習したほうがいいかな?と思ってます。
実際はEclipse使って学習したほうがよいでしょうか?
「finally を挿入してください」なんてどんなときにでるんだろ?
何となく中括弧の対応が取れていない悪寒
>>284 そんなことはないと思うが、まぁコマンドライン+テキストエディタで
使えるだけの知識 (環境作ったり実際に作業したり) を持っておいても
損は無いでしょう。
>>284 コマンドラインからの入力の勉強も一つの勉強
JavaDocを作成するantファイルを作ったのですが、
左にパッケージのフレームが作成されません。
「全てのクラス」のフレームだけが表示されます。
なにかオプションなどが必要なのでしょうか?
<target name="apidoc">
<javadoc
sourcepath="${src}"
destdir="${apidoc}"
author="off"
version="on"
use="on"
windowtitle="Sample"
source="1.4"
charset="Shift_JIS">
<classpath>
<path refid="id.compile.classpath"/>
</classpath>
<fileset dir="${src}">
<include name="***.java"/>
</fileset>
</javadoc>
</target>
コマンドラインで書くほうがカッコいい。
Eclipseなんて子供が使うもんだ
先日より会社でWeb開発を始めたのですが質問させて下さい。
Webでのユーザ認証というのはどういった仕組みで行うのでしょうか?
一応、自分でやってみた事と疑問点を書きます。
尚、学生時代にHTMLやCGIなどはちょっとだけ触ったことがあります。
また、Tomcatでの認証は試してみましたが、今回の質問はTomcatなどを使わない認証について
ご教授下さい。
一応、動作確認環境として
WindowsXP Pro SP2、JDK1.5.0_04、Tomcat5.5.9、Eclipse3.0.2、MyFacesを使用しています。
これまでやった事は、
・ログイン画面を作成(ユーザ名とパスワードの入力欄、サブミットボタンを配置)
・確認用にログイン成功時のWelcome画面(ようこそと表示されるだけ)
疑問に思っている事は、ログインしたという情報をどうやって保持するのか?という事です。
ログイン画面でユーザ名とパスワードを入力してサブミットさせ、
その情報を元にデータベースやファイルなどでユーザを検索する。(場合により暗号化?)
ユーザが見つかった場合はログインさせる。
見つからなかったらログイン画面に戻る。
ここまでの流れはいいのですが、”ログインしました”という情報をどうやって持つのか?
という疑問が湧きました。
セッションなどで例えばLOGINというキーにTrueといったように管理するのでしょうか?
そうした場合、セッション情報を弄られたらどうにもならないって事ですよね?
さらに疑問は、画面によってはログインされていても会社の部署とかの権限(ロール?)でもって
画面を使える・使えないの制御が必要だと思うのですが、これもどうするのでしょうか?
ログインしたのは誰?という情報を保持していないといけないと思うのですが、
セッションなどにユーザIDなどを埋め込んでおいて画面表示前に検証するのでしょうか?
この場合でも、ユーザがセッション情報を書き換えて上司などになりすます事が可能では?
>>290 HttpSession 使え。
弄られたら? HTML の HIDDEN 項目と勘違いしてるのか、誰が作ったかも分からない
プログラムと一緒に動かす気なのか… 権限どうするかって、自由に作れよ。
どうするかどうするかって、なんか Web も Java も知らない管理職が要件定義
してるみたいだな。
292 :
290:2005/09/10(土) 14:16:21
あ、そうかセッションの情報はサーバに格納されてるんですね。
だから、クライアントが分かるのはセッションIDだけで、
クライアントでセッションIDが分かってもサーバに格納されている情報までは見れないんですね。
という事は、セッションに情報を格納するためには、
セッションID毎にキーと値を格納しないといけないって事なんですか?
293 :
290:2005/09/10(土) 14:17:57
>>291 >どうするかどうするかって、なんか Web も Java も知らない管理職が要件定義
>してるみたいだな。
いえ、4月に入社したばかりで、WebもJavaもとりあえず研修で教えてもらった程度で、
今、先輩が設計したものを実装できなくて困っていまして・・・
まあセッションID書き換えれば成りすましはできるん違うか
HTTPとクッキーなら
296 :
281:2005/09/10(土) 14:31:52
ソースを貼ろうと再入力したところ
今度は難なく実行できました。
お騒がせいたしましたorz
昨日は確かに正確な入力したのに出たんですよぅ(´・ω・`)ドウシテ?
そりゃ正確な入力じゃなかったからだろ。
281でもfinallyのfを大文字にしてるしさ。
自分では気づいていなくても間違っていることは多い。
298 :
538:2005/09/10(土) 15:14:51
JAVA + Oracle で質問です。
JAVAからストアドをコールしてOUTパラメータを取得したいのですが、
そのパラメータが配列の場合にどうすればいいのか分かりません…
どなたかお教え頂けないでしょうか。
-----------------------------------------
DB側の情報です。
TYPEt_stringIS TABLE OF VARCHAR2(10)
INDEX BY BINARY_INTEGER;
PROCEDURE PLUS_INC(
i_numINNUMBER,
o_numOUTNUMBER,
o_stringOUT VARCHAR2,
o_stringArrayOUT t_string
) IS
299 :
298:2005/09/10(土) 15:15:30
すいません。538は間違いです…
300 :
デフォルトの名無しさん:2005/09/10(土) 16:37:57
書き込みさせていただきますm()m
ネットワークのプロトコルをJAVAを用いてシュミレーションするにはどのように
行えばいいのでしょうか?
JAVAの知識がほとんどなくてまったくわかりません。。
どのたか教えてくださいm()m
わかりやすい参考書やサイトなどを教えていただけたらうれしいです。
よろしくお願いします
>>300 > ネットワークのプロトコルをJAVAを用いてシュミレーションするにはどのように
> 行えばいいのでしょうか?
JAVAとは何のことでしょうか?
シュミレーションというのも意味がわかりかねます。
> どのたか教えてくださいm()m
どのたかとは?
揚げ足とってやるなよ。
SocketからとったStreamに対してプロトコルに沿ったデータを流すだけの話だな。
でもホントにシミュレーションでいいならStreamに流す必要さえないな。
>ネットワークのプロトコルをJAVAを用いてシュミレーションする
質問の意味がわからん
>>302 それはプロトコルをシミュレーションしているのではなく
プロトコルに応じたサービスをシミュレーションする方法の一つだな
>>300 リレーショナルデータベースいいたいだけちゃうんかと
リレーショナルデータベースってなに?
309 :
名無しさん@そうだ選挙に行こう:2005/09/10(土) 16:57:15
>ネットワークのプロトコルをJAVAを用いてシュミレーションする
質問の意味がわからん
わかった
と、いうことで
>>300 は無事解決ですね
それでは次の質問どうぞ
プログラマの質
VB=COBOL>java
>>309 仮想的なネットワークのモデルをJavaで作って、
プロトコルの安全性やらなんやらを定量的に検証したいのだろう
>314
トランスポート層のプロトコルをシミュレートするってこと?
それとも、もっと下の層かな?
316 :
名無しさん@そうだ選挙に行こう:2005/09/10(土) 19:57:10
すみません
物理層ですm()m
>>288 これを参考にしてみるといい。見づらいJavadocを読まされるのはたまったもんじゃないのに教えとく
<javadoc sourcepath="${source}"
packagenames="${packagenames}"
excludepackagenames="${excludepackagenames}"
destdir="${javadoc}"
author="true"
Version="true"
Overview="${source}/overview.html"
Encoding="${encoding}"
charset="${encoding}"
docencoding="${encoding}"
Verbose="yes"
Splitindex="true"
Windowtitle="WindowTitle"
Doctitle="DocTitle"
Header="Header"
Footer="Footer"
bottom="<span style="font-style:italic;"> Copyright © 2005 Company Name. All Rights Reserved </span >"
Use="True"
additionalparam="-J-Dhttp.proxyHost=host -J-Dhttp.proxyPort=3128"
>
<link offline="false" href="
http://java.sun.com/j2se/1.5.0/docs/api/" />
<!--
<link offline="true" packagelistLoc="file://localhost/C:/j2sdk1.5.0_04/docs/ja/api/" />
-->
</javadoc>
</target>
>>313 そ考えるのはプログラミング熟練者の質のことをいっているのだろうか。
俺の場合、こう考える
プログラマの質の高さ(高い順)
Smalltalk > Java > C# > D > VB.NET, COBOL.NET, COBOL2000 > C++ > C > VB, COBOL
319 :
名無しさん@そうだ選挙に行こう:2005/09/10(土) 20:05:55
>>298 果たして、このスレにストア度に詳しい人間がどれだけいることか。
ストア度だけならDB板のほうがよさげな予感。
@ITにあるJavaでストアドを実行するサンプルは三鷹?
321 :
名無しさん@そうだ選挙に行こう:2005/09/10(土) 20:07:41
>>296 Eclipseはプロジェクトをクリーン、F5で更新するとかしないと
古いエラーが残ったままになることがあるぞ。
322 :
名無しさん@そうだ選挙に行こう:2005/09/10(土) 20:09:55
>>289 エディタとして使う分だけでもEclipseはバカにならないぞ。
プラグイン拡張もバカにならない。
44億ドル相当のIDEをタダで使えることとプラグイン拡張がEclipseの最大の売りなだけに。
格好良いといだけでIDEの使用を拒むのは勿体ない。
>>318 これjavaしかできんアホプログラマーがc++プログラマーよりアホだと言うのか
自分自身の評価のみが自分の心の支えなんだね
>>318くそライブラリで口だけ達者なsmalltalkプログラマが1番上?
326 :
名無しさん@そうだ選挙に行こう:2005/09/10(土) 20:52:00
JNI〜JNI〜JNIギスカーン〜
>>322 なんでいつもEclipseを勧める人は金のことをいうのだろう・・・
乞食だから
>>289 その気持ちはわかるが
俺は一度リファクタリング機能を使ってしまってから
もう後戻りできない体になってしまったよ。
日曜プログラマにはお似合いだよ
まあ、いくらなんでも「コマンドライン」はないだろ
>>332 どういう意味? 論争にはまったく関係してない初心者なんだけど
ちょっと気になったもので。
コマンドライン書くほうがかっこいいって
そんなところにこだわるあたりが初心者御用達言語って感じだね。
でも、コマンドラインとか使わないで行き成りEclipseとか行くから
オプションとかクラスパスとか理解してないやつ多いんだよな。
それに、実際に仕事でも居たんだけど、ユーザの環境に持っていって、
ソースの一部が開発・テスト用に固定で書いていた部分が残ってたんだけど、
普通なら、サーバのLinuxでviとかユーザのPC1台借りて、その部分だけ書き直してコンパイルするだけなのに、
一々会社に戻ってきたんだよな・・・
しかも、それ出張。
東京から名古屋まで出張行って、客先のサーバに入れて、そういった不具合?があって、
そのまま帰ってきやがった。
でもって、次の週にまた出張。
当然、そんな事で追加の出張料金を客から貰う訳にいかないから、全額会社負担だよ・・・
336 :
名無しさん@そうだ選挙に行こう:2005/09/10(土) 22:55:26
コマンドラインでjavac・・
ってのはあまりにも非効率って事だろ
>>333 上級者はテキストエディターなんか使わず
コマンドラインで書くという意味だろう
$ cat > Hoge.java
とか
> copy con Hoge.java
か。うーむ、流石にそれはせめてスクリーンエディタが欲しい。
(つーかWindows、なんでeditを葬るかなぁ……vim入れれば済むけど)
そういえばJavaにはMakefileないなぁ
Antがある
341 :
名無しさん@そうだ選挙に行こう:2005/09/10(土) 23:11:29
印刷用ツールというかライブラリについてお伺いします。
WWWベースのクライアント−サーバーシステムと、スタンドアロンで動作する
リッチクライアントシステムの二つの方法論で、それぞれ別個の業務システムを
Javaで開発しようとしています。
その二つのシステムの印刷方法について、サーバーサイドでPDFを生成するツールと、
クライアント側でプリンターに出力するライブラリを探しています。フォーム専用エディター
で帳票を設計して、それとテキストデータを重畳して(またはAPIにて各フィールドに
データをセットして)印刷する、っていうヤツです。VB用ではいろいろありますね。
そこでお伺いしますが、皆さんがお使いまたはご存じの印刷システムの中で、
おすすめのものがありましたらお教え願います。希望としては、サーバーサイドと
クライアントサイドの印刷システムが同一製品群となっていて、なおかつ安価であ
れば嬉しいです。というのも、帳票エディターの操作方法や印刷テクニックを複数
習得する必要がないからです。
具体的には、グレープシティの「エリクサーレポート」やHOSの「シーオーリポーツ」
みたいなものです。(これらは悪くはないのですが、ちょっと高いです)
よろしくお願いいたします。
>>335 ノートPCに開発環境とソースいれてもってかなかったの??
俺もヘタレだからLinuxでビルドかけるのに半日はかかりそう・・
>>323 C++もJavaできない奴が何を意味不明なことを言っているんだい。
アホが質の高いプログラマになれるわけないだろ。
348 :
名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:13:59
>>331 リファクタリングすると日曜プログラマになるんだ。へぇーしらかなったなー。
初耳だー
>>335 実はいきなりEclipseに逝く香具師は意外と少ないと言ってみる。
JBuilderやNetBeansを使っているとクラスパス理解してない香具師が出たり
350 :
名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:16:07
>>335 お前の会社はVNCもVMWareも使えるスキルがアル奴がいないのか
>338->339
Ant + Emacsにすればいいだろが
>>337 catやmoreだけを使うのは賢い上級者とは思えないな。
antで設計したほうが賢い。
352 :
298:2005/09/11(日) 00:20:10
>>319 @ITにあるサンプルは拝見させて頂きました。
JAVAからOracleへのストアドのコール方法は書かれていましたが、
残念ながら配列での受け渡しではありませんでした。
どちらかといえば、Javaの記述方法についての疑問だったので
このスレに書かせていただきました。
DB板にも質問をしたいと思います
ありがとうございました。
○×式の問題で最後に正解と不正解を集計してくれる
プログラムを書いてください。
100問くらい作れればうれしいのですが。。
>>349 JBuilderはともかくNetBeansは4.0未満なら
逆にクラスパスが前面に出ていて初心者にはきつかったような
>>347 javaしか覚えられないからって嫉妬しちゃ駄目だぞ
cとかは無理だろうけどHTMLでもおぼえたら?
356 :
名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:31:58
357 :
名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:32:42
ば、馬鹿にするな
HTMLぐらい打てるわい
>>346 まさかとは思うが、
>>335の会社では
クラスパスの設定をすべて
環境変数のみで大量に列挙してるんじゃなかろうか。
最悪の場合、すべて絶対パスで、しかもディレクトリを移動すると
膨大なJARファイルへのパスを変更しないといけないなんてこともあったりしてな。
WindowsとLinuxではパスセパレータもファイルセパレータも違うし変数名の表記も%を使ったものと
$を使ったものという違いもあるし、同じLinuxやUNIXでもbashとtcshでは文法もだいぶ違うし。
もしそうだったら、はEclipseなどのIDEを使いすぎてヘタレになったとかじゃなくて
そのようなクラスパスを設計した奴が悪い。すべて同じ奴が
やったっていうならそいつの責任だが、
クラスパスを効率よく設定できない奴が最初にプロジェクトに関わって
そいつにやらせると、あとからプロジェクトに入ってきた人が
非常に迷惑する。クラスパスに限ったことじゃなく、プロパティファイル、
設定ファイル、Tomcatの設定、ファイル入出力プログラムなどすべてに
おいてこういうウザイことをする奴が結構いる。
不思議なことに、なぜかC/C++経験者に多い。
C++を知っているならオブジェクト指向を理解した影響でどうすれば開発効率を
挙げられるか必然的に考えられるようになってくるが、C++を知っていると
言っている奴に限ってなぜかオブジェクト指向もソフトウェア工学も知らない奴が多い。なんとも皮肉だが、
そいつらのせいでソースコードに絶対パスを平気でハードコーディングしたり
設定ファイルや設定情報が分散したり、
設定を変えるたびにコンパイルしてJARし直さないといけないなんて下らないことを
しないといけなくなる。で、そいつらがリーダーになったら最悪だ。
今度は、「ソースコードのこの行からこの行までは弄るな。」
「メソッドはprivate staticにしろ」などと細かくうるさいことを言い出す。
実際そういう目に遭ったぜ。まったく。バカを説得するのも随分苦労したぜ。
サンプルを見せて初めて理解できるものだが、そいつの場合、「時間がない」
といって逃げる始末。で、マネージャに話して初めてマネージャのみが状況を理解してくれた。
リーダーはだめだめだ。C++を知っている癖になぜそんなこともわからないのかと。
private staticばかりつかうなと。しかも同じクラスの中にすべてのコードを埋め込むなと。
ちゃんと他のクラスに委譲しろと。
>>355 スレ荒らしかお前は。
Javaしか覚えられない奴なんぞこの世にはおらんというてるだろが。
俺はJavaを習得するまえにすでにCを習得している。
クラスもろくに使えないCがそんなに凄いとは思えないが。
Cでもクラスは作れるとか継承できるとか言いそうだが、言うだけアホだぞ。
ソフトウェア工学上Cだけでそんなことをするのはあまりにも愚かだ。
c++できるのにjavaの案件に来てるんだからc++あんまできないってことでしょ
妄言「Javaしか覚えられない」を連呼するバカはスルーしろ
>>361 いや、そいつはダメな奴だったよ。
オブジェクト指向もろくにわかっていないことはすぐにわかる。
そいつのソースコードを見ただけで一目瞭然。
staticなメソッドばかりで構成されていれば
そいつのオブジェクト指向の理解度はたかが知れている。
ひとつのクラス内の行数が無駄に多い、
メソッド内の行数が1000行を超えている奴はレベルがかなり低い奴だ。
よって、その程度のオブジェクト指向や開発効率も
考えられない奴が、C++ができるなんて威張る資格はないってことだ。
365 :
353:2005/09/11(日) 00:47:00
宿題じゃないです。簿記とか色々な問題作成アプリ作りたいなぁと
思ったので。
自分が思うには
int a[];
a = new int [100];
a[0] ="問題";
みたいな感じかな?と思うのですが、激しく間違ってるようなきもします。
いかんせんJAVAの勉強が圧倒的にたりません。
>>363 そう言ったつもりなのだが
というかクラスも1000行以下にしてくれよ
今見直して思ったのですが
365では問題は作れても答えが出せない、正解なら〜 不正解なら〜 と
分岐させなければならない気がしてきました。
自分が思ってたよりはるかに高度な気が。。
368 :
名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:49:47
昔はC++ができただけで凄い、最強だと言われていた時代もあったろうけど
それも過去の話よ。
中国人が、素手で木材に釘を打てるのは凄いだろうけど、
ちゃんとトンカチや道具を正しく使っている人間のほうが賢く、仕事ができる奴だと見なされる。
トンカチがなかったらどうするって?
まさかそこまでして素手で木材に釘を打つなんて馬鹿げたことは賢い人間ならやるまい。
トンカチを探してくるか、買うか、他で代用するなどの工夫をするだろう。
C++で読みにくいコードを書いて凄い凄いなんて言っているのはあまりんもみっともない。
それどころかだらしない。部屋の整理ができない人間以上にだらしない。
オブジェクト指向も理解できない人間の書くコードは非常にだらしない。
C++でソースコードを無意味なtypedefや演算子オーバーロードで覆い尽くして書いた本人にしか
解読しにくようにして、自分の立場を守るために、
汚いコードをわざと書いて煙を巻くというみっともない牛歩戦術をして甘い汁を吸う時代は終わった。
>>366 そはも理想だけど、
checksyleを使ってコーディング規約をチェックしつつ
Javadocコメントとメソッド数が多いとクラスは軽く1000行超えてしまうものがたまにあるよ。
メソッドを他のクラスに委譲しても。
大抵のコードは1000行も超えないけれども。
Beanを作るとフィールドの数が数十あるだけでその分のsetter/getterメソッドの
数だけ行数が増えて、さらにJavadocコメントを追加すると1000行は軽く。
フィールド数10以上なんて設計に問題ありかな?
もう一つBeanを作って集約でまとめたほうがいいかな。
>>353 ServletやPHP, Perlで作れそうだなそれ
問題フォーマットパターンが一つに定まっていれば
かなり短いコードで実現できる。
>>368 過去の話って、javaはjavaだけで動くのか?
バカは何が言いたいのかね。
動くわけないだろうが
30過ぎてプログラム弄ってる奴の事だろバカって
あまりんにも
訛りだ訛り
>>372 それくらいは知ってたか。でもまだ理解できないのか
>>373 30過ぎてもオブジェクト指向を知らない奴のほうがみっともないと思う。
だが、それが現実なんだがな。なんとも皮肉なことよ。
で、そういう奴らが、無能で無知な営業やマネージャや丸投げ会社の担当
になって若い世代に対して無茶をいって見下して
うるさいことを言い出す。
30過ぎるまでにこういう奴を反面教師として見ておかないとな。
おれは30過ぎてもプログラミングやってるだろうよ。
だが、それ以外の重要なことももちろんやるともさ。
>>376 ぼやけたことを言って、
30過ぎて過去の栄光に浸りすぎてトチ狂ってもうたか?
オブジェクト指向を知らないことは図星かな。
それを隠すために何かを言いたそにしていることは面白いほど察しがつくぞ。
何かをバカに従っているが逆にバカにされて腹を立てているとな
そのうち、Javaを叩きたくてしょうがない彼は誤変換の揚げ足取りとかあら探しをしながら暴走しそうだから、
もうそろそろスルーよろ
380 :
341:2005/09/11(日) 01:27:50
>>344 ご紹介ありがとうございます。
これってXMLフォーマットで出力したデータを、専用ビューワで表示、印刷する
という方式なんですね。なるほど、こういうやり方もあるのか。たしかに、システム
の動作環境は選ばないですね。クライアントにビューワがインストールされて
いればいいわけで。
ただ、ドキュメント管理というか今までの習慣というか開発チーム管理の点から、
なんとなく帳票作成エディターでレイアウトを作成するという方式が好きです。
また、クライアントにビューワをインストールするという方式は、リッチクライアント
システムであれば問題ないのですが、WWWによるクライアント-サーバー
システムだと、ユーザにビューワをインストールしてもらう必要がありそうで、
ちょっと運用が大変そうです。
皆様がご使用中のツールやライブラリがございましたら、ご紹介のほどお願いいたします。
>>378 君にとってはオブジェクト指向が難しいことみたいだね
>>381 おいおい、今までのレスを見るとどうみてもむしろキミにとってのほうが
オブジェクト指向が難しいようだが。
それより、ちゃんと選挙に行けよ。
今夜の異論〜反論〜オブジェクト指向
>>383 なにをどう読んだらそういう理解になるんだ?そんなことじゃjavaすら読めないぞ
もうさ、俺のために喧嘩するのやめてよ。
気が付けば、
名無しさん@そうだ選挙に行こう になっているぞ
>>385 キミの行っているいみもわからないぞ。
とりあえずキミは
>>383の言うとおり、選挙にいきなさい。
388 :
名無しさん@そうだ選挙に行こう:2005/09/11(日) 10:23:03
public class A{
public static B B1;
public static B B2;
//ここでBクラスを使ったB1かB2のどちらかを乗せる(同時に稼動する事はありません。)
}
class B extends JFrame{
public static C C1;
public static D D1
//ここにJTextAreaの拡張であるCを乗せる
//その後、まったく関係ないDクラスのメソッドで、JTextAreaの拡張であるtextCを動かしたい。
}
class C extends JTextArea{
}
class D{
}
*****************************
イメージはこんな感じです。
Aの上にB1かB2のどちらかが稼動。(同時に稼動する事はありません。)
B1かB2の上にJTextAreaの拡張であるC1が稼動。
このC1をまったく関係ないクラスD1のメソッドで動かしたいのですが、
B1かB2のどちらが稼動しているかがAにしか情報が無いのでA.B1.D.setText("")のようにできません。
return("")で値を返す方式だとメソッドがそこで終了してしまうので、私の目的上これは困るのです。
なんかいい方法を教えて。
まぁモチツケよ
390 :
名無しさん@そうだ選挙に行こう:2005/09/11(日) 10:43:27
現在、Struts1.2+Tomcat5.5を使って開発していますが、JSPにて大量データを一覧表示する際に、
1ページn行とかで数ページに渡って表示させる(何というのかがわからない)するような
ライブラリがあったら教えてください。
日本語でも問題なく使えて、できれば、ヘッダ行でソートもできるのがいいです。
ASP.NETのDataGridみたいな感じのやつです。
>388
(1) instanceof で何とかする。
(2) Reflection で何とかする。
(3) 共通な操作を interface に定義して何とかする。
>>390 JSFならそういうのあるけど、Strutsはたぶん、無い。
高価な商用IDEにStrutsベースの独自フレームワークが組み込んであって、
そういう機能が実装されている可能性はあるけど・・・
>>388 なんだかよくわからんが
> B1かB2のどちらが稼動しているかがAにしか情報が無いので
なら、A にその責務を持たせる。
具体的には、
B1かB2にかの区別をしなくて済むような段階のオブジェクトを返したり
B1かB2かを適切に選択して値を設定するようなメソッドを A に持たせたり?
JOptionPane で「いいえ」にデフォルトのフォーカスを当てときたい場合はどうすれば良いの?
自民党に一票投じてきた俺様。
>>391 とりえあずB1かB2をうごかすのはパラメタライズするという手もあるんでない?
instanceofを無くすためにGenericsができたようなもんだし。
public class A<T extends JFrame>{
public static T B1;
public static T B2;
}
class B extends JFrame{
public static C C1;
public static D D1;
public do(){
B.D1 = new D(B.C1);
B.D1.textD();
}
}
class C extends JTextArea{
void textC();
}
class D{
private C c;
public D(C c){
this.c = c;
}
public void textD(){
this.c.textC();
}
}
397 :
名無しさん@そうだ選挙に行こう:2005/09/11(日) 19:04:33
>391,396ありがとうございました。
複雑でわかりにくい質問文なのに答えてくださってお尻。
なんだよオシリって・・・
>>396 よくしらないが、C++とかのテンプレートとは違い、
Javaのジェネリクスは実体はクラスが1個なので
static フィールドには使えないと思う気がする
400 :
名無しさん@そうだ選挙に行こう:2005/09/11(日) 23:20:44
JEditorPaneでHTMLを表示すると、表示が崩れてしまって上手く表示されません。
ヤフーのトップページなども文字が重なってしまうのですが、どうすればきれいに表示されるのでしょうか?
IEで表示しているのと同じように表示したいのですが・・・
>>400 1.4以前より 1.5以降の方が綺麗っぽい。
あとは見た目が気になるなら、setEditable(false) しておくと少しはマシになるかも。
それ以上を望むなら JEditorPane っつーか HTMLEditorKit とかを改造しないとダメ。
手っ取り早く IE と同じ見た目が欲しいなら JDIC で WebBrowserコンポーネン作ってるから、
それを使うとかした方が良いかも。
レンダラはあまり綺麗になってるとは思わんが、機能的に1.4系は実質使い物にならなかったのが
5.0でやっとサブミットの補足とかできるようになって使えるようになったよな
404 :
デフォルトの名無しさん:2005/09/12(月) 11:03:00
板違いだったら申し訳ございません。
質問なのですが、携帯電話のアプリでメール管理ソフトを作るのは不可能でしょうか?
無理
はい、次どうぞ
406 :
デフォルトの名無しさん:2005/09/12(月) 11:14:30
ありゃ・・・。
携帯版ポストペットとか作れたら楽しいかなと思ったのですが(;д;)
板汚し失礼しましたぁ。
>>406 作れると思うよ>携帯版ポスペ
その代わり所謂メールソフトとは別物になるし携帯のメールアドレスも
使えないけど……要はWEBメール+αって感じ。
んなわけねぇだろ
409 :
デフォルトの名無しさん:2005/09/12(月) 12:56:06
>>407 サーバ側で処理すれば
メールアドレスは使えるぞ。
ポストペットの古い奴しか知らないが
やろうとおもえばできる。
ただメールを送信するだけだしな。携帯電話側に、
ボタンを押さなくても自動送信できる機能があればの話だが。
携帯でのメール送受信はコストがかかるからやりたがらない人
もいそうな
例外処理で同じ例外クラスがスローされるときに
キャッチないで表示するメッセージをエラーした個所によって変えることは
可能ですか?
また、同一メソッド内で下のように
try {
// int型で数値を設定
} catch (Exception e) {
・
・
}try {
// 上記で設定したint型数値を使用
}catch (Exception e) {
・
・
}
することは可能ですか?
やってみればすぐわかることをなぜやらないかがわからない。
質問の仕方を変えます。
例外処理で同じ例外クラスがスローされるときに
キャッチ内で表示するメッセージをエラーした個所によって変える方法が
わからない、そもそもそういうことが可能か不可能か?
また、同一メソッド内で下のように
try {
// int型で数値を設定
} catch (Exception e) {
・
・
}try {
// 上記で設定したint型数値を使用
}catch (Exception e) {
・
・
}
したが、エラーが発生したので、私のやりかたが悪かったのか、
そもそもこういうことが可能なのか不可能なのか?
>>413 例外を throw するところで状況にあったメッセージを付けろよ。または状況が
分かる例外クラスを throw しろ。それができないなら発生箇所を細かく
try-catch で囲め。
catch ブロックの中に try-catch を記述するは可能。おまえのやり方が悪い。
catch ブロックの中にtry-catchを記述するのではなくて、
try {・・・}catch{・・・} ・・・ try {・・・}catch{・・・}と
同一メソッド内に記述したいんです。
前半のtry内で設定した変数などを後半のtry内で使用するとエラーが発生したので。
416 :
デフォルトの名無しさん:2005/09/12(月) 16:25:16
class IntRandom {
private int start,end;
IntRandom(int n,int m){
@;
A;
}
public int getIntRandom(){
B
}
}
問題:
nからmまでの整数乱数を発生させるIntRandomクラスを作成した。
オブジェクト生成時にnとmを渡し、メソッドgetIntRandom()により
乱数を得る使用となっている。@ABに適切なコードを入れよ。
Bはreturn (int)Math.random();だと思いました。
@とAが何をすればいいかよくわかりません。
お願いします。
>>415 ローカル変数はそのブロック内でしか有効でないから当然。
いやなら宣言だけブロックの外に出せ。
>>416 > Bはreturn (int)Math.random();だと思いました。
違います。宿題スレへどうぞ。
>>417 あ、スレ間違いました。
申し訳ないです。
>>417 初歩的なことを間違えていました。ありがとうございます。
状況にあったメッセージを付けることにします。
>>416 関係ないがコンストラクタで例外を投げたほうがよさげ。
421 :
デフォルトの名無しさん:2005/09/12(月) 20:10:37
【おまいら!】 台湾の国連加盟支持の御願い 【助けてください】
第60回国連総会が9月13日よりニューヨークの国連本部で開幕します。
平和主義の台湾は、これまで12年間、国連加盟を目指し努力してきました
が、中国の卑劣極まりない圧力に合い、いまだに実現していません。
みなさまの声が、そのまま国連へ送られます。
どうか、おまいらの底力を見せつけて下さい、おながいします。
http://www.gopetition.com/online/6889.html にアクセスしていただき「 Sign the petition 」←ここが署名のページです。
入力個所 First Name(名前)+ Last Name(姓)+ Email Address この3箇所を入力します。
※ (optional)は、未入力で大丈夫です。
※ フリーメールも大歓迎です。
だが断る
423 :
デフォルトの名無しさん:2005/09/12(月) 21:16:06
PocketPC(WindowsMobile2003SE)でJavaの開発はできますか?
DellのAxim X50vが欲しいのですが、できるようだったら即購入したいと思ってます。
425 :
デフォルトの名無しさん:2005/09/12(月) 21:52:46
ヒント:iアプリDX
428 :
デフォルトの名無しさん:2005/09/12(月) 22:31:22
JFrameから、テキストとボタンがあるJDialogを表示します。
ダイアログでテキストを入力してボタンを押すと
呼び出したフレームでダイアログに入力された値を取りたいんですが
どうすればいいんでしょうか?
取り出すメソッドを作る
430 :
デフォルトの名無しさん:2005/09/13(火) 01:48:06
文字列に入った特殊文字 !"#$%&'() を、
全て実体参照に変換してくれるようなメソッドってありませんか?
JAVA初心者です(プログラミング自体あまり経験がありません)、10月から職業訓練所のJAVAコースに行こうと考えてるのですが、それまでに何か勉強しといた方が良いことはあるでしょうか(この本を読んどいた方が良いとか)
係りの人には「やる気さえあれば良い」と言われたのですが、だからといって何の対策もなしに行くのはやる気がないかなと。
jdkいれてサンプルソースでも改造したら?無料だし
なにその訓練所って。無料なの?
僕もいきたいから連れてって
>>433 ハローワーク行って、「会社首になりました、再就職したいけど
なんの技能もありません」って相談すれば紹介してくれるよ。
求職者以外でも参加できるかはしらない。
自作のクラスの状態が変更したらイベントを発行して
その自作クラスを使用しているクラスはそのイベントに応じて処理をしたい場合には
どのようなコードを組めばいいのでしょうか..
例えば
class A extends JFrame{
private B[] btns;
}
class B extends JPanel{
boolean isChanged;
}
のようにクラスBの状態が変更されたかをisChangedが持っていて
クラスAは自身が持つ全てのクラスBが変更されてときに
ある処理を行うような場合のことです
状態変更ということでチェックボックスで使用する
ItemListenerとisStateChangedのような方法したいのですが・・・
>>436 PropertyChangeListener
あんまり濫用すると java の設計思想から外れていくかもしれんけど
438 :
431:2005/09/13(火) 14:16:52
>>433無料ですよ、テキスト代とかはとられるかもしれませんが。
>>434何が違うのかよくわからないのですが?
とりあえずまずは基本を固めるということで基本情報処理技術者のテキストでも読んでみましょうか?
439 :
222:2005/09/13(火) 15:17:26
すみません。
以下でプルダウンメニューの複数設置を考えておりますが、どうしたらよいでしょうか。
<FORM NAME="f">
<SELECT NAME="jumpto" onChange="Jump();">
<OPTION VALUE="-" SELECTED>移動先を選択</OPTION>
<OPTION VALUE="page1.html">Page1</OPTION>
<OPTION VALUE="page2.html">Page2</OPTION>
<OPTION VALUE="page3.html">Page3</OPTION>
</SELECT>
</FORM>
質問は明確に
441 :
222:2005/09/13(火) 15:27:24
なんか課題ください
1. FORM の名前を f 以外にする。
2. Jump() の引数にどのフォーム名かを指定できるよう修正する。
3. すれ違い。
4. 222 はおまえじゃない。
445 :
デフォルトの名無しさん:2005/09/13(火) 15:57:16
>>443 ありがとうございました。
やってみます!
222はそうでしたね、すみません!
スレ違ってましたでしょうか_| ̄|○ごめんなさい。
なんかこのスレ前見たときより
いい青年ばっかりいる
で言いたい事があって、xmlへのマッピングとかやるけど
class Object implements Node
ってなってくれれば終わりじゃない?とか妄想は膨らむんだけど
どうどう?
ちょっと間違い
いい中年ばっかりなのです。
誰ぞエスパー求む。
>>436 デザパタみてみたら?
addなんちゃらりすなーとremoveなんちゃらりすなーってのを自作するだけ
>>447 青年の次は何だ?
青年と中年との間ってのがあるはず。
辞書を引くと青年って25歳までなんだね。
おれ26歳。もう青年期おわっとる。もう中年か?
最近の20代の様子から30歳までを青年だと定義する傾向も出ているらしいが。
といわれたのが10年以上前からだったが。30過ぎてもNEETがいるくらいな
世の中青年扱いが多いのか。
>>446 CastorやRelaxarなどのデータバインディングツールを
使ってO-RマッピングみたいにJavaコード自動生成したほうが早いような気がする。
いい年したアニヲタヒッキー共の間違いだろw
453 :
436:2005/09/13(火) 20:31:55
>>437 返事遅れてすみません
有り難うございました.
Javaアプレットでアンケートフォーム入力してもらってメールで送信とかできる?
ダウンロードしたサーバ側に何か仕込んどけばできる。
458 :
デフォルトの名無しさん:2005/09/13(火) 22:12:20
だめです。
460 :
デフォルトの名無しさん:2005/09/13(火) 22:18:34
461 :
460:2005/09/13(火) 22:23:38
すいません、URIクラスのresolve()メソッドを使えばいいんですよね…
ド忘れしてました…
スレ汚しスマンです
おまいらどうしてJavaやってんの?学校の宿題?
高校?専門?大学?それとも独学?
独学で勉強中
Javaをマスターしたら素敵な王子様が白馬に乗って雇ってくれると信じてる
大学でやることっていうか金払ってまで勉強することじゃない。
まあ書籍代だけで3万くらいつぎ込んだけど・・・。
Cやってたから、ネットで調べつつで結構イケる
>>464 少女だったといつの日か想う時がくるのさ?
書籍代で3万って使いすぎじゃね?
俺ブクオフの105円×4でマスターしたぞ
10万円超えてるけどマスターしてないorz
オブジェクトなんちゃらほげほげなんていう怪しい本も入れての値段だけどさ
最近はAPIとかムックでもいい本出てるよな……
だいたい本高杉
>>462 独学でしたよ
アプレットとか面白そうだったから。
今は仕事でtomcatテラメンドクサs
他業種の勤務中に独学したなー
>>465 ソフトウェア設計法という授業でJavaがでてきた
>>471 Tomcatの面倒くささは
Apache AntとXDocletと
Apache MavenとEclipseで解決!
Tomcatに内蔵されたAdmin ToolとManager toolも使うべし
InetAddressに格納したIPアドレスを+1したIPアドレスを
得たいのですが、どうすればいいのでしょうか。
例えば、192.168.0.1から192.168.0.2を得たいのですが。
文字列に直してそれをまた整数に直してから+1して…ってやるしかないんでしょうか。
あたりまえじゃん。
それがいやなら、Perlでもつかえ。
>>477 if (str.equals("192.168.0.1")) return "192.168.0.2";
if (str.equals("192.168.0.2")) return "192.168.0.3";
…
…
481 :
デフォルトの名無しさん:2005/09/14(水) 07:52:59
>>477 public static InetAddress inc(InetAddress inetAddress) throws UnknownHostException {
byte[] b = inetAddress.getAddress();
for (int i = b.length - 1; i >= 0; i--) {
if (++b[i] != 0) {
break;
}
}
return InetAddress.getByAddress(b);
}
おもっくそスレ違いなんだけど失礼して
>472
同じ!!!はじめて同じ人居た!元人事
483 :
デフォルトの名無しさん:2005/09/14(水) 10:30:49
JTextPaneに文章を打ち込み
それを部分的に赤の文字や青の文字に変えてその文章を保存したのですが,
保存した文章を見ると,赤や青の文字が黒にもどってしまいました.
JTextPaneに打ち込んで赤や青に変換した通りに保存できないのでしょうか??
文章がへたくそで伝わるかわかりませんが返信おねがいします
保存っつーとテキストか何かに書き出したのかな。
テキストファイルには色情報は無い。 当然、太字などのスタイル情報も無い。
だから、「どこからどこまではこの色」とかの情報も保存しないと戻せない。
rtfとかもあるけど、とりあえずhtml形式で書き出しとけば。
485 :
デフォルトの名無しさん:2005/09/14(水) 12:17:36
それが嫌なら禁断のオブジェクトファイルを使ってみろとか言ってみるテスト。
486 :
デフォルトの名無しさん:2005/09/14(水) 12:32:48
487 :
デフォルトの名無しさん:2005/09/14(水) 14:26:26
もう一度すいません。483です。
rtfやhtmlで書き出す場合,どのようにしたら
よろしいのでしょうか?
入出力で読み込む場合,String型やint型でとってくるので
色情報とか無理じゃないんですか?
*質問は一人一回まで
>>487 そのファイル形式に自分で成型して書き出すんだよ
読み込むときはそのファイルから形式に従って各情報を自分で読み出すんだよ
490 :
デフォルトの名無しさん:2005/09/14(水) 14:38:33
>489
ありがとうございました。
チャレンジしてみます。
491 :
438:2005/09/14(水) 16:02:47
>>444 ありがとうございます、そうしてみます。
>>478,479,481にだれもつっこまんのか?
下のプログラムをコンパイル、実行すると、
jdk-1_5_0_04 では
X ボタンで終了しようとすると必ずプログラムが「応答なし」状態に入ってしまいます。
JDK をアンインストールし、
j2sdk-1_4_2_09 をインストールした後に全く同じように試したところ、
こちらでは問題無く終了できました。
これは JDK 5.0 のバグなのでしょうか。
それとも僕に過失があるのでしょうか…
import java.awt.*;
import javax.swing.*;
public class SwingTest1 {
public static void main(String[] args) {
JFrame frame = new JFrame("HelloSwing");
JLabel label = new JLabel("Hello World!");
Container cont = frame.getContentPane();
cont.add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
問題なく実行できたが
Jreとかの情報もほしぃ
495 :
493:2005/09/14(水) 21:25:00
早速のコメントありがとうございます。
JRE は jdk-1_5_0_04 同梱のものでした。
再インストールしても全く同じ状況が再現されました。
関係無いかもしれませんが OS は WinXPPro です。
試したけど
(build 1.4.2_07-b05)も
(build 1.5.0_01-b08)でも
問題なかったよ、
同じ環境だけど大丈夫だった
498 :
493:2005/09/14(水) 21:40:52
そうですか…。
僕のは (build 1.5.0_04-b05) です。
他の JRE は同居させていません。
今再々インストールして確認してみましたが、
やはり終了を試みるたび「応答なし」になってしまいます。
どうもご協力ありがとうございました。
ローカルで実行?ローカルじゃないと出そうな気がしてきてきたくもこなくなくないこともないかもしれなくもない
コマンドラインからそれともEclipseとかから?
501 :
493:2005/09/14(水) 21:47:08
たびたびすみません。もう一つだけ。
コントロールパネル → Java Plug-in から起動できる
「Java コントロールパネル」も正常終了できません。
ウィンドウが閉じずに「応答なし」になってしまいます。
JRE のバグでは無いでしょうか?
502 :
493:2005/09/14(水) 21:47:58
ローカルで、コマンドラインです。
WinXP のコマンドプロンプトから起動しています。
悪名高きMicrosoft VMを使ってるってことか・・・
504 :
493:2005/09/14(水) 21:56:01
>> 503
いえ、Sun から純正(?) Java をダウンロードし、
ちゃんとパスを通して使っています。
まわりくどくてすみませんでした。
CPU,PCベンダの情報が
Sunの使用してるのにJavaPlug-inがあるのね
507 :
493:2005/09/14(水) 22:10:13
>> 505
すみません。
Pentium 4 (3Ghz) でベンダは Dell です。
>> 506
Java Plug-in (Java コントロールパネル) でバージョン情報を表示させると、
Java 2 Platform Standard Edition
バージョン 1.5.0 (ビルド 1.5.0_04-b05)
Copyright 2005 Sun Microsystems, Inc.
と出るのでてっきり Sun のを使っていると思いこんでいたのですが、
まさか実は Microsoft の VM を使ってしまっているのでしょうか。
MS JVM じゃそもそも実行できんコードだろw
多分 Java 的なものではなく JRE とあんたの環境 (グラフィックボードのドライバ
とか) の相性だと思うが。とりあえず Windows Update して DELL のサイトから
最新のドライバ入れてみ。
あと、Eclipse などからデバッグ起動し、反応なし状態になったら Eclipse から
「ブレーク」 してみ。Java のどっかで無限ループしてるならそこで (Java Core
の中でも) 処理が止まるはず。
ベンダ同じで
あっしのバージョンは
バージョン 1.5.0 (ビルド 1.5.0_04-b05)
Copyright 2005 Sun Microsystems, Inc.
All rights reserved. Use is subject to license terms.
と同じだけど実行しても問題なかったっす
1.3あたりからいっきに信頼感あがったよね1.4なんて不可解な挙動みたことない
1.5で若干ぶれだしたけど取り戻してく、SUNはすごいね
長いものには巻かれたいので言わせてもらいました
すれ違いだがジャギーでまくりのガタガタ和文フォントそろそろなんとかせれ。
>>510 ずっとJava2DとSwingさわってきたが1.3.1からの安定性は確かに高い
が、1.4.xは初期はわりと問題だらけだったぞ
>>511 そんなにジャギーでる?
アンチエイリアスは簡単に出来るけどぼやけて見にくいが
513 :
493:2005/09/14(水) 23:29:07
>> 508, 509
ありがとうございます。
ドライバを更新したものの改善されませんでした。
思い立って、セーフモードで実行してみたところ、
admin でログインすれば正常終了できることが確認できました。
いつもの user (管理者権限) でログインした場合は、
セーフモードでも駄目でした。
あまり長く続くのも何なので、ここまでにして引き上げます。
どうもありがとうございました。
514 :
デフォルトの名無しさん:2005/09/15(木) 02:30:17
すごい基本的なことで申し訳ないんですけど。
メソッドに引数を渡す場合と渡さない場合の
違いは何ですか?
よろしくお願いします。
515 :
デフォルトの名無しさん:2005/09/15(木) 02:32:40
UMLのクラス図からJAVAでプログラミングするとき
どういったことからはじめればよいのでしょうか?
何をまずはじめのかんがえるかとか・・・。
よろしくお願いします。
>>514 C言語などの「関数」について触れてみることをオススメする。
クラス図のクラスを、Javaのクラスで実装すればいいんじゃねーの?
そのまんまだよ。
C言語などと・・ 貴様JAVAだけをやれい
Java で縮小した画像を ImageIO を使って保存すると、まるでグレースケールを
Red チャネルにしたような赤みがかかってしまいます。ただしその画像を ImageIO
で読み出して表示してみると意図した縮小画像になっています。何か指定が
おかしいのでしょうか? 縮小処理は以下の通りです。
int w2 = 100, h2 = 100;
Image image = ImageIO.read(url);
int w = image.getWidth(null);
int h = image.getHeight(null);
BufferedImage original = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
original.getGraphics().drawImage(image, 0, 0, null);
BufferedImage thumbnail = new BufferedImage(w2, h2, BufferedImage.TYPE_INT_ARGB);
Graphics g = thumbnail.getGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, w2, h2);
Image temp = original.getScaledInstance(w2, h2, Image.SCALE_SMOOTH);
g.drawImage(temp, 0, 0, null);
ImageIO.write(thumbnail, "jpeg", file);
(別メソッドに分かれてるのを切り貼りしたのでコンパイル通らんかも。)
元画像と縮小後の画像です。
http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20050915024249005.jpg (元画像)
http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20050915024934006.jpg (縮小後)
うは、Explorer や Windows ファイルビューアで見たら真っ赤だったのに
Internet Explorer だと表示されない。じゃ、そもそも壊れてんじゃん orz
失礼しました
>>520 四つん這いになって「お願いします」と言いなさい。
縮小後こわれてるぞ
524 :
519:2005/09/15(木) 03:15:19
TYPE_INT_ARGB を TYPE_INT_RGB に変えたらうまいこと JPEG で保存できた。
保存する形式によって画像をアルファチャネル付きかどうか変えなきゃいけない
のね。
525 :
1:2005/09/15(木) 07:44:14
ServletでBeansに値を入れてJSPで表示するプログラムを作成しています。
ですが、ServletでセットしてもJSPで表示することができません。
また、JSPでセットしてJSPでゲットするとうまく表示されます。
対処法を教えてください。
ソースの一部
<Servlet>
ConBeans cntr = new ConBeans(); //Beans
prgNo = req.getParameter("cmdp"); //JSPからパラメータを入れる
cntr.setPrgNo(prgNo); //Beansにセット
<JSP>
<%@ page import="パッケージ名.ConBeans" %>
<jsp:useBean id="con" class="パッケージ名.ConBeans" scope="request" />
<%
String inStr = con.getPrgNo();
out.println(inStr);
%>
526 :
2:2005/09/15(木) 07:46:07
<Beans>
package パッケージ名;
import java.io.*;
public class ConBeans implements Serializable {
private String prgNo;
/* コンストラクタ */
public ConBeans() {
this.prgNo = "";
}
public ConBeans(
String prgNo
) {
this.prgNo = prgNo;
}
public void ConBeansClear() {
this.prgNo = "";
}
public void setPrgNo(String prgNo) {
this.prgNo = prgNo;
}
public String getPrgNo() {
return this.prgNo;
}
}
527 :
デフォルトの名無しさん:2005/09/15(木) 09:14:08
>>525 ビーンを受け取る上記の<JSP> ファイルがHTMLのフレームの中
だったりしませんか?リクエストスコープだと、フレームの中だと消失
しちゃいますよ。セッションスコープで試してみては?
528 :
デフォルトの名無しさん:2005/09/15(木) 09:54:02
初心者質問で失礼します。
winXPでjava1.5をインストしてコンソールで"HelloWorld"を確認した後、
Eclipseをインストールして、次にomondeを入れようとして、jarファイルを
ダウンロードしたのですが、JARファイルをどのようにすれば、Eclipseに
取り入れられるのか解りません。
サイトによると、ダブルクリックすればインストーラーが起動と書いてあったりするのですが、
windowsの関連づけが無いと言われてしまいます。
コマンドプロンプトからjava -jar 対象のJARファイル名
531 :
デフォルトの名無しさん:2005/09/15(木) 11:07:11
<input type = "hidden">で使われるhiddenとは
どういうときに使えば(使われる)のですか?
隠すという意味はわかるのですが、初心者なんで
よくわかりません。
教えていただけますか。お願いいたします。
HTMLスレで聞けハゲ
throw new NullPointerException()
534 :
デフォルトの名無しさん :2005/09/15(木) 13:01:10
test
>>529 うまくできました。ありがとうございました。
>>536 拡縮処理はそうだが、これは出力フォーマットの特性の問題だろ。
解決策を見ても拡縮処理とは関係が無い。
質問です
apacheTomcat5.5をインストールしました。
起動し、アイコンを右クリックしスタートしたんですが
http://localhost:8080/ にアクセスしても
tomcatの画面になりませんでした。
解決法などご存知の方教えてください。
※前にPHP作成のために別apache入れたことがあったのですが
もしやそれが原因でしょうか?
起動してないんだろ
起動できてないんだろ
起動しなければどうということはない
起動のしかたに心がこもってない
544 :
デフォルトの名無しさん:2005/09/15(木) 18:09:57
545 :
493:2005/09/15(木) 19:02:56
Java5 で Swing アプリケーションが実行時にハングアップする問題は、
SKKIMEのバグが原因でした。
どうもお騒がせしました。ありがとうございました。
>>545 有耶無耶になった質問の結果報告をちゃんとしに戻ってくる
そんなオマイの態度が大好きだ!
オマイこそ2ちゃんねらの鏡、ねらオブザねらだと呼びたい。
お聞きしたいのですが、javaでメニュースクリプトをつくって、背景を透明にしたいのですが、
何と書けばいいのでしょうか?
javaやってる香具師の何割がヲタ?
javaの萌え本とかでてる?
つ萌え単語帳
>>547 javaでスクリプトインタプリタを作るのか?
>>550 気にかけてくれてサンクス。自己解決でけた。
やったー!!
>>545 どこかのバージョンの JDK にも ATOK との相性の問題とかあったな。
よく報告に戻ってきた。それに付けても
>>551 は… (透明化くらいまぁ良いけど)
>>548 おまいのヲタの定義が萌え系なら
俺はヲタじゃないし、ヲタはかなり少ないと思われ。
汗んぶら系、C系, Perl系、*BSD系にそれ系の怪しいヲタが多そう。
とくに*BSD系は怪しい香具師ばっかり。
しかも彼らはJavaが大嫌いな香具師が多い。
よってJava系にはヲタが少ないと思われ。
>544
全然詳しくなくて期待してる答えじゃないんだけど
気になってしょうがないんだったら再現するコードだけ引っこ抜いて
貼った方がいいと思うぜ!!そのURLだけだとそのお二方の状況はわかるけど
あなたの状況まるでわかんない
JMF を使って動画のサムネールを作成しようとしているんだけど、MPEG-1 だと Windows ネイティブで
(って表現が正しいか分からんが) 処理されるため、画像取得に必要な FrameGrabbingControl, Buffer
が取れないってので良いのかな。QuickTime なんかは出来るんだが。
↓の Cross Platform Version がサポートしているものしかだめなんか?
http://java.sun.com/products/java-media/jmf/2.1.1/formats.html MediaLocator locator = new MediaLocator(url);
DataSource source = Manager.createDataSource(locator);
Player player = Manager.createRealizedPlayer(source);
final Object signal = new Object();
player.addControllerListener(new ControllerListener(){
public void controllerUpdate(ControllerEvent e) {
if(e instanceof PrefetchCompleteEvent){
synchronized(signal){signal.notify();}
}
}
});
synchronized(signal){
player.prefetch();
try{signal.wait();} catch(InterruptedException ex){/* */}
}
FrameGrabbingControl frameGrabber =(FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl");
if(frameGrabber != null){
Buffer buffer = frameGrabber.grabFrame();
Format format = buffer.getFormat();
if(format instanceof VideoFormat){
BufferToImage bti = new BufferToImage((VideoFormat)format);
return bti.createImage(buffer);
}
}
557 :
デフォルトの名無しさん:2005/09/16(金) 05:55:56
すいません質問なのですが下の問題の答えを見ても意味が分かりません
どなたか、教えてください
public class Sample{
public static void main(String[]args){
Sample obj=new Sample();
obj.foo();
}
(a)
}
class A{}
class B extends A{}
上記の(a)の部分に記述する文として下から適切なものを選択して下さい
1.public A foo(){ 2.public A foo(){ 3.public B foo(){
return new A(); return new B(); return new A();
} } }
4.public B foo(){ 5.public Object foo(){ 6.public Object foo(){
return new B(); return new A(); return new B();
} } }
7.public A foo(){ 8.public B foo(){
return new Object(); return new Object();
} }
解答 1.2.4.5.6
Superクラスの型でサブクラスのオブジェクトを扱えるけど
その逆のSubクラスの型ではSuperクラスのオブジェクトは扱えない
と言うきまりを解ってほしいと意図している問題じゃない?
メソッドの戻り値でもあてはまると。
これが問題の全文じゃないんだろうから詳しくはワカランが
回答者にかなりのエスパーっぷりを要求する設問だな
>>544 JListって選択項目が変わったときってアクションイベント発生してなかったっけ?
>>557 「適切な」ってのが頭を悩ますな。メソッドの意味ねーし。
単に、コンパイラを通るのが解答と思われ。
562 :
デフォルトの名無しさん:2005/09/16(金) 12:42:33
{( a="test" , b=1 , c="2005/12/22") ,
( a="test" , b=2 , c="2005/12/20") ,
( a="test" , b=3 , c="2005/12/24") }
こんな感じの文字列から、HashTable(HashSet)のようなデータ構造をこしらえてくれる
ものをご存じの方いませんか。自前で実装する時間がほとんど無くて…ううう(;´д`)
>>562 どこがどう文字列なのか。
それ全部が入ったテキストファイルがあるとかそういうことなのか。
何がキーで何が値の Map 構造が欲しいのか。
疑問は尽きないが、答えは「ない」。
あるいは定義だけ書けばやってくれるライブラリもあるかと思うが、
それを探して習得するより、自前で実装する方が早かろう。
564 :
562:2005/09/16(金) 13:13:54
>>561 ありがd。少しテンパってたよ(;´д`) 実装する時間がもらえたので自前で頑張りマッスル
565 :
login:Penguin:2005/09/16(金) 13:28:04
全く同じプログラムをVisual CafeとEclipseでコンパイルしました。
どちらもコンパイルエラーは出ませんでした。
このイメージを走らせたときVisual CafeのほうだけJDBCのロードに失
敗するんですけどなんでそうなるのかわからない・・・。
EclipseはリモートデバッグできるけどVisual Cafeはできないし・・・。
>557
すげー舌足らずな問題だね答えないと問題の意味理解できないねこれ
俺的には9番以外不適切に見えるんだけどまーいいや
9. void foo() {
}
>>565 ハンドルからして
Linuxを使いこなしているのか。
>>557 その問題ってSunのJava認定試験の問題?
だとしたらSunのJava認定試験ってかったるい問題が多そうだな
>>562 正規表現使って文字列をパースしてから
List list = new ArrayList();
for(int i = 0; i< 行数; i++){
Map map = new HashMap();
map.put("a", a);
map.put("b", b);
map.put("c", c);
list.add(map);
}
質問です。
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
のエラーが出るので、
>>1に書いてあるとおり、set CLASSPATH=%CLASSPATH%;.と書いて、
一応動くようになるのですが、コマンドプロントを落とすと、またリセットされてしまいます。
これはどうにかならないのでしょうか?
571 :
570:2005/09/16(金) 23:45:21
自己解決orz
CLASSPATHの最後に;.と設定したら動きました・・・。
>569
それで何をとるんだい?
数列(?)をみるぶんにbがidとなりそうだから
Mapのkeyにbのvalue
valueにStringを入れ込むほうがよくないか?
573 :
デフォルトの名無しさん:2005/09/17(土) 00:40:13
Javaでファイルのコピーを作りたいときは
どうやったらいいのでしょうか?
例)
file.txtのコピー
file.txt.bakを作成したい。
わからなかったのでとりあえず
FileInputStreamで読んでFileOutputStreamで吐き出すように書きました。
これだとファイルスタンプを保持できん・・・。
>573
ファイルスタンプ(?)がなにを意図してるか解らんが
Runtime.getRuntime.exec(command);
では無理?
575 :
デフォルトの名無しさん:2005/09/17(土) 00:58:28
>574
間違えました、ファイルスタンプではなくてタイムスタンプです。
この方法だとOSに依存しない?
まあ、OSが何かを見てcommandを変えるしかないかな
577 :
デフォルトの名無しさん:2005/09/17(土) 02:53:45
>576
もっとスマートな方法は無いですか?
OSをどうやって見分けるかも気になる・・・。
>>577 バカとそうでない人間を見分ける力は必要w
File#setLastModified(), File#lastModified()
最近やりはじめなんですが、コンパイル後のClassを消して、
次に同名でClassを作ると、前回作ったClassが生きていて
新しく作ったClassが生きません。どうすればいいんでしょうか?
素直に再度コンパイル
Mac mini 買ったんですがSunのJDKがインストールできません
なぜなんでしょうか?
>>582 Mac mini と Sun の JDK の間には関係が無いです。
あなたの質問は
「リンゴを買ったんですがコーヒーが飲めません。なぜなんでしょうか?」
というレベルの質問と同様にズレた質問です。
584 :
580:2005/09/17(土) 08:50:55
素直に再度コンパイルして、新しくClassが出来てるんですけど
前のClassが生きてて・・・。
>>580 具体的な操作手順も示さず
生きてるだの何だのと勝手な用語を使われても
まともな回答なんか期待できませんよ。
> どうすればいいんでしょうか?
あなたはJavaの初心者云々以前に
質問の初心者ですから
まずは質問の仕方を勉強しなしてきたらよいと思います。
>>582 SunのJDKはMacPCにはインストールできませんアーキテクチャ対応していないから・・・
Mac実装のJDKが落とせるはずなのでそれを使いましょう
∩___∩ |
| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
>>586 ( \ / _ノ | |
.\ “ /__| |
\ /___ /
SunのJDKはインテル系とAMD系SPARC系のみしかインストールできないね
PPCはIBM?Apple?
JMF でサポートしているファイルタイプや Content-Type の一覧って取れないの?
API リファレンスざっと見たけどそれっぽいのが見当たらない。
あのー、複数のjarファイルをCLASSPATH環境変数に設定するときって
こんなふうにjarファイルそのものをパスにしないといけないんですか?
set CLASSPATH=C:\jarファイル格納フォルダ\jarファイル1.jar;C:\jarファイル格納フォルダ\jarファイル2.jar
それともjarファイルをまとめていれたフォルダのパスでもよいのですか?
set CLASSPATH=C:\jarファイル格納フォルダ
>593
jarいっこずつ。
マンドクサイならant使えば多少幸せになれるかも。
いっこずつ、ゆーと変だな
言いたいことは「前者○、後者×」ということでつ
596 :
593:2005/09/17(土) 13:41:20
>>593 >>594の言うとおり、絶対Ant使ったほうがあとで後悔しないぞ。
環境移行が楽になるからな。
599 :
デフォルトの名無しさん:2005/09/17(土) 16:39:17
>>573 file.txtをコピーするのではなくfile.txt.bakにリネームして
新たにfile.txtを作ればよい。(リネームの方法は下記参照)
File file1 = new File("C:\\z\\test.txt");
File file2 = new File("C:\\z\\test.txt.bak");
file1.renameTo(file2);
600 :
デフォルトの名無しさん:2005/09/17(土) 17:04:50
package test;
class Sample {
public static void main(String[] args) {
int n1 = Integer.parseInt("8");
int n2 = Integer.parseInt("255");
System.out.println(n1 & n2);
}
}
なんでこれで出力結果8なんですか?
>600
8じゃなければ、どんな結果になると思いましたか?
00001000
.&) 11111111
-----------
00001000
603 :
デフォルトの名無しさん:2005/09/17(土) 17:09:20
>>601 いや、検討がつきませんでした。
テキストの問題であったんで。
604 :
デフォルトの名無しさん:2005/09/17(土) 17:10:06
>>599 ファイルセパレータに\\を使うのはイクナイ!
C: やってる時点でどうでもいい
607 :
デフォルトの名無しさん:2005/09/17(土) 22:22:20
Javaであるバイナリデータを吐き出すプログラムを作っているのですが、
Java には unsigned の 1 byte を表現できるデータ型がないのを知りました。
byte は signed でしか使えず、唯一のunsigned 型であるchar は2 byteデータなんですよね?
今は仕方がないので、StringBuffer に2byteづつデータを詰め込んで最後にchar[] で吐き出さ
せる方法をとっていますが、もっとスマートな方法はないものでしょか?
こういう場合の定石があったら教えてください。
608 :
デフォルトの名無しさん:2005/09/17(土) 22:27:28
ファイルに関連付けられたアイコンを取得するにはどうすれば
いいのでしょうか?
>>606 /で統一したほうがJava的にはすっきりする。
それから絶対パスをハードコーディングするんじゃない!
そいつは使用禁止だ!
今気づいたが Swing の JTextField や JTextPane で [CTRL]+[SHIFT]+[O] 押すと
右寄せ/左寄せが切り替わるのな。
>>607 バイナリ自体には符号付も符号なしも関係ない。1 バイト幅で 255 を出力したきゃout.write(255 & 0xFF);
読み込みしたきゃ
int num =
>>607 普通にbyteを使えばいい。
必要に応じて0xffとの&をとって自分でunsigned化する。
失礼、書きかけで送ってしまった。
>>607 1 バイト幅で 255 を出力したきゃout.write(255 & 0xFF);
それを読み込みしたきゃ int num = in.read() & 0xFF; (← EOF チェック省略)
>>608 Java だけでは出来ません。JNI 使ってください。
>>607 基本的には byte で扱って、必要な場合に byte_value & 0xFF とか (byte)unsigned_value とかする。
>>608 ・JConfig を使う
・JDIC の Icon Service を使う。(Mustang か JDK7.0に入るかも?)
・自分でJNI使って取得する。
どれでも好きにすれば良い。
>>610-612 入出力はそうかもしれませんが、プログラムでバイト配列の操作をするときに、
byte[] data = { 0x79, 0x80, 0x81, 0x82 };
byte data = 0xff;
こんなのがどちらもコンパイルエラーになってしまいます。
これでは、バイナリデータの操作がしにくいと思うんですが。
とおもったけど、こうすればいけるかぁ。
byte[] data = { (byte)0x79, (byte)0x80, (byte)0x81, (byte)0x82 };
byte data = (byte)0xff;
んー。
>>615 それは慣れるしかねーな。俺もそう思ったことあるし。
>>608 16x16 のアイコンでよければ
・javax.swing.filechooser.FileSystemView#getSystemIcon(File) を使う
ってのもあるね。
>615
どうしてもプログラム中バイト配列を固定値で初期化せんならんなら
byte[] data = "\u7980\u8182".getBytes("UTF-16BE");
正直良コードとは自分でも思わないが。
どうも、ありがとうございました。
ちょっと面倒ですが、キャストしながややってみようと思います。
char[] から解放されるだけでも、こっちのほうがよさそうです。
620 :
デフォルトの名無しさん:2005/09/17(土) 23:26:05
SwingのImageをSWTのImageに変換するにはどうすればいいのでしょうか?
>>620 BufferedImage(っつーか、RenderedImage の実装クラスなら)
javax.imageio.ImageIO#write() で、SWTがサポートする形式のファイルに書き出してから
org.eclipse.swt.graphics.Image をファイルから作成する。
もしくは java.awt.image.PixelGrabber とか使って画像データ読み出して
画像データから org.eclipse.swt.graphics.ImageData 作成、
ImageData から org.eclipse.swt.graphics.Image を作成するとか。
624 :
デフォルトの名無しさん:2005/09/18(日) 00:46:45
TimerTaskは一度スケジュールされると二度と使えないのでしょうか?
cancelした後でスケジュールしても例外が投げられるので困っています。
>>624 API仕様を読め。
> IllegalStateException - タスクがすでにスケジュールされたか取り消された場合、
> タイマーが取り消された場合、またはタイマースレッドが終了した場合
二回スケジュールできるとか、
cancelした後でスケジュールできるような実装は仕様違反。
626 :
デフォルトの名無しさん:2005/09/18(日) 06:30:01
>>599 例示の内容をあげつらうなんて、お前ら馬鹿だろ?
こういう奴らがのさばっているから、この業界はダメなんだよ
m9(^Д^)プギャー
628 :
デフォルトの名無しさん:2005/09/18(日) 06:46:39
>>624 TimerTaskを使いまわしたいようだけど、まさかTimerTask自体にやらせたいことを実装していないよね?
629 :
デフォルトの名無しさん:2005/09/18(日) 08:16:47
>>625 了解しました。メンバクラス化して何度も作れるようにします。
>>628 以前はしてましたw
メンバメソッドを呼び出すだけのrun()を
メンバクラス(非static)に持たせる方法を選択したのですが
これなら生成コストも安く済みますか?
630 :
620:2005/09/18(日) 08:53:47
アイコンを表示できましたが、背景が黒くなってしまいました。
エクスプローラのアイコンのような背景にするには
どうすればいいのでしょうか?
public static Image getImage(Display display, Object element) {
Image image = null;
try {
image = new Image(display, 16, 16);
FileSystemView view = FileSystemView.getFileSystemView();
ImageIcon icon = (ImageIcon) view.getSystemIcon(new File("C:/OemOut.ini"));
java.awt.Image awtImage = icon.getImage();
PixelGrabber pg = new PixelGrabber(awtImage, 0, 0, 16, 16, true);
try { pg.grabPixels(); }
catch (InterruptedException e) { }
int px[] = (int[])pg.getPixels();
631 :
620:2005/09/18(日) 08:55:28
つづき
GC gc = new GC (image);
image.getImageData().setPixels(0, 0, 16, px, 0);
for (int y = 0; y < 16; y++) {
for (int x = 0; x < 16; x++) {
int p = px[ y * 16 + x];
int r = p
>>16 &0xff;
int g = p>> 8 &0xff;
int b = p &0xff;
Color color = new Color (display, r, g, b );
gc.setForeground(color);
gc.drawPoint(x, y);
}
}
} catch (Exception e) {
return null;
}
return image;
}
632 :
デフォルトの名無しさん:2005/09/18(日) 08:58:14
>>629 C++を知らないからメンバメソッド・メンバクラスという言葉が
はっきりわからないけど、委譲していればTimerTask自体のnew
だけになるから、生成コストは安く済むと思うよ
>>629 おまえさん言葉がおかしいよ
メンバメソッドなんて言わねぇから
カスにカス呼ばわりされました(^ω^;)
とカスが言ってます
C++だとクラス化されていない関数があるからおかしくはないと思う
>>630 SWT でファイルに関連付けされたアイコン出したいんなら
return new Image(display, Program.findProgram( "拡張子" ).getImageData());
が簡単かな。 null チェックとかしてないけど。
639 :
620:2005/09/18(日) 10:44:52
>>638 ありがとう。
できれば拡張子ではなく、ファイルが持っているアイコンを表示したい。
エクスプローラで表示されているアイコンと同じものはどうすれば
いいのでしょうか?
意味わかってないだろ、おまえ。
1.実行ファイル内に専用のアイコンがあればそれを表示
2.無ければ関連付けされた拡張子のアイコンを表示
この順で処理しなくちゃ正しくアイコン表示なんて出来ないはずだけど
実行ファイル内にリソース埋め込むのってWindowsだけでは?
Linuxとかだとインストールした実行ファイルしかリソース持てないよね
>>641 いや、Windows オンリーならレジストリ見れば実行ファイルも関連付けされてるはずだから、
関連付けされた拡張子のアイコンを表示だけで良いはず。 %1 とかを解釈しないとダメだけど。
exeだけ落としてきてもそのファイルって独自のリソース持ってるよね?
エクスプローラが描画するときに自動的にレジストリに追加するってこと?
>>643 .exe 以外にも .ico も内部に持ってるアイコンが使用されるでしょ。それと同じ。
regedit とかで
HKEY_CLASSES_ROOT\.exe
HKEY_CLASSESROOT\exefile\DefaultIcon
とか見てみろ。
646 :
初心者 ◆ACiNmI6Dxs :2005/09/18(日) 11:51:19
すいません。質問です。
StringBufferクラスはtoStringメソッドにて
Stringクラスに変換できるようなのですが、
反対にStringクラスをStringBufferクラスに変換する
メソッドってないものなのでしょうか。
>>646 つ new StringBuffer("文字列")
649 :
初心者 ◆ACiNmI6Dxs :2005/09/18(日) 12:00:00
StringBuilderつかったほうが速くていいけどな
StringBuilderよさそうだ、これ単に同期省いた版?
これもMatcherとかで投げさせてほしかった
言ってみたが1.5の機能未だに使った事ない
>>651 Genericsサイコー
メタデータサイコー
ですぞ
ファイルのコピーなんて普通に
>>589を使えばいいのに
>>651 文字列連結とかユーザーは意識しないけどコンパイル時にStringBuilderにかわってるので
従来のアプリも5.0でコンパイルしなおすだけで高速になってる、という場合がある
1.4でなければならないという旧システムでない限り5.0がでてから1年たつんだから
もう5.0で開発してよい
今のところ致命的なのは印刷周りにバグ大量に抱えているというあたりかな
業務アプリでは致命的だがなー
そんなに速くなってるか? 何か数値で比較できるものはないんか。
J2MEは5にならないの?
660 :
デフォルトの名無しさん:2005/09/18(日) 16:29:18
>>652 だから、もともとコピーする必要性がないんじゃないかって言いたいんだよ・・・
タイムスタンプを保持してコピーなんてバックアップツール以外に何に使うんだと
>>659 J2MEは知らないけど
Docomoの開発環境DoJaは未だにJ2SE1.3コンパイラにしか
対応していないかと思った。
正確にはコンパイラのバージョンじゃなくてクラスファイルのフォーマットのバージョン
だよな。
そうそう、コンパイラ準拠レベルを1.3にしないと動かないんだよね。
ということは・・・・
TigerでかかれたGenericsとかのコードは動かんってこと?
List<String>なんてもっての外だから安心して
666 :
666:2005/09/19(月) 00:33:10
今、jspを利用して、顧客、メーカー、サプライヤーの枠組みで生産管理システムを
3台のパソコンで仮想的な受注と発注を行いたいのですが、他のパソコンから
データベースに接続する方法が分かりません。一応フォーム、データベースは
もうできているので、後は他のパソコンから接続してデータを反映する事で
問題は解決できると思います。
たぶんサーバ名を"localhost"にしているためだと思うのですが何に変更すれば
いいか、調べてはみたのですが、全く分かりません。分かる方、どうかお教えお願いします。
もうJava関係ねーよそれ
>>666 マルチポストウザイぞ。
どうしてもマルチポストになるってんなら
あちらでも質問したということを記せ。
そしてどちらで返信して欲しいかも書け。
669 :
573:2005/09/19(月) 01:57:06
573です、見るの遅くなりました。
578>
これは僕が使った方法にロジックを追加する方法ですよね。
こういう処理を行わずに一発でコピーはできないですかね?
589>
654>
できればSDKに最初から入っているクラスだけで。
599>
これは同じファイルを作れないのでダメです。
660>
いろいろファイル操作をするのでバックアップを取ろうと考えています。
別にJavaでやる必要も無いのですが後々インターフェースをCUIからGUIへ変えたい&
開発環境がただって言うのが魅力的で・・・。
そんな方法無ければ「できない」って答えでも良いです。
670 :
573:2005/09/19(月) 01:59:59
671 :
デフォルトの名無しさん:2005/09/19(月) 02:40:05
>>669 > 573です、見るの遅くなりました。
>
> 578>
> これは僕が使った方法にロジックを追加する方法ですよね。
> こういう処理を行わずに一発でコピーはできないですかね?
>
> 589>
なぜ
> できればSDKに最初から入っているクラスだけで。
に拘るのだろうか。
Jakarta製品は CommonsでもSandboxでないものであれば
かなり信頼と実績があるわけだが。
Jakarta Commonsのコンポーネントは、
試験に合格したものだけがSandboxの外に出られる。
その中でJakarta Commons IOは試験という関門をくぐり抜けてきた
それだけ信頼されているということだ。それを使わない理由がわからない。
>>671 573ではないが標準外だと配布が多少面倒だと言うのもあるだろう。
どこが面倒なんだ
自分で作ったJARの配布はできる癖に
他人のJARは面倒か。
Apache Mavenを使えば配布する必要すらないのに。
Tomcatを使っておきながらservlet.jarの配布も面倒だとか言い出すんだろうか。
Tomcatにはcommons系のAPIが沢山使われているのに
commonsは標準じゃないから配布が面倒だとか言い出すのだろうか。
オプソ 厨ただいま光臨中
相手の事情を尊重しないでああすればできるこうすればできるなぜやらない
としか言わない奴ってリアル世界もでたまに居るよな。
宗教押し付けんなっつーの。
ファイルの複製なんかプラットフォーム依存だからある程度妥協するしかないだろ
ファイルの属性がwin95,winNT,unix,その他とかでばらばらなんだから
>>673 少なくともTomcatをクライアントに配布することはないな。
Mavenなんかもってのほか。
>>676 Javaはオープンソースではないし2chもオープンソースではないな。
>>677 そんな細かい依存はないだろ。
ファイルセパレータだって File.separatorを使えばいいし
相対パスにすれば依存度はほぼ無に近い。
ファイルの大文字小文字区別問題はif文で判定して重複して上書きしないような
自動リネーム機能をつかえばよいし。
>>678 サーバで使う場合の話でしょ。サーバならMavenも使う価値があるかな。
jarもFatJarでまとめれば面倒ということもないかと。
使われている技術がオープンソースってことかと。
Javaも完全ではないがAPIはオープンソースになっているわけだし。
Java6から完全にオープンソース化される可能性もあるわけだ。
「だったら〜」 という言い回しは大抵知能障害を起こしてる法則
>>679 君はファイルのタイムスタンプとか権限とか知らんのか?
それから
>ファイルの大文字小文字区別問題はif文で判定して重複して上書きしないような自動リネーム機能をつかえばよいし。
リネームするとかの処理すら嫌って言ってるから妥協しろってことね
また キチガイ じみたのが沸いてきたな
>>683 そんな負け惜しみ言ってないで素直に勉強したほうが君の為だぞ
685 :
デフォルトの名無しさん:2005/09/19(月) 04:56:27
>>669 だったらリネームしてから、それを元にコピーを作ればいいんじゃないのか?
同一のコピーを作ることにそんなにこだわる理由がわからん
派遣は連休は暇なのか。
質問があります。
テンプレサイトを一通り目を通したのですが、お薦めの書籍のようなページを見つけることができませんでした。
全くプログラミングをしたことがない人間に勧められるJAVAの書籍というものはないでしょうか。
689 :
デフォルトの名無しさん:2005/09/19(月) 11:51:08
Canvas上でマウスをドラッグを検知して線などを
描画できるSWTのサンプルはありませんか?
>>688 > 全くプログラミングをしたことがない人間に勧められるJAVAの書籍というものはないでしょうか。
あります。以上。
初心者スレで初心者煽ってるって派遣?
自称中・上級者がたむろするスレだから人間の質に期待しちゃダメ絶対
ここは2ちゃんねるですよ
>>690 みたいに一応は回答になってるものと
>>690-694 みたいに単に煽ってるだけのものでは
前者の方が圧倒的に意味があると思うのは俺だけか?
質問させてください。
現在、Strutsを勉強しております。
Strutsのアクションにて前処理としてデータベースからデータを取得し、
リクエストやセッションに保存した後、取り出したデータを表形式で表示するJSPを呼び出し、
JSPにて表示させています。
こういった場合、行き成りJSPを直接呼び出されると、データが無いので一覧が表示されません。
必ず、前処理のアクションから呼び出す為にはどうしたら良いのでしょうか?
一応、自分なりに考えた事を書いておきます。
・直接JSPを呼ばれても表示させない
・直接JSPを呼ばれたら、前処理のアクションに処理を移し、そこからJSPを再度呼ぶ
・そもそも、前処理をアクションで行わない
ただ、いずれにしても、どのように実装したらいいかも分からなく、
また、Strutsで何か設定すれば、同様なことが簡単にできるのでは?とも考えています。
よろしくお願いします。
>>660 おまえいろんなプロジェクトで、
勝手に自分で解釈して仕様変更しちゃって(こっちのほうがいいとか言って動作を変えてしまう)
迷惑がられないか?
>>696 俺新人なのに勝手に仕様変更して通しちゃったことあるw
一切の反対がなかったから気にも留めなかったが、よく考えたらずうずうしいと反省した
698 :
デフォルトの名無しさん:2005/09/19(月) 14:13:51
>>694 それは完全に質問者次第では。
しかし一般的な解釈から言えば「初心者向けの解説書はないでしょうか」という質問には
「もしあるならご教示ください」という意味が含まれるし、
質問者も「ある」ということは最初からわかっているだろう。
それに
>>690の回答は
>>691-694のような煽りを招くというのもある。
>>697 いやいや、「こうやって見てはどうでしょう」って言う相談なら全然問題ないのよ
問題なのは、ここ最近、おとなしいなあいつ・・・とおもってほったらかしにしてたら
勝手にいろんなとこ書き換えていやがったりとか
まぁ、おれが監査しているわけではないのでいいのだが、PGリーダは大慌て もちPGリーダの責任
>>698 トランプのカードを引くことを考えてみそ
>>695 遷移(Forward)だけ行う空のActionがありますので、それ使いましょう
最近Strutsやっていないから忘れたけど名前なんて言うんだっけ・・・
なんかJSP直でアクセスされないために
全部WEB-INF内に入れていたような気がするが・・・・もう覚えていない・・・・
去年Javaの勉強を少ししたのですが、今日からまたはじめることにしました。
以前は1.4.0(?)あたりを使っていました。
今の5.0への変更点で注意するべきところがあったら、教えて頂けませんでしょうか。
気を付けるというか
例えば推奨されないメソッド使ったとしてもコンパイラが教えてくれるし
ふつーにやっていればいいと思う
よく使う中では、コレクション関係は書き方変わった、どっかの勉強サイトみて解決できると思う程度だが
>>705-706 レスありがとうございます。
705さんのリンク先を拝見しましたが、
もともと大して理解していなかったので、よくわかりませんでした。
私程度のレベルならあまり気にしなくてもいいという事ですかね。
>私程度のレベルならあまり気にしなくてもいいという事ですかね。
俺もほんとはそれを言いたかったんだがな
今、私はJavaの入門書を読んでいるのですが、サンプルコードを打ち込むとこ
ろで、こういうものにでくわしました。
JButton btn1= new JButton("Button1");
JButton btn2= new JButton("Button2");
JButton btn3= new JButton("Button3");
JButton btn4= new JButton("Button4");
JButton btn5= new JButton("Button5");
JButton btn6= new JButton("Button6");
似たようなコードを6行も打つ場面です。面倒くさくてイヤになりますよね。
そこで私はさっそくQBasicでこんなプログラムを作りました。
CLS
OPEN "javasrc.txt" FOR OUTPUT AS #1
FOR i = 1 TO 6
PRINT #1, USING "JButton btn#"; i;
PRINT #1, "= new JButton(" + CHR$(34);
PRINT #1, USING "Button#"; i;
PRINT #1, CHR$(34);
PRINT #1, ");"
NEXT i
PRINT "done"
END
実行すると javasrc.txt という名前のテキストファイルに 上記の6行のコー
ドが出力されるので、あとはそれをエクスプローラーからメモ帳で開いてJava
用のエディターにコピペすればオッケー。 普通はこういう作業はPerlでやる
そうですが、私はまだPerlの本は5ページしか読んでないので、QBasicでちゃ
ちゃっと作って見ました。
710 :
707:2005/09/19(月) 15:57:04
>>708 けっこう大きく変わったと聞いたので、
本の通りにやっても間違っていたらやだなあ、と思いまして。
使ってる本は独習Java第2版なんですが、
第3版に変えなくても大丈夫でしょうか。
>>709 普通に行コピーして数字変える方が速いと思うが。
>>710 だから、コレクション関係だけだと思う
君の視点からすると、コレクション関係は書き方が変ってしまい
旧来の書き方だと5.0ではコンパイルエラーになる
>>710 出版社のページで目次だけ見たけど第3版でも Vector とか Hashtable とか使ってるし
AWTの章があるのに Swing の章が無かったりで、5.0用に全面的な書き換えとかはしてなさそう。
(っつか、JDK1.1の頃のまんまっぽい)独習Java 使うんなら第2版でもよいと思うけど。
別に非推奨扱いされてるわけじゃないんだし
同一インタフェースのコレクションの違いを説明するよりVectorで通したほうが説明が楽
715 :
707:2005/09/19(月) 16:21:36
>>712 正直、ガベージコレクションという概念自体よく知りませんが、
そのへんに変更があるということを念頭において勉強することにします。
>>713-714 なんだかよく分かりませんが、とりあえず買い替えないで使うことにします。
Vector・・・全然つかわね〜よ
おまえはiappliしかつくらないのか?
>>715 おい、・・・・俺の言っているコレクションは
ガベージコレクションの事ではない
java.util.Collection
MSJVM で動かそうと思ったら 1.1 ベースで作る必要があるな。
とか言ってるとまた人の事情を無視するおせっかいが沸いてくるか。
>>718 jdk5.0じゃtarget指定しても無理ってこと?
>>716 俺はクライアントサイドずっとやってるから使いまくりだが
おまえはSwingつかったことないのか?
>>719 ライブラリレベルの話。target 1.1 でコンパイルしても ArrayList とか
使ってたら意味ないだろ。
>>686 最近の派遣はマジで裏山すぃ
時給3000円ももらえるんだってよ。
派遣の癖に!!!!
>>680 それが本当に法則であることを証明できるかね?
派遣だからだろ
何を言ってるのやら
おまえら、ちゃんとボーナス・退職金・保険・年金・有給分も入れて自分の時給計算したか?
派遣を羨ましがってる奴って、手取りや額面だけ見てて所得の仕組みすら分かってない奴
多いんだが。
とかいう俺も独立するまでよく知らんかったが。
Graphicsでモーションを並べたキャラチップを描画するのってどうしたらいいの?
同じ規格の画像並べて歩いてるように見せてる画像のことね
CG 分野はよく知らんが、アニメーションと同じ要領じゃだめかね。
>>728 普通に一定の時間が経過したら次のモーション表示すれば良いのでは?
>>726 残業代が出ない正社員なんて時給300円以下だぞ
>俺はクライアントサイドずっとやってるから使いまくりだが
クライアントサイドとVectorは関係ないよ
>おまえはSwingつかったことないのか?
Swingは使った事あり
>>731 Image側に処理させたいの。
Clipみたいなことして本来の画像の大きさ隠蔽する方法ないかな?
>>735 > Image側に処理させたいの。
そーゆー Image を作れば?アニメーションgif を実装してる方法を参考にするとか。
> Clipみたいなことして本来の画像の大きさ隠蔽する方法ないかな?
意味がわからん。
意味分かるだろ馬鹿は答えなくていいよw
>>733はSwingつかったことないんだろうなぁ
booleanの配列からtrueになってる要素番号の配列を高速に取得する方法はありませんか?
独自にKeyListenerの実装してて必要になりました。
Integerの配列を256個作ってLinkListに放り込まれたものをtrueと見なす方法が良いのでしょうか?
256個くらいなら配列のまままわしたほうが高速そうだ
boolean[256]: 2140
LinkedList<Integer>: 250
ArrayList<Integer>(256): 219
ベンチマーク取ってみました。100万回ほど出し、入れ、配列取得をまわしたミリ秒数です。
new ArrayList(256)という初期化でremoveのコストが抑えられるようですね。
742 :
デフォルトの名無しさん:2005/09/19(月) 19:13:13
SWTで簡単なペイントを作っていますが、一旦ウィンドウが隠れると
絵が消えてしまいます。どうすればいいの?
public class B extends Composite {
private Canvas canvas = null;
public B(Composite parent, int style) {
super(parent, style);
initialize();
}
private void initialize() {
setSize(new Point(300, 200));
setLayout(new FillLayout());
createCanvas();
}
private Point sp = null;
private boolean mouseL = false;
743 :
デフォルトの名無しさん:2005/09/19(月) 19:14:59
private void createCanvas() {
canvas = new Canvas(this, SWT.NONE);
canvas.addMouseListener(new org.eclipse.swt.events.MouseAdapter() {
public void mouseUp(org.eclipse.swt.events.MouseEvent e) {
if(e.button==1) {
mouseL = false;
sp = null;
}
}
public void mouseDown(org.eclipse.swt.events.MouseEvent e) {
if(e.button==1) mouseL = true;
}
});
canvas.addMouseMoveListener(new org.eclipse.swt.events.MouseMoveListener() {
public void mouseMove(org.eclipse.swt.events.MouseEvent e) {
if (!mouseL) return;
if (sp == null) sp = new Point(e.x, e.y);
Color red = getDisplay().getSystemColor(SWT.COLOR_RED);
GC gc = new GC(canvas);
gc.setForeground(red);
gc.drawLine(sp.x, sp.y, e.x, e.y);
gc.dispose();
sp = new Point(e.x, e.y);
red.dispose();
}
});
}
}
>>741 falseのほうはとってこないわけね
ならそれでいい
つーか、やればわかるようなのを先に聞くな
745 :
573:2005/09/19(月) 19:18:32
573です。
>>671 信頼性がどうとかではないです。
人にソースをあげたときコンパイルできんとか言われるのが嫌なので。
>>685 この方法は使えるかもしれません。
でもやっぱり完全なコピーが欲しい・・・。
とりあえずJavaSDKに最初から入っているクラスを使用して
完全なファイルのコピーを作成することはできないと言う事でクローズします。
回答してくれた方々ありがとうございました。
>>744 他にもっと良い方法があれば知りたかったんです。
>>742 paintComponentで描画してみ
SWTだったか。すまん知らんわ
知ったかしてる馬鹿にわざわざベンチマーク用意せなならんほど
このスレってレベルが低かったのか
>>749 やりたいことがわからん以上どうしようもないのでは?
そもそもキーコードは256でたりんわけだが
やりたいことは書いてあるだろw
falseが必要ないならとか苦し紛れにもほどがある
>>751 キーのステート見るときtrueとfalseの両方が必要な場面は多いだろ
そしてキーコードは最大16bit
256回まわすというのも意味不明だろ
> 256回まわすというのも意味不明だろ
???
なんで日本語読めない人間が回答者やってるの?
>>753 キー入力とるのに配列が256個じゃたりないってことだろう?
用途次第だろ、何で仕様を回答者が決めるんだっての
実行時にバグ出さないための老婆心だろ
w
16bit分をサポートするなら尚更Listが優位だな
しかしクラスをロードするだけで1MBくらい食いそうw
どーでーもいーでーすよっ
>>709 Jakarta Velocityを
使えばもっとスマートに記述できるよ。
でももっとさらにスマートにするなら
JButton[] btn = new JButton[6];
for(int i = 0; i < 6; i++){
btn[i] = new JButton("Button" + i);
}
だね。
>>745 > 573です。
>
>
>>671 > 信頼性がどうとかではないです。
> 人にソースをあげたときコンパイルできんとか言われるのが嫌なので。
それはそいつのJavaスキルの足り無さが(ry
Apacheライセンスがダメというところもあるんじゃないかな
trueとfalseしかないサイズ256の配列なら
trueになっている部分のindexだけをとって
それをbyte型の配列に入れてしまえば(ry
もしくはそいつを list.add(new Byte(arrayIndex));
でListに入れてしまえば(ry
>>762 GPLより緩いけど
Apacheって不利になる要素あるのかな?
Apacheライセンス2って修正BSD系でしょ?一番ゆるいな
>>763 先にstatic初期化子でByte配列にしとくとガベコレ&new対策になるよ
>>768 調べてみましたが、nextSetBitを使えばよろしいのでしょうか?
>>765-766 緩いとかそういう問題かよw バグや仕様変更の要求あっても
メンテの責任ある奴がプロジェクトに参加してない状況は
普通に歓迎されないから。おまえら本当は仕事してないだろ?
>>722 俺1500円ももらってねーよw
プログラマとかじゃ全然ないけど。
てかJAVAでそんだけ貰えるんなら明日にでも転職したいです。
GoogleはJavaの募集するのにPythonの経験が必要だってよ
なんで?
>>771 そんなのjavaできるって言っちゃえばいいだよ。
大きいプロジェクトなら8割以上役立たずだから大丈夫。
>>771 今、言語の違いによって収入がかわるってことは少なくなってきた感だな。
ワンマン経営の零細企業ほどそういうところは適当だしね。
>>768 java.util.BitSetは立ったビットによってかなりムラがありますね。
キー値が0x02FFくらいまでならList法の倍速を叩き出しましたが
0x0FFFでは1.3倍くらい遅くなり、0xFFFFではかなり遅くなります。
ただ現実的にはVK_UNDERSCORE=0x020Bまでのキー値で勝てればよいので
こちらを採用しようと思います。ありがとうございました。
>>770 ゆるいとかそういう問題じゃね?
Javaそのものにもバグがあるのに何を言ってるんだか。
>>776 おまえはタダでダウンロードする Sun の JDK しか知らないようだな。
>>777 それ以外を知ってるお前も結局SUNのJDKじゃねーか
今日の流れみるかぎり釣り人が一人いる気がする
(´,_ゝ`)プッ
良いから仕事に就けよw 派遣なら時給 3000 らしいぞ。
>>780 実際問題仕事に就いてないのは、このスレでおまえくらいだ。
>>776 「Apache は緩いからOK」 「GPL は厳しいからNG」
そんなプロジェクト見たことない。
Javaのアプリってシェアウェアで売ってる?
IDE関係のツールやプラグインは売ってるんだろうけど
オプソ 厨大活躍中w
やっぱりWつかうやつが一人いるな
日本語に特徴のある奴も一人いるな
GPLはだめってのはよくあるだろ
>>776 JDK にバグがあったら購入元 (バンドル元) に問い合わせるだけだろ。
でかいプロジェクトじゃ免責 JDK なんて使わない。
某通信会社の大規模システムに携わってるが、普通にSUNのJDKですよん
791 :
デフォルトの名無しさん:2005/09/20(火) 00:18:16
でかいプロジェクトだと共通ライブラリつくる部隊とかいて
例えば一つログ出すのになんでこんな手間かかるんじゃっていうライブラリ作ってくれて
それのバグとりまでやらしてくれるからオープンソースのライブラリなんて用なしです。
Apache Jakarta関係のライブラリって世間的にJava標準の拡張ライブラリって感じで使われてるよな
Javaのオプソ界隈で一番開発力があるってことかな?
おっと、使わない方針なのは俺の周囲での話だな。本番環境で Sun の
ダウンロード版 JDK 使うでかいプロジェクトもあるだろう。
話を戻すと、うちみたいにライセンス条項に 「何があっても責任は取りません」
とあればほぼ却下な所は珍しくない (金融機関なら金融庁の監査入るし)。
そういう方針のところに 「APL なら緩いだろ?」 というのは勘違いも甚だしい。
Strutsみたいなゴミフレームワークがのさばってる現在でオプソ使う奴は無職って理屈もおかしいな
793じゃないけど、それなりに大所帯の会社だとライセンス上Sunからダウン
ロードしたのを使えないってとこは多いんじゃないの? うちの会社でも、
別の部門でSunとライセンス結んだから勝手にSunのサイトからダウンロード
して使用許諾契約のボタン押すと先に結んだ契約が反故にされるおそれが
あるのでやるなって全社に御触れが出たことがある。
>>793 そんな当たり前のことを。
… 説明しなきゃいけないほどスレの質下がってるのかw むしろ派遣の方が
そういう事情はよく分かってる思うが、ここはそれ以下の連中が多い
インターネッツ なのなw
昨日から Jakarta 信者が光臨してるのな。布教活動御苦労様。
つーか必死なやつも光臨してるが。
Commons とかの品質が悪いとは思わないが、相手の事情無視で押し付けて
勝手に憂いてる奴が居るみたい。
>>780 その派遣社員が年収いくらになったか知ってるか?
400万超えたんだってよ、
派遣の癖にムカツクーーーーーーーーーーー!!!!
>>786 そいつの正体は、嘲笑激藁ドトネトゲラVB厨です
>>791 おまえの会社が潰れて、他社と吸収合併したとき、
もしくはチームが解散して人がいれかわったとき、
もしくはどこかの会社を吸い取ったらオープンソースを使った
素晴らしいコードが送られてきて、そいつをメンテして
お前らの自作アプリと合体させろって命令させられたとき、
オープンソースにすればよかったーって後悔してももう遅いぞ。
みずほ銀行のような面倒なことを避けるには
有名なオープンソース製品を積極的に使うといい。
…額面の年収 400 万が羨ましいのか?
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| 電波を感知しました。 |
|__________|
/ /
/
_ ビビビ
/||__|∧ /
。.|.(O´∀`) /
|≡( )) ))つ
`ー| | |
(__)_)
30歳ぐらいまでは派遣のほうが給料いいらしいよ
_.. ..‐::´/
_/::::::::::::/
_/:::::::::::::/ ____
,..::::´::::::::::::::::::::: ̄:::::::::::._/
/:::::::::::::::::| ヽ、:::::;::::::::::::/
/:::::::::::::::::::::|´|ヽ |/_:::.::/
_ .. -─':::::::::::::::、::|`' , .!::∠
`'' ‐-.._:::::::;-‐、`(●) (●) |::::`::-、オッス!オラ、ゴクウ!
=ニ二::::::::::::::::|6 \___/、| -──` 会社が潰れることまで想定してシステム組んだことねぇや!
‐=.二;;;;;`‐t \/ ノ やっぱプロは考えることが違うな!
30超えてから正社員になれば一番儲かるということだな
811 :
デフォルトの名無しさん:2005/09/20(火) 02:33:15
>>792 Jakarta TomcatはもともとSunで作られたものだ。
それをApache Communityに寄贈して現在に至っているのだ。
そういうものはいくらでもある。IBMがつくったものとか。
それから、各大手企業には
オープンソース開発部隊がいる。
たとえばIBMにはApache開発部というものがある。
そこではApche製品を開発しApacheコミュニティに
コントリビュートするためにパッチを作る
専門の職の人が常駐している。
Eclipseも同様だ。
Eclipseの開発に専念している人が常駐している。
企業がオープンソース製品に手を出して
開発するということは、自社の影響力を
高めることになる。さらに、この行為は
すでに普及してしまったオープンソース製品を自社製品に近づけて
自社製品と互換性を持たせるようにする戦略でもある。
オープンソース製品を利用して、
自社製品を売ろうとするという戦略なのだ。
こういう、一見企業の金にも
ならなさそうな開発部隊は富士通、日立, BEA, 東芝にもいる。
彼らもApacheやEclipse製品, Linuxなどに手をだしている。
このように、企業が大きく関与しているからEclipseやApacheの開発速度は
尋常ではなくスケジューリングも非常にしっかりしている。
これはもはやフリーソフトとはとても思えないだろう。
そこまでの打算を遂行できる奴なら 30 超える頃には正社員なんて莫迦らしくて
独立してるだろ。
813 :
デフォルトの名無しさん:2005/09/20(火) 02:36:11
>>810 会社にもよるわな。
営業が無能でワンマン社長に支配された零細企業じゃだめだ。
いくら頑張っても営業と社長がバカだから会社は大きくもならないし
黒字にもならない。
金がほしけりゃ大手企業にいって労働組合がしっかりついているところのほうがいいな。
それから株や投資信託、不動産、社債、国債、特許などで
収入を得ることも考えるべきだわな。
おまいらみんな30過ぎてるのか。
20代ばかりだと思っていたが。
>>811 ソースは?
確か Tomcat のガイドか何かに 「Apache で以前作ってた JServ の後継版だよ」 と
書いてあったが。Apache が JServ 作ってた頃の Sun は独自に JavaServer とか
何とかいうの作ってたはず。
ひょっとして Sun ONE の中が Tomcat だからそう思ってるとか?
おっと、どこかで Sun の資源が Tomcat に合流してることは否定しないよ。
だかそういうのを 「Tomcat は Sun 起源ニ…だ」 と言い切ってしまう君は
どこの国の出身?
>>815 半島出身ニダ
ニダは嘘だよ。
房総半島出身だよ
>>816 転職してから給料が大幅にあがったという事例も最近増えてきているぞ。
300万だったのが転職して500万になったとか。
これから収入をえるには特許と株だよ株
給与だけじゃ限界があるんだよ。
最近は成果主義が流行っているためかリセットは少ないかと。
だが、成果主義と偽って業績主義にしている会社が多い。
インチキってもんだ。
業績主義では個人が成果を出してもだれかのヘマによって会社全体の
業績が低いと結局賞与は無視される。
で、おまけに残業代も出ないと。
労働組合がないことをいいことに経営者が
精神論を部下に吐いて誤魔化しながら横暴を振り回している。
学生アルバイトしながらそんな現場をよく見てきたものだ。
残業はしないほうがいい。
するなら物好きだけがやればいい。
言われてみればウチも業績主義って奴になるな。今度文句言お。
文句言っても、労働組合がないときいてくれない可能性もある。
労働組合を決起するという手もある。
労働組合を決起するときは基盤が固まるまで経営者には
絶対に知らせない方がいい。ワンマン経営者だったら
潰しにかかってくる。
>>818 そんな給料で特許の維持ができるとは思えんが……
最近特許維持も安くなった。
まず20万払って
それから7年間は放置だろ。
あとは売るか維持するかを選択する。
あとは株とかしかないな。
Swing の JOptionPane で使われている「はい」「いいえ」「キャンセル」って文字列は
どうやって決定してるんだろ。自分でダイアログを作りたいのであれと同じ文字列を
取りたいんだけど。
かなり話ぶり返すけど
boolean[256]をスパゲッティ風だとint[8]で済むねlong[4]??
bit[i] & Integer.MAX_VALUEでがーがーがーーって
こゆーのjavaでやるとなんか悔しいよね、俺だけ?
>>824 J2SE 1.4.2 だと javax.swing.UIManager.get("OptionPane.yesButtonText"); とかで取って来てるね。
最終的には com.sun.swing.internal.plaf.basic.resources 配下の properties ファイルみたい。
>>825 new boolean[256] って new byte[256] と同じだけのメモリ容量使うから
メモリ節約したいなら new int[8] とかした方が良いかも。
>>825 java.util.BitSet使え。
職を斡旋してもらえるスレはここですか?
>>826 おお、サンキュー。
ソース検索してみます
>>831 適正テストをやるとプログラムとか専門職がいいってでるんだけど、
そのジャンルで相談しに行くと年がネックになるとか言われる。
ヒキーをなめんなヽ(`Д´)ノウワァァァン
不自由しない時間(?)を利用して、このスレで勉強させてもらってますです。
>>832 独学でマスターして職務経歴書でっち上げでOK。
>>832 ぎょう鉄職人なんてどうだ?
今、なり手不足らしいが。
根性と体力が重要らしい。
>>811 > Jakarta TomcatはもともとSunで作られたものだ。
Tomcat3まではその流れだが、現在のCatalinaは全くの別物だけどな。
SunのJWSDKがApache Software Foundationに寄贈されたのがTomcat。
その時の契約調印に使った部屋の名前が「Jakarta」。
Apacheは独自にApache JServを作っていたが、Jakartaプロジェクト発足で
ServletエンジンはTomcatに一元化。
> たとえばIBMにはApache開発部というものがある。
Apache Software Foundation のコミッタがどう選ばれているか知っているか?
Apache HTTP Serverは元々の流れにIBMが関わっているから結局そうなっているし
Apache BeehiveもBEA主導だが、Jakartaプロジェクトの大半はボランティアベースで
成り立っている。
ただし、Eclipseに関してはほぼその通りだと思う。
> このように、企業が大きく関与しているからEclipseやApacheの開発速度は
> 尋常ではなくスケジューリングも非常にしっかりしている。
このあたりも、Eclipseにはあてはまるが、Apacheは尋常でなくスケジュールが
ルーズだ。Struts1.1のリリースなんて、1年近く遅れたぞ。
コミッタはメールで他のコミッタが投票して選挙によって選ばれるんだろ。
+1, 0, -1のどれかを選んで数値が一番多かったのがコミッタに選ばれるとかでなかったかな。
IBMとかに常駐しているのは大抵コントリビュータだろ
class Wave{}
誰か知ってたら教えて下さい。
javaでCtrl-Cによる割り込みに対応して処理をさせるって
可能ですか?
>>839 コマンドラインアプリケーションじゃない AWT や Swing 使ってれば
[CTRL]+[C] は利かないだろ。
841 :
839:2005/09/20(火) 19:07:24
>> 840
説明不足で申し訳ない。
バックグラウンドで起動しているJavaアプリに
kill -9 や kill -2 などでシグナルを通知し、
そのタイミングでユーザ処理をはさめないかと思いまして。
JInternalFrame をカスケード上に表示しようとしてるんだけど、タイトルバーの高さって
どうやったら取れるん?
>>841 シグナルなんてシステム依存するもの JNI 使わなきゃ無理でしょ。
ソケットで通信してくれ。鯖作るなら RMI に乗ったほうが楽だが。
844 :
839:2005/09/20(火) 19:19:39
やっぱ、JNIでやんなきゃダメか。
ご指摘の通り、現在はソケットでやってるんだけど
シグナルで実装した方が確実というか
安心だと思いまして。
考えてみれば、OS依存の仕掛けなんで
java標準でサポートしてるわけないですね。
どうもありがとう。
>> 840
>> 843
勉強し始めてまだ間もないのですが、最初でコケてしまいました…;;
"Java Test"と表示するプログラムで、多分コンパイルは出来ていると思うのですが、実行出来ません。
実行時に↓の文章が出ます。
could not open `C:\Program Files\Java\jre1.5.0_04\lib\i386\jvm.cfg'
自分で出来る限りは調べてみたんですけど、どうしても解決方法がわかりません;
誰か助けて下さい!!(TT)
>>845 まず何をどうやったらそうなったのか
順を追って説明汁
847 :
845:2005/09/20(火) 20:56:35
>>846 え〜と、Javaの本を買ってやってみたんですけど、
//Hello.java
class Hello{
public static void main(String[]args){
System.out.println("Hello Java");
}
}
本の通りにして、↑これをコンパイルは出来たんですよ。
プロンプト起動させて、ディレクトリをC:\Java_studyに変更して
javac Hello.javaって入力して…
それで、java Hello と入力したら実行されるって本には書いてあるんですけど、
java Helloって入力したら、エラーメッセージが出た、と。
こういうわけなんですが…
>>845
それって普通のエラーじゃなさそう・・・おれ見たことないもん
ちなみに俺のC:\Program Files\Java\jre1.5.0_04\lib\i386\jvm.cfg
こいつと同じになっているか?
このファイル他で誰か開いているんとちゃうの?
#
# @(#)jvm.cfg1.7 03/01/23
#
# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
# SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
#
#
#
#
# List of JVMs that can be used as an option to java, javac, etc.
# Order is important -- first in this list is the default JVM.
# NOTE that this both this file and its format are UNSUPPORTED and
# WILL GO AWAY in a future release.
#
# You may also select a JVM in an arbitrary location with the
# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
# and may not be available in a future release.
#
-client KNOWN
-server KNOWN
-hotspot ALIASED_TO -client
-classic WARN
-native ERROR
-green ERROR
>>845環境設定はいれたか?
「Java 入門」でぐぐれ
850 :
845:2005/09/20(火) 21:40:41
>ちなみに俺のC:\Program Files\Java\jre1.5.0_04\lib\i386\jvm.cfg
>こいつと同じになっているか?
>このファイル他で誰か開いているんとちゃうの?
スイマセン、ちょっと意味がよく分からないのですが;;
詳しく説明して貰えますか?
851 :
845:2005/09/20(火) 21:43:36
>>849 環境設定、ちょっと自信が無いんですけど…
@SET CLASSPATH=C:\PROGRA~1\PHOTOD~1.0\ADOBEC~1
REM Environment Settings For McAfee VirusScan
SET PATH=C:\JUST\JSLIB32;%PATH%;C:\PROGRA~1\NETWOR~1\MCAFEE~1
SET JAVA_HOME=C:\j2sdk1.4.2_08
SET PATH=%PATH%;%JAVA_HOME%\bin
SET CLASSPATH=.;%JAVA_HOME%\lib\tools.jar
どっか間違ってるところあったら教えて下さい<(__)>
×SET JAVA_HOME=C:\j2sdk1.4.2_08
○SET JAVA_HOME=.;C:\j2sdk1.4.2_08
よく見ろよ
853 :
845:2005/09/20(火) 21:54:39
>>852 ありがとうございます!!
早速試してみます!!
854 :
845:2005/09/20(火) 21:59:23
やっぱダメでしたぁorz|||
SET JAVA_HOME=.;C:\j2sdk1.4.2_08\bin
じゃね?
たしかjavaw.exeがあるところを指定してたはず
856 :
845:2005/09/20(火) 22:15:50
なんでsetでやってんの?
すぐ消えるやん。
859 :
845:2005/09/20(火) 22:34:26
>>855 ちげーよ馬鹿
HOGE_HOMEてのはインストールして出来たホームディレクトリ
binを環境変数に放り込むならPATHだろ
>>859 「windows 環境変数 SET」でググれ
>> 845
エラーメッセージは、j2sdkが1.5なのに環境が1.4なんで
そのへんじゃね?
システム→環境設定→新規→変数:JAVA_HOME 値:.;C:\j2sdk1.4.2_08\bin
以上
864 :
845:2005/09/20(火) 23:05:10
ききき、緊急事態です!!(・Д・|||)
みなさんのアドバイス通り、環境変数を色々いじってみたんですけど改善されなかったんで、
再起動させないとダメなのかな?と思って再起動して試してみたんですが…
コンパイルさえ出来なくなってしまいました!!何故!!
助けて下さいーーーーーーーー(叫)
865 :
845:2005/09/20(火) 23:07:22
>>863 私、98使ってるんですけど、98でも出来ますかね?;;
JDK再インスコ汁
それでもだめなら知らね
>>865 98ならAUTOEXEC.BATにかかなあかんかも
>864
アホの言うこと信じたから。
set JAVA_HOME=C:\j2sdk1.4.2_08
に戻せ。
さらに、
SET PATH=%PATH%;%JAVA_HOME%\bin
じゃなくて
SET PATH=%JAVA_HOME%\bin;%PATH%
にしておけ。
870 :
845:2005/09/20(火) 23:28:16
戻しても、どうにもこうにも動かなくなってしまいました(TДT)
JDKを再インストールしてみます…
JAVA_HOME に複数パスを指定してる莫迦が多い件について
質問があります。
サーブレットからPDFデータを作成し、ファイルダウンロードダイアログ経由で
ファイルのダウンロードを行おうと思っているのですが、
ダイアログで「開く」を選択すると、ダイアログが2回表示されてしまいます。
2回目の「開く」では正常にダウンロードされます。
「保存」を選択すると、1回だけしか表示されません。
コード:
response.setContentType( "application/octet-stream" );
response.setHeader("Content-Disposition","attachment; filename=\"xxx.pdf\"" );
response.setContentLength(pdfbytes.length);
OutputStream out = response.getOutputStream();
out.write(pdfbytes);
out.close();
※POSTを使用しています。
※IEは6を使用しています。
※ASはOracleAS10gを使用しています。
@IT等の掲示板にも対応方法は載っていたので、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5606&forum=12&start=0 octet-stream → octet-stream-dummy
attachment → inline
等に変更して試したのですが、そうするとダイアログ自体表示されません。
どのように指定すればダイアログが"1回だけ"表示されるようになるでしょうか?
わかる方がいれば是非教えてください、宜しくお願いします。
>>852 ドットセミコロン(.;)を追加するのはそっちじゃないだろ
PATHのほうに追加するだろ
>>855 それじゃ意味がないぞ。
PATHが \bin\bin と連なってしまう
それからコマンドラインでPATHやCLASSPATHが有効になっているか
echo %PATH%
echo %CLASSPATH%
echo %JAVA_HOME%
とやってみたか?
環境見たいときsetだけでいいんじゃね?
>>865 win98の場合はOSごと丸ごと再起動しないと環境変数は有効にはならないぞ。
ちょくせつautoexec.batを実行してもいいが
すでに定義されている環境変数に余計な文字列を追加して
上書きされてしまう恐れがある。
>>874 setだと余計なモノまで表示されてしまう。
set | moreとすればいいがOSがWin98なのでUnixのパイプ処理は使えない。残念なことに。
OSをNT系にするか、Linuxなどにするか、cygwinをインストールするかしたほうがいいだろう
moreでいいじゃない
>>872 同じ事になったことあるけど、@ITの情報だけでどうにかなったとおもう・・・・。
いまソースをみて違うところを見たら
res.setHeader("Cache-Control","");
とかやってる。
たぶんno-cacheを殺してるんだと思う。
これじゃないような気がするけど、やってみた方がいいかも。
>>869 OSを再起動することを忘れているぞ。
NT系ならコマンドプロンプトを再起動するだけでいいが
9x系は糞OSなのでそうはいかない。
cygwin入れて
export PATH=$PATH:$JAVA_HOME/bin
とかやったほうが楽そうに見えてきたなあ。
autoexec.batの弄り方がわからないなら、
直接コマンドラインから
set path=なんたらという文字列を貼り付けるか
そういうバッチファイルを自作したほうが早いと思う。
javastartup.batとかいう適当なバッチファイルを作って
中にset pathなんたらとかいて、
プログラミングを始めるたびにそのバッチファイルをコマンドライン上から
実行するとか。
881 :
845:2005/09/21(水) 00:07:11
>>873 そんな方法があるんですか!!知りませんでした;;
今、JDKを再インストール中なので、出来たらやってみます♪
>>879 さすがにDOSの知識ゼロでそれはきついだろ
>>880のやり方が一番かと
閉じるとやり直しなのさえきをつければ
883 :
872:2005/09/21(水) 00:09:02
>>878 ありがとうございます。
明日、早速試してみます。
884 :
デフォルトの名無しさん:2005/09/21(水) 00:09:35
AまたはBまたはCという条件式を記述するのに、
A || B || C
ではコンパイルできないようです。
なんとか一行で書きたいのですが、どうすればよいですか?
JAVA_HOMEという環境変数をなぜ用意しているのか
わかってない香具師がおおすぎ。
大抵、TomcatやAntのために使われているが、
それ以外の用途としてJavaのバージョンアップに即座に対応できるというメリットもある。
JAVA_HOMEの値を変更するだけでバージョンアップされたjavaを使うことができるというように。
>>884 Javaはif句にbooleanしか置けないのは知ってる?
nullや0をfalseと見なしてはくれないよ
というか、環境変数はJavaの文字列連結と同じように
機能することをわかってない香具師が多すぎ。
JavaやってるならStringオブジェクトを+で何度も連結してるのでそれくらいわかるだろと
>>884 どんなエラーがでたのかね?
>>886のいう説もあるが、
A,B,Cの結果がboolean型ではない説もありそうだ
StringBuffer使うと未だにびっくりされるプログラマが多めにいらっしゃって困ります。
Stringで+が使える弊害なのかな。
>>881 再インストールしている間でも有効になっているかどうかは確認できるよ
echoはJavaのSystem.out.print()と同じようなものにすぎないから。
>>889 いまならStringBuilderですぞ。
以前、String#concat()を使ったら怒られた
でよくしらべたら確かにStringBuffer#append()よりも遅かった
if (find_value : iterator or array)の実装はまだですか?
>>891 5.0の機能使うとそれはそれで怒られるんです^^;
894 :
デフォルトの名無しさん:2005/09/21(水) 00:19:53
>>886 >>888 ありがとうございます。解決しました。
ご指摘の通りABCの結果がboolean型ではありませんでした。
895 :
845:2005/09/21(水) 00:22:32
プロンプト起動時に、本だと「C:\Documents and Settings\tanaka」って出てるんですけど
「C:\windows」って出ます。
これって何か悪いんですかね?
>>895 NTは複数ユーザを前提にしてるからDocuments and Settings内にユーザを区切るんだよ。
9xは単独ユーザを想定してるからそのままプロンプトのおいてある所を開く。
そろそろDOS関連のスレにでも移動してもらえないだろうか
898 :
845:2005/09/21(水) 00:26:46
>>896 問題は無いって事ですかね?
スイマセン、馬鹿で(−−;)
ぐぐれば出てきそうな気もするけどなぁ
901 :
845:2005/09/21(水) 00:52:28
触れば触るほど悪化していく…
とうとう、再インストールしてファイルを開こうとしたら強制終了になってしまいました凹
疲れたので一先ず諦めます…orz
助言の数々、ありがとうございました
プッ
莫迦どもの助言でシステムぶっ壊して去って行く初心者の姿。
おまえら楽しいか?
2chなんかに芯から頼るほうがどうかしてる
>>889 ソースコード上ではString で + を使っても、ほとんどの場合は
コンパイラがStringBufferやStringBuilderを使ったものに
最適化することを知らない奴が多すぎることにもビックリだがな。
>>893 説得力だ罠。
既存のシステムがどうだこうだだから使えないってならわかるにしても
何がおこるかわからないから不安だから5.0を使わない
とか逝ってる香具師は1.4から5.0への変更点がわかってない香具師
>>895 ? Win98じゃなかったのか?
NT系か? どっちだ?
環境変数の中にスペースが入ったディレクトリがあった影響で
それでうまくいかないんだろ、もしかすると
Document and Settingsを入れるときは 変数の値全体を""(ダブルクォーテーション)で囲む必要がある。
set path="c:\Document and Settings\user\なんか" みたいに
ってそういう話じゃないか
書いてからスレ読み直して気づいたが、
とりあえず書き残しておこ。
>>901 だめだおまい。質問方法が糞だ。
どのファイルが壊れたんだよ。
まったく、こちらは質問に答えやすいような情報を示してみやがれってのに
船頭多くして船山に上る
船が山に登るなんて、ものすごいパワーがみなぎっている証拠!
すげーな!
>>907 火吹きまくってるからって PM やアーキテクト投入しまくって
さらにグズグズになってゆくシステムを見てるようだ。
>>908 すげぇだろ!そのまま斜め上方向に射出してやってくれ!
ばかだなぁ、船頭組合のみんなで船山に登ってるだけだよ。
サーバ側にある配列データをクライアント側に渡し、
クライアント側がそれを受け取る方法を教えてください
>>911 それだけの情報でどうしろと。Javaである必要があるのかすらわからん。
サーバはWebサーバで、クライアントはWebクライアントで
配列をCSVでHTMLで表示するだけでもいいのか?
質問の仕方から勉強しろ。
Microsoft Java VMの為の開発ツールってもう手に入らないの?
ぐぐってもSunVM用のしか見つからない。
target 1.1じゃぁ仕様まで合わせられないし。
>>914 Sun JDK 1.1.8 でいけるはずだが。
916 :
914:2005/09/21(水) 15:33:25
>>915 ありがとう。見つかった。
続けて質問。
SunVMとMSVM両方で動くコードを作る事は可能?
SunVMで動作してたコードをjdk 1.1.8でコンパイルしても、メソッドの仕様が違っててエラーでまくり。
JDK1.1.8で動くコードなら、SunVMでもMSVMでも動くんじゃ?
JDK1.1.8といってもそれどこのSDKよ
919 :
914:2005/09/21(水) 16:31:33
MSVMで動作してSunVMで動作しないアプレットを見た事があるけど、
実際のところどうなんだろう。
もし知ってる人居たら教えて下さい。
あーあ、
>>845おいかえしちゃったの?
知人の18の女子大生だったのに。
これだから2ちゃんのJava厨共は( ´,_ゝ`)プッ
>>919 Sun の API リファレンスの範囲内でやってるうちは大丈夫。
com.ms とかいうパッケージ使うとアウト。ただ、バグや仕様のせいで
Sun と MS の VM/ライブラリで挙動が異なることはあるかも知れない。
>>921 女子大生だろうと何だろうとスレ違いやJava初心者以前の困ったちゃんにはお引取りいただく
うはwwwおれ1歳児www
>>921 おまいが相手してやれよ
変なの誘導されても困るよ
女は俺を嫌うから苦手
>>904 コンパイラがしてくれない状況は初期化だけだろ、馬鹿?
逆。してくれるのが初期化だけ。
漏れは彼女に挿入して初期化
はげしく突いてコンパイル
毎晩絶頂という実行結果を迎えている。
おまいらはパソコンしか相手してくれないんだろ?
プログラムだけがいうことを聞いてくれるのか(ぷ
931 :
デフォルトの名無しさん:2005/09/21(水) 22:48:06
Swingについて勉強しているのですがリスナクラスのメソッドで
JList tmp = (JList) e.getSource();
String str = (String) tmp.getSelectedValue();
lb.setText(str + "ですね");
という風に書いてあるのですが文法の意味がよく分かりません。
インスタンス化してオブジェクトに( )以下を代入しているのでしょうか?
newは使わないでいいのでしょうか?
>>931 e.getSource()というJListの選択済みソースが返されてるだけじゃん。
eってのは自分で作ったJListそのもののはずだよ。
>>904 >ソースコード上ではString で + を使っても、ほとんどの場合は
「ほとんどの場合は」って言うあいまいが気になるけど
class HogeClass {
String hoge="ABC"+"XYZ";//これはStringBuilderでやってくれる
public String getFoo() {
String foo="ABC"+"XYZ";//これはやってくれず遅い
return foo;
}
ってことですか?
>934
どっちもコンパイル時に連結される。
936 :
935:2005/09/21(水) 23:55:06
補足: StringBuffer も StringBuilder も使われない。
これはStringBufferが使われますが、何か?
(Java2SDK1.4.2_08)
String s = "abc";
System.out.println("s = " + s);
>>938 比較してみ。
final String s = "abc";
System.out.println("s = " + s);
>>939 それはリテラル埋め込みになるだろ。
だから当たり前じゃんと言っておろうが。薀蓄厨?
話を無視してマメ知識を御披露されてる方が居られるようだが
942 :
デフォルトの名無しさん:2005/09/22(木) 00:27:51
>938
どうして、あたりまえなの?
なんで最適化してくれないの?
初期化の時だけっていってた奴、どこ行った?
>>942 大雑把に説明すると、System.out.println("s = " + s) のステップだけを見ても
変数 s の値が固定だとオプティマイザには分からないから。逆に下のは s が
final 宣言されてるので "abc" が埋め込められる ⇒ 暗黙的に連結される。
フローまで追える優秀なオプティマイザなら最適化されるかもしれないが、
少なくとも現行の Sun JDK 5.0 では -O オプション付けてもやらないな。
String s = "abc";
System.out.println("s = " + s);
↓
3: getstatic #3; //Field java/lang/System.out:Ljava/io/PrintStream;
6: new #4; //class StringBuffer
9: dup
10: invokespecial #5; //Method java/lang/StringBuffer."<init>":()V
13: ldc #6; //String s =
15: invokevirtual #7; //Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
18: aload_1
19: invokevirtual #7; //Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
22: invokevirtual #8; //Method java/lang/StringBuffer.toString:()Ljava/lang/String;
25: invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
final String t = "xyz";
System.out.println("t = " + t);
↓
28: getstatic #3; //Field java/lang/System.out:Ljava/io/PrintStream;
31: ldc #10; //String t = xyz
33: invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
>>943 ああ、ひょっとして
>>937,939 はそれ宛てだったか。
945 :
デフォルトの名無しさん:2005/09/22(木) 01:18:28
DoJa4.0とEclipse3.0って連動出来ますか?
946 :
デフォルトの名無しさん:2005/09/22(木) 01:19:30
文字列リテラルの連結にStringBuffer使うと逆に遅くなる罠
948 :
デフォルトの名無しさん:2005/09/22(木) 01:35:10
>>944 その程度の最適化は、VMが実行中に最適化してくれるに一票
>>948 いや、そうは思ったがいまコンパイル時の話してるから…
String str = "abc";
if ( 条件式 ) {
str = str + "a";
} else {
str = str + "b";
}
こういう場合はStringBuffer or StringBuilder使った方がいいよね?
>>950 String str = "abc";
if ( 条件式 ) {
str = new StringBuilder(str).append("a").toString();
} else {
str = new StringBuilder(str).append("b").toString()
}
多分こう変換される。
ギリギリまで実行速度を追求する部分なら使ったほうがいい
そうでもなきゃいらない
>>950 StringBuffer/StringBuilderを使った最適化がされるから不要。
>>953 >>951のように変換されると思うのですが、それよりも
StringBuffer str = new StringBuffer( "abc" );
if ( 条件式 ) {
str.append( "a" );
} else {
str.append( "b" );
}
とした方がいいですよね?
>>951の場合、if文内でStringBufferを生成しているため
>>957 オブジェクトの生成にはコストがかかるため
>>958 この例では作られるオブジェクトの数も回数も変わらないんじゃ?
>>959 なるほど。if文の中でfor等で繰り返してた場合はどうですか?
Stringで+を使用するより、初めからStringBuffer/StringBuilderを使ったほうがいいですか?
ローカルにあるテキストファイルをサーバ側で読み込んで処理したいんですが、
ローカルファイルを読み込むにはどのような方法で行えばいいのでしょうか?
まず、システムがどのような構成なのかを説明してもらわないと
ローカルとかサーバ側と言われてもなんのこっちゃさっぱりわからんよ
>>960 もちろん+を使った連結は遅い
StringからStringBuilderの生成とその後のStringの変換をくりかえすわけだから
>>960 その場合はコンパイラによる最適化はされない。
そういう場合が、ソースコードの中で明示的に
StringBuffer/StringBuilderを使うべきポイントだろうね。
>>962 すいません説明不足でした。
HTMLに入力フォームを置いて
そこにアップロードしたいファイル名を入力してからサーバにリクエストを飛ばすと
サーバ側でそのファイルを読み込んで処理してクライアントに結果を返すという処理です。
アップロードという表現を使いましたが、サーバ側の処理が終われば
サーバにファイルを残す必要はありません。
javaで比較的簡単に出来る方法があったら教えてください。
>>965 激しく板違いの予感がするが、まだ完全に板違いとはいえない・・・。
そういうことをしたいなら、Client 側は特にプログラムを持つ必要はないよね?
Webブラウザが入ってればいい。(ブラウザもプログラムだけどさ。)
WebServer はもう決まってるの?Apache?Tomcat?その両方?
> HTMLに入力フォームを置いて
> そこにアップロードしたいファイル名を入力してからサーバにリクエストを飛ばすと
どんなHTMLを書けばいいかわかってる?(WebProg板の話題だな)
どんなリクエストが飛ぶかわかってる?
> javaで比較的簡単に出来る方法があったら教えてください。
何から何までJavaでやるつもりじゃないよね?(=極論だと、JavaでWebServerを書くとか。)
じゃなければ、Javaでプログラム書く部分以外のところに、どんなシステムが来るのかが
わからないとなんともいえないと思う。
わたしなら、サーバ側には tomcat を単体で置いて、サーブレットとJSP書いて処理させるかも。
だとすると、これも板違いだな。
> だとすると、これも板違いだな。
Javaで実装するなら板違いではないでしょ。
俺も同じくServletコンテナ使って、Webアプリにする。
Jakarta Commons FileUpload か Struts を使うと楽に実装できる。
968 :
デフォルトの名無しさん:2005/09/22(木) 13:37:04
このプログラムはテキストファイルをJFilechooserを使い選択し、
さらにBufferReaderで1行づつ読み込むプログラムの1部です。
このプログラムはwhile文によって文字が存在するか、しないかを確認し
存在する場合に1行づつ文字列の読み込みを繰り返しているのですが、
ここでlineの中味は1行ずつ読み込む度に変更されています。
読み込んだ文字列を後で処理したいと思っているのでlineが変更される
前に文字配列の中にa[0]は1行目、a[1]は2行目のように順番に格納できませんか?
おそらく、while文の中に配列を加えればいいと、思うのですがどうすればいいか
教えてください。お願いします。
int returnVal = fc.showOpenDialog(Fileso.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();//選択したファイルを取得
String line = new String();
try {//ファイルの読み込み
BufferedReader br = new BufferedReader (new FileReader(file));
line = br.readLine();
area.setText(line + '\n');
while(line != null){
line = br.readLine();
if (line == null) break;
area.append(line + '\n');
}
br.close();
何行あるかわからんのだから配列じゃなくてArrayListでもつかっとけ
>>968 配列は、それを生成した時点で要素数を決めなきゃならない。
10個のStringへの参照を保持できる配列を作ったとして、
読み込みたいファイルの大きさが11行以上あった場合にはどうしましょう?
方法1 あらかじめファイルに含まれる行数を調べてから配列を生成
→ファイルを2回読まなきゃならなくなる。
方法2 あらかじめ決めた行数を超える行に関しては読み込みをあきらめる。
→あたりまえだけど、あきらめた部分に関しては、配列に入らない。
方法3 配列がいっぱいになったら、もっと大きな配列を作って、いままで
保持していた行を新しい配列にコピーして、その後ろに、新たな行を読み込む。
→とりあえず全部配列にいれることができる。(メモリが足りれば。)
方法4 「配列がいっぱいになったら、もっと大きな配列を作って、いままで
保持していた行を新しい配列にコピーして、その後ろに……」っていうことを
自動的にやってくれるクラスを使う。例えば、java.util.ArrayList 。
→便利。
>>968 さんがプログラムにさせたい動作が一体何なのかが不明なので、
思いついた方法を4つ書いてみました。配列に入れることが最終目的なの?
971 :
デフォルトの名無しさん:2005/09/22(木) 15:22:57
>>969、970さんありがとうございます。
>>970さんへ
現在、あるプログラムの構文解析JAVAで開発してまして、
プログラムが書かれたテキストを1度表示させ、
表示したプログラムテキストを1行ずつ1行の命令がどのような動作を
命令しているかと、いうことを調べています。
なので、1行ずつ読み込んだ文字列を1行ずつ順番に格納できる場所が
欲しいと思いました。配列以外に何か方法はありますか?お願いします。
>>971 List使えばいいじゃないか。
入門書の一冊でも読んでから開発やれよ。
973 :
デフォルトの名無しさん:2005/09/22(木) 15:58:50
974 :
デフォルトの名無しさん:2005/09/22(木) 16:20:24
>>968さんへ
何行あるかは、
int returnVal = fc.showOpenDialog(Fileso.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();//選択したファイルを取得
String line = new String();
int i = 1;
int j = 0;
try {//ファイルの読み込み
BufferedReader br = new BufferedReader (new FileReader(file));
line = br.readLine();
area.setText(line + '\n');
while(line != null){
j=i++;
line = br.readLine();
if (line == null) break;
area.append(line + '\n');
}
br.close();
で解決できると思います。
iとかjって何よ。
new Stringしなくてもnullでいいじゃん。
976 :
デフォルトの名無しさん:2005/09/22(木) 16:53:40
他人が作ったAgent.classをimportしようとしたんだけど
パッケージ宣言していないとか言われたので、
import Agent;
とやったら、コンパイルエラー
Dummy.java:13: '.' がありません。
import Agent ;
^
といわれてしまいました。
JDK1.4.2_05-b04を利用しています。
ちなみにDummy.javaのパッケージ宣言外せば問題なし。
そんなもんなんでしょうか?
そのAgentクラスはパッケージなし?
978 :
976:2005/09/22(木) 17:31:16
>>977 そうです。パッケージなしです。
Dummy.java自体には package aaa ; みたくしてあります。
package abc;
class Agent
import abc.Agenet
にすれば?
980 :
976:2005/09/22(木) 17:50:07
>>979 それって Agent.class に手を入れろという意味でしょうか?
Agent.javaソース提供がなく、classファイルだけ持っている状態なのです・・・
リバースコンパイルして、ソースいじれ
982 :
979:2005/09/22(木) 18:07:10
>>980 ソースないならあきらめるか。しかしAgentなんて名前でパッケージ無しじゃこまるな。
>>976 Agentクラスがjava.langにない様なので、
ただクラスファイルをルート位置において
importなしで使えばいいのでは。
クラスファイルの形式が 1.4 と 5.0 で
違うとかいう問題だと対処難しそうですが。