2012年01月10日 16時21分
Java Struts1.3.10
皆でとあるシステムを作ることになったのですが、
JSP・ActionForm・Actionそれぞれの関係の在り方について悩んでいます。
ログイン機能を例とします。
1機能、1Form、1Actionとした場合は:
1.Login.jspでIDとPASSを入力。
2.LoginResultForm.javaにIDとPASSを格納。
3.LoginResultAction.javaでDBチェック(IDとPASSの存在・権限)
4.Result.jspへ遷移。ID・PASS・権限を表示する
使用するファイルは4つとなります。
1JSP、1Form1、Actionとした場合は:
1.Login.jspでIDとPASSを入力。
2.LoginForm.javaにIDとPASSを格納。
3.LoginAction.javaでDBチェック(IDとPASSの存在)
4.ResultForm.javaにIDとPASSを渡す(Sessionなど)
5.ResultAction.javaでDBから権限を取得、ResultFormに格納
6.Result.jspへ遷移。ID・PASS・権限を表示する
使用するファイルは6つとなります。
現在意見が三つありまして、
1.違うForm同士にデータのやり取りが発生するようであれば(1機能とし)、同じフォームにするべきではないのか?
2.Fromのメンバの数が少ないうちは良いが、今後数が増えると可読性が悪くなるから分けるべきではないのか?
3.フォームは同じでないとまずいが、ActionはJSPごとに分けるべき
というものです。
1.ではログイン者情報をセッションに保持することは許可しています。(一部例外を認めている)
これらはいずれもStrutsフレームワークの範疇から逸脱している、あるいはMVCモデルに反している、そもそも非効率的ということはないのでしょうか?
つまりあくまで実装の仕方の問題でしかない、という結論でよろしいでしょうか?
GoogleChromeのプラグインに
「Java32bit」をインストールしようとしたところ
「お使いのコンピュータに既にインストールされています。再インストールしますか?」
という表示が
そのまま従って再インストールしようとすると
「既にダウンロードされている製品のみ有効です。」
というエラーメッセージが表示されます。
そこでプログラムのアンインストールから
javaをアンインストールしようと思ったのですが
肝心のjavaがありませんでした
ローカルディスクで検索をかけたところ、javaのファイルがいくつか見つかったので
それを削除しようとしたら
「ファイルが見つかりません」という表示が出て削除できません
フリーソフト、コマンドプロンプトでも同様に削除できませんでした
いったい、どうすればいいのでしょうか?
・Windows7 64bit
ちなみに64bitのJavaをインストールしても、Chromeで動きませんでした
1週間ほど前からJavaの勉強を始めたものです。初歩的な質問で申し訳ないのですが、是非おしえていただきたくて投稿いたしました。
秀和システムからでている「わかりやすいJava入門編」を使って勉強しているのですが、課題の1つでつまづいてしまい、解決法がわからないので質問させていただきました。
課題の内容は以下です。
1、10本のうち3本が当たりで、最大10回引ける。あたりが出たら取り出す。3つ全てあたりが出たら終了。
2、eclipseのコンソール画面上から「キーをタイプすればくじが引けます」と表示、キーを入力すればくじ引き開始。
3、キー入力後0.1秒ごとに ■ が表示され、1秒後10個になった時点でくじ引き結果表示。
そこで、わたしは、まずint[ ]の配列を10個用意し、ループ分で[0]~[9]まで順にランダムに0~9の数字を入力し、 i番目の[i]に入っている数字が、それより以前の配列に入っている場合、[i]配列の抽選をやりなおす、というやり方でやろうと思って以下のような書き方をしたのですが、どうやら間違っているようで重複の場合のやり直しをしてくれません;;
初心者なので、見づらい書き方をしているかもしれませんがお許しください><
package exercise;
import lib.Input;
public class Lot_6 {
static int[] lot = new int[10];
static int i;
public static void main(String args[]){
int a = 0;
for(int i=0; i < lot.length ;i++){
if (a < 3){
Input.getString("キーをタイプするくじが引けます");
animation();
do{
lot[i]=(int)(10*Math.random());
} while(isTrue());
if((lot[i] == 0) ^ (lot[i] == 1) ^ (lot[i] == 2)){
System.out.println("あたり");
a++;
} else {
System.out.println("はずれ");
}
} else {
break;
}
}
}
public static void animation() {
for(int m = 0;m < 10;m++){
System.out.print("■ ");
delay(100);
}
}
public static void delay(int t) {
try {
Thread.sleep(t);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static boolean isTrue(){
boolean is = false;
for(int n=0;n <= i-1;n++){
if(lot[i] == lot[n])
is = true;
else {
continue;
}
}
return is;
}
}
そこで、間違っている箇所を調べるために do{ } while();ループの中にSystem.out.println(isTrue());を加え、if(a < 3) { }の内の最後にSystm.out.println(lot[i]);を加えました。
ちゃんと重複した場合isTrue()にTrueを返しているか、重複した場合やりなおしをしてくれているか、を調べるためです。
そしてコンソール画面の実行結果が以下です。
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
はずれ
6
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
はずれ
3
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
あたり
1
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
はずれ
4
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
あたり
0
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
はずれ
4
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
はずれ
4
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
はずれ
5
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
はずれ
9
[キーをタイプするくじが引けます] >
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ false
あたり
2
数字が重複していますし、trueが一個もありません。
ということはisTrue()メソッドの部分で誤りがあるんでしょうか?
public static boolean isTrue(){
boolean is = false;
for(int n=0;n <= i-1;n++){
if(lot[i] == lot[n])
is = true;
else {
continue;
}
}
return is;
}
こう書けば、lot[i]がlot[0]~lot[i-1]の間でいつでも重複しているものがあれば boolean is = true;により上書きされて、isTrue()はtrueが返されると思ったのですがそうはならないのでしょうか。
すいません。いろいろ手は尽くしたのですがどうしても分からなくて質問させていただきました。
ご回答いただけますとうれしいです><b
「JAVAコントロールパネル」についての質問です。
以下にご教授頂きたい内容を記載しましたので
どうぞ、ご協力下さい。
OS:WindowsXP SP2
バージョン:JRE6(1.6.0)
(1)JVMの領域変更でプロパティファイルに変更を加えた場合
どのタイミングで仮想メモリの領域変更がされますか?
(書き換え後すぐ or JAVA再起動など)
また、どこで変更された内容を確認すればいいですか?
(2)JAVAで生成されているページで操作をし、なにかしら処理が
動いている時点のJVMの使用量をリアルタイムに確認したいの
ですが可能でしょうか?
(3)コントロールパネルのログやトレースのチェックを入れた
場合、ログはどこに蓄積されるのでしょうか?
有識者の方、宜しくお願いします。
Android SDKをインストロールしようとしているのですが、インストールしたjavaを
認識してくれません。
次のURL内を見るとどうやらjavaのレジストリを修正すれば良いようなのですが、
レジストリエディタを起動してもどこに目当ての物があるのかすら分かりません。
http://javagame.doorblog.jp/archives/51164370.html
Android SDKをインストール出来ればjavaのレジストリ修正にはこだわらないの
ですが、知識があまりないので困っています。
何日も色々と試行錯誤しているのですが自力ではほとんど進んでいません。
アドバイスをお願いします。