【初心者】Java質問・相談スレッド69【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/07/22(金) 09:43:52質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
前スレッド
【初心者】Java質問・相談スレッド68【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1119115837/l50
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりでお願い.....
0002デフォルトの名無しさん
2005/07/22(金) 09:46:150003デフォルトの名無しさん
2005/07/22(金) 09:56:34なぜかいつも『JSESSIONID』という文字が出力されてしまいます。
この『JSESSIONID』はいったいなになのでしょうか。
宜しくお願い致します
Cookie[] ck = request.getCookies();
if (ck != null) {
for(int i = 0;i < ck.length;i++) {
name = ck[i].getName();
val = ck[i].getValue();
if (name.equals("username")) name = val;
}
}
0004デフォルトの名無しさん
2005/07/22(金) 10:05:35> この『JSESSIONID』はいったいなになのでしょうか。
Servletコンテナがセッションを特定するために、
このリクエストに関連するセッションに付与したユニークなID。
0005関連スレ
2005/07/22(金) 10:44:26★★ Java の宿題ここで答えます Part 52 ★★
http://pc8.2ch.net/test/read.cgi/tech/1119356753/ [j2ch]
// 関連スレ
【Java/C/PHP/D/他】統合開発環境Eclipse M17
http://pc8.2ch.net/test/read.cgi/tech/1114847888/ [j2ch]
NetBeans / Sun One Studio
http://pc8.2ch.net/test/read.cgi/tech/1056116495/ [j2ch]
JSF(JavaServer Faces)【.NET死亡?!!!】
http://pc8.2ch.net/test/read.cgi/tech/1059208396/ [j2ch]
【Java】Apache Jakarta Commons
http://pc8.2ch.net/test/read.cgi/tech/1094954163/ [j2ch]
Java低速GUI Swing 3
http://pc8.2ch.net/test/read.cgi/tech/1121700954/ [j2ch]
Java 高速GUI SWT 2
http://pc8.2ch.net/test/read.cgi/tech/1068349883/ [j2ch]
★お前らJavaはJNIで組もうぜ★
http://pc8.2ch.net/test/read.cgi/tech/1033795664/ [j2ch]
【Java】次世代Java・J2SE1.6の動向【Mustang】
http://pc8.2ch.net/test/read.cgi/tech/1081698555/ [j2ch]
Java系スクリプト言語Groovy
http://pc8.2ch.net/test/read.cgi/tech/1080052050/ [j2ch]
J2EEを語ろう
http://pc8.2ch.net/test/read.cgi/tech/1054997727/ [j2ch]
EJBは終わってる
http://pc8.2ch.net/test/read.cgi/tech/1036481443/ [j2ch]
00065
2005/07/22(金) 10:48:330007デフォルトの名無しさん
2005/07/22(金) 11:30:42ses.setAttribute("login",name);
pageContext.forward("frame.jsp"); ←フレーム分割しているページを表示
あるページで、上記の様にフレーム分割しているページを呼び出すと、
5秒後くらいに(frame.jspの)表示が切り替わって、エラーが表示されてしまいます。
『<META HTTP-EQUIV="Refresh" CONTENT="秒">』とか書いてないのに勝手に切り替わるのです。
アドレス打ちで直接frame.jspを表示すると、表示は勝手に切り替わったりしません。
原因が分かる方がいらっしゃいましたら宜しくお願い致します。
0008デフォルトの名無しさん
2005/07/22(金) 11:42:53for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
hoge[i][j] = getValue(i, j);
}
}
のような感じでhogeにi, jを基にして得られたユニークでない正の実数値が入ってるとして、
その値の小さい順にソートして、基になったi, jを標準出力に表示するメソッド
void printHoge(double[][] hoge)みたいなのを作りたいのですが、どのように実装すればいいでしょうか。
よろしくお願いします。
↓こんな感じで…
i = 3, j = 100, value = 0.000001
i = 92, j = 9, value = 0.000023
…
0009デフォルトの名無しさん
2005/07/22(金) 12:16:44hogeの内容は変えずに、 iとjのペアを要素に持った配列を作って、
その配列をソートすれば良いのでは?
0010デフォルトの名無しさん
2005/07/22(金) 13:17:18double[][] hoge = new double[n][m]; // n, mは正の整数
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
hoge[i][j] = getValue(i, j);
list.add( new Foo(i, j, hoge[i][j] ) );
}
}
Collections.sort( list );
for (Iterator itr = list.iterator(); itr.hasNext();) {
Foo elm = (Foo) itr.next();
System.out.println( "i:"+ elm.i_ + " j:" + elm.j_ + " value:" + elm.val_);
}
-------------------------------------------
public class Foo implements Comparable {
int i_,j_;
double val_;
public Foo( int i, int j, double val) {
i_ = i; j_ = j; val_ = val;
}
public int compareTo(Object o) {
return Double.compare( val_, ((Foo)o).val_ );
}
}
確かめてないけど。
あと細かいところで気になる人が多数居ると思うけど、面倒だから。
こんな感じだと思う。わざわざオブジェクト作るのかってはなしもあるし。
0011デフォルトの名無しさん
2005/07/22(金) 13:18:50それは自分で頑張れ。
0012デフォルトの名無しさん
2005/07/22(金) 16:41:08数学的な意味でいってる?
一般的な意味はわかるが数学的な意味は忘れてしまった
0013デフォルトの名無しさん
2005/07/22(金) 16:46:180014デフォルトの名無しさん
2005/07/22(金) 16:53:52プログラムやシステムに関わる者が"ユニーク"の意味がわからないのはやばいぞ。
0015デフォルトの名無しさん
2005/07/22(金) 16:58:480016デフォルトの名無しさん
2005/07/22(金) 17:06:59って言われたら、「独特だな」「ひと味違うな」と言う意味に私はとらえるけど、
周りに聞いたら、「おもしろい」って意味でしょっていわれた。
仕事で意見言って、上司に真顔で
「実にユニークだ」
って言われても、君っておもしろいねってとらえるんかな。
おかしいだろ。
0017デフォルトの名無しさん
2005/07/22(金) 17:09:520018デフォルトの名無しさん
2005/07/22(金) 17:10:570019デフォルトの名無しさん
2005/07/22(金) 17:14:40聞きたいことはたぶんわかるが
もう少しちゃんと質問しろ。
0020デフォルトの名無しさん
2005/07/22(金) 17:27:56お願いします.orz
0021デフォルトの名無しさん
2005/07/22(金) 17:34:38もっとくやしく
0022デフォルトの名無しさん
2005/07/22(金) 17:42:35丁寧に聞けっていってるんじゃないの?
System.out.println( (char)0x41 );
こういう事がしたいの?
0023デフォルトの名無しさん
2005/07/22(金) 17:45:26System.out.println(Integer.toString(new Integer(x));
でいいのだろうか。
002422
2005/07/22(金) 17:53:55○丁寧に聞けって言ってる訳じゃないんじゃないの?
0025デフォルトの名無しさん
2005/07/22(金) 18:00:49できますかね?
0026デフォルトの名無しさん
2005/07/22(金) 18:07:55この68747470はIPアドレスで、それから www.hoge.com とかのドメインが取りたいの?
0027デフォルトの名無しさん
2005/07/22(金) 18:18:53「コンパイル時にコンストラクタが存在しないときに、コンパイラが自動生成するコンストラクタ」か
「引数をとらないpublicなコンストラクタ」のどちらでしょうか。
検索すると両方出てきて、どちらが正しいのかわかりません。自分は前者だと思っていました。
0028デフォルトの名無しさん
2005/07/22(金) 18:24:02もちろんできますよ。
・Stringから2文字ずつ切り出す方法
・2桁の16進数文字列をcharにする方法
・charを繋げてStringにする方法
どれがわからない?
0029デフォルトの名無しさん
2005/07/22(金) 18:30:38httpを得たいってとこからよく推測する気になるな。
0031デフォルトの名無しさん
2005/07/22(金) 18:43:590032デフォルトの名無しさん
2005/07/22(金) 19:28:52二番目と三番目を教えてくださorz
0033デフォルトの名無しさん
2005/07/22(金) 20:13:49CUIでプログラムを作成しておりますが、「Ctrl+Cで強制的に終了させた」
というイベントの検知は可能なのでしょうか?
強制終了させた場合に終了処理を走らせたいのです。
0034デフォルトの名無しさん
2005/07/22(金) 20:34:092番目は、Integer.parseInt(s, radix)
3番目は、StringBuffer.append(char)
0035デフォルトの名無しさん
2005/07/22(金) 23:23:06http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.8.9
> If a class contains no constructor declarations, then a default constructor
> that takes no parameters is automatically provided:
(以下略)
微妙
0036デフォルトの名無しさん
2005/07/23(土) 00:44:40オブジェクト指向の敵。このため、大抵の場合は、
継承よりコンポジションの方が良いといわれる。
実装や継承は、そのクラスの作り方ではなく使われ方にあると思う。
機能追加のために使うのではなく、
ポリモーフィズムを利用したり、デザインパターンの適用など?
一般に、継承のために(継承を想定して)作られたクラス以外は、
継承すべきでないとかどこぞで言われたりする。
亀レス
0037デフォルトの名無しさん
2005/07/23(土) 00:54:470038デフォルトの名無しさん
2005/07/23(土) 10:15:08JLSと同じ意味で default constructor を使うなら >>27 の前者でしょ。
0039デフォルトの名無しさん
2005/07/23(土) 11:34:40BufferedImageからImageへの変換について教えてくれませんか?
単純に
bufimg = (BufferedImage)img
のようにキャストを用いて変換を試みるとエラーとなってしまいます・・・
0040デフォルトの名無しさん
2005/07/23(土) 11:50:10> bufimg = (BufferedImage)img
これは Image から BufferedImage に変換しようとしてるんだけど。
img が BufferedImage のインスタンスだと確信できないなら
img instanceof BufferedImage とかで確認してからやった方がよさげ。
0041デフォルトの名無しさん
2005/07/23(土) 11:53:34g.drawImage((bufimg, 0, 0, null);
0042デフォルトの名無しさん
2005/07/23(土) 12:20:01>>41
素早いレスありがとうございます
>>40さんのご指摘のとおり、Image→BufferedImageに変換です
>>41さんのようにしてみましたが、イマイチうまくいきませんでした・・・
drawImage(Image img, int x, int y, ImageObserver observer)
ですのでImage引数にBufferedImageの変数は与えることができるのでしょうか?
もう少し自分でも試してみます
他にも何かアイデアがあれば再び教えていただければ幸いです
0043デフォルトの名無しさん
2005/07/23(土) 12:38:04逆だろ。Image から BufferedImage に変換するんなら、
BufferedImage bufimg = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics g = bufimg.getGraphics();
g.drawImage(img, 0, 0, null);
0044デフォルトの名無しさん
2005/07/23(土) 12:43:36迷ったんだが >>39 の2行目を優先した。
004539
2005/07/23(土) 13:01:48おかげさまで無事できました。
あと、BufferedImage,Imageの変換の方向など少し混乱させてすみませんでした
とても助かりました
0046デフォルトの名無しさん
2005/07/23(土) 14:54:00String str = "abc";
/*
vecに文字列を取り込む処理をする
*/
if(vec.contains("abc")
{
for(int i=0;i<vec.size();i++)
{
if(vec.elementAt(i).toString() == str)
System.out.println(str+"が見つかりますた");
}
}
というコードを書きたいのですがif(vec.elementAt(i).toString() == str)
ここがどうもfalseになり、その下の画面出力が実行できません。
何か良い大体手法はありませんでしょうか?
0047デフォルトの名無しさん
2005/07/23(土) 14:57:450048デフォルトの名無しさん
2005/07/23(土) 17:17:4847を補足するとequalsを使って比較しろって事だ。
==とequalsの違いについては自分で調べてくれ。
0049デフォルトの名無しさん
2005/07/23(土) 17:38:47Vector#indexOf(Object, int) を使って調べても良いかもね。
0050デフォルトの名無しさん
2005/07/23(土) 20:26:240051崖っぷち
2005/07/24(日) 00:12:32下記の問題が未だに理解できません。
答はA,B,E,FなのですがCとEの違いが分からないです。
なぜなのか教えてください。
何卒宜しくお願いします!
1.public class Test{
2.public static void main(String[]args){
3.byte[][]big=new byte[7][7];
4.byte[][]b=new byte[2][1];
5.byte b3=5;
6.byte b2[][][][]=new byte[2][3][1][2];
7.
8.}
9.}
7行目に挿入してコンパイルできるコードは?
A.b2[0][1]=b;
B.b[0][0]=b3;
C.b2[1][1][0]=b[0][0];
D.b2[1][2][0]=b;
E.b2[0][1][0][0]=b[0][0];
F.b2[0][1]=big;
0052デフォルトの名無しさん
2005/07/24(日) 00:33:250053崖っぷち
2005/07/24(日) 00:59:04理解できず質問です、51の事でしょうか?
0054デフォルトの名無しさん
2005/07/24(日) 01:00:08SQLJを使ったJAVAプログラムで、同じ内容のSQLステートメントを何度も発行します。
何度も同じSQLステートメントを書くのが格好悪いので、同じステートメントを繰り返し
使いたいのですが、どうすればいいでしょうか。
ちなみに使うSQLステートメントは"SELECT COUNT(1) FROM XXX"です。
0055デフォルトの名無しさん
2005/07/24(日) 01:03:56b2[1][1][0]はbyte[]型なのに、
それと一致しないbyte型のb[0][0]を代入してるからCはダメ。
b2[0][1][0][0]はbyte型だからEは正しい。
0056デフォルトの名無しさん
2005/07/24(日) 01:06:55たとえばb2[0]に入っているのは、より次元の低い配列への参照だ。b2[0][0][0][0]には
byteが入っている。
new byte[2][4]だったら、byte[2]には、byte[4]への参照が二つ入っていると思えばいい。
0057崖っぷち
2005/07/24(日) 01:20:52ありがとうございます。
なんとなく理解できました、もっと完璧に理解できるように
あと少し時間を掛け、問題と解説を眺めて考えます。
0059デフォルトの名無しさん
2005/07/24(日) 01:45:390060デフォルトの名無しさん
2005/07/24(日) 01:46:25Cで埋め込みSQLなら経験がある漏れが来ましたが
そのステートメント発行するとこをメソッドに切り出したらどない?
0061デフォルトの名無しさん
2005/07/24(日) 06:53:47006254
2005/07/24(日) 10:23:18なるほど、ありがとう。
STRING型の変数にSQL文を入れて、それを何度も使いまわして埋め込む、ってことはできなんだよね?
0063デフォルトの名無しさん
2005/07/24(日) 12:44:38一回入れたVectorを取り出して、その中にアクセスしてみ。
Vector container;
Vector contained;
//.....
//containedに何か入れとく
contained.add( something );
//それをcontainerに入れとく。
container.add( contained );
//...中略
//入れられたVector (contained) を取得
Vector v = (Vector)container.lastElement();
//入れられたVectorの要素を取得
Object element = container.get( i );
0064デフォルトの名無しさん
2005/07/24(日) 13:32:32> 以下の様にクッキーからユーザ名を取得して、画面に出力すると、
> なぜかいつも『JSESSIONID』という文字が出力されてしまいます。
> この『JSESSIONID』はいったいなになのでしょうか。
> 宜しくお願い致します
>
> Cookie[] ck = request.getCookies();
このメソッドってさあ
こう書き換えたくね?
List<Cookie> getCookies(){
}
0065デフォルトの名無しさん
2005/07/24(日) 13:37:56> >61
> 一回入れたVectorを取り出して、その中にアクセスしてみ。
>
> Vector<Vector> container = new Vector<Vector>();
> Vector<何か> contained = new Vector<何か>;
> //.....
> //containedに何か入れとく
> contained.add( something );
>
> //それをcontainerに入れとく。
> container.add( contained );
> //...中略
> //入れられたVector (contained) を取得
> Vector v = container.lastElement();
>
> //入れられたVectorの要素を取得
> 何か element = container.get( i );
0066デフォルトの名無しさん
2005/07/24(日) 13:44:32List<List> container = new ArrayList<List>();
List<何か> contained = new LinkedList<何か>();
> //containedに何か入れとく
> contained.add( something );
>
> //それをcontainerに入れとく。
> container.add( contained );
> //...中略
> //入れられたList (contained) を取得
> List v = container.get(size() - 1);
>
> //入れられたVectorの要素を取得
> 何か element = container.get( i );
0067デフォルトの名無しさん
2005/07/24(日) 13:49:40List<List<何か>> container = new ArrayList<List<何か>>();
List<何か> contained = new LinkedList<何か>();
> //containedに何か入れとく
> contained.add( something );
>
> //それをcontainerに入れとく。
> container.add( contained );
> //...中略
> //入れられたList (contained) を取得
Iterator<List<何か>> containerIterator =container.iterator();
List<何か> contained = null;
Iterator<何か> containedIterator = null;
何か something = null;
while(containerIterator.hasNext()){
contained = containerIterator.next();
containedIterator = contained.iterator();
while(containedIterator.hasNext()){
何か = containerIterator.next();
何か.処理したいメソッドとか();
}
}
0068デフォルトの名無しさん
2005/07/24(日) 13:53:40List<List<何か>> container = new ArrayList<List<何か>>();
List<何か> contained = new LinkedList<何か>();
> //containedに何か入れとく
> contained.add( something );
>
> //それをcontainerに入れとく。
> container.add( contained );
> //...中略
> //入れられたList (contained) を取得
for(List<何か> contained : container){
for何か something : contained){
何か.処理したいメソッドとか();
}
}
0069デフォルトの名無しさん
2005/07/24(日) 15:16:34なんの略語なの?
0070デフォルトの名無しさん
2005/07/24(日) 15:51:56RunTime EXPRession Value
0071デフォルトの名無しさん
2005/07/24(日) 15:53:400072デフォルトの名無しさん
2005/07/24(日) 16:00:35ランタイムだったのですか。スッキリ thx!
0073デフォルトの名無しさん
2005/07/24(日) 16:08:13現在JSP/Servletにて制作中で、
パッケージ org.apache.commons.fileupload を使って
ファイルのアップロードには成功しました
しかし、アップロードの際に、動的にディレクトリを生成したいのですが
フォルダを生成するクラス、というのはあるのでしょうか?
0074デフォルトの名無しさん
2005/07/24(日) 16:15:01java.io パッケージのAPIドキュメントとにらめっこ汁。
ServletとかCommons FileUpload とか全然関係ないぞ。
Javaの入門書をもう一度読み直してみるといい。
0075デフォルトの名無しさん
2005/07/24(日) 16:38:15ありがとうございました。発見しました
やはり専門書は何か買った方がいいですかね
全てgoogle先生に頼っていたので…
0076デフォルトの名無しさん
2005/07/24(日) 17:59:22ssh, rsh, telnetって知ってるか?
jsch.jarをダウンロードして使う凝った
0077デフォルトの名無しさん
2005/07/24(日) 18:43:13おっかねえなぁ。
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
2005/07/24(日) 21:17:57それ用のを入れたいのですが、
SunのDownload Siteの「Windows AMD64 Platform」
って"Windows AMD64 executable"ってなってます。
この"executable"って単に実行可能形式ってことですか?
それとも何か意味があるんですか?
英語苦手なんでよろしくお願いします。
0080デフォルトの名無しさん
2005/07/24(日) 22:22:43バッチファイルから起動してもおまけの黒画面が付いてきて鬱陶しいのですが
0081デフォルトの名無しさん
2005/07/24(日) 22:24:01その認識で大丈夫
実行形式だから、インストーラーが走る。 トオモウ。
0082デフォルトの名無しさん
2005/07/24(日) 22:42:400083デフォルトの名無しさん
2005/07/24(日) 22:56:29jarファイルに汁
0084デフォルトの名無しさん
2005/07/24(日) 23:08:18javaコマンドじゃなくてjavawコマンドでアプリを起動すればOK。
0086デフォルトの名無しさん
2005/07/24(日) 23:56:20どのクラスが使えそう?
0087デフォルトの名無しさん
2005/07/25(月) 00:58:32それをプロンプトでコンパイルすると実行できるんですが
イクリプスを使って実行しようとするとインポート文の所でエラーになっちゃいます
(↓ここ全部)
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
これはなぜですか?
0088デフォルトの名無しさん
2005/07/25(月) 02:02:02j3d.jarをライブラリに追加しろ
それから
Eclipseに関する話題は今後Eclipseスレですること
0089デフォルトの名無しさん
2005/07/25(月) 08:06:46現在Tomcat、jsp、Servletでアプリケーションを作ってるのですがサーバーの
メモリが少ないため色々と工夫しています。
cronでSystem.gc();を行うプログラムを実行して1時間おきに定期的に
ガーベッジコレクションを行おうと思うのですがこういうことはサーバー管理
として一般的に見てありでしょうか?
0090デフォルトの名無しさん
2005/07/25(月) 09:13:15メモリを増やすというシンプルでローコストな解決法ではいかんのかね?
System.gc()はgcに対してリクエストは出すが、必ずしもgcされるという
保障はない。
009189
2005/07/25(月) 09:37:20ご返答ありがとうございます。
レンタルサーバーでJava 仮想マシンのメモリの総容量は64Mです。
サーバーの割り当てられているメモリは100Mくらいのようなので
Xmxも64Mが最適値のようです。
そこまでメモリがなくなるというわけではないのですが定期的に
メモリのメンテナンスをする意味でやろうと思っています。
gcをやったらタイミング的に危ないときがあるなどありますでしょうか?
0092デフォルトの名無しさん
2005/07/25(月) 09:59:37OutOfMemoryErrorが発生するような状況でなければ
VM任せにしておいていいよ。
アプリ側でわざわざSystem.gc()呼ばなきゃならないのは
少し特殊な状況だと思っておいていい。
「定期的にメモリのメンテナンスをする」ためのSystem.gc()は無意味。
009389
2005/07/25(月) 10:37:27ありがとうございました。
0094デフォルトの名無しさん
2005/07/25(月) 11:20:26java.lang.ref.Referenceを使った方が良い。
Javaの実行オプションで最大ヒープメモリサイズを上げてみるとか
Tomcat側の設定server.xmlを弄ってみるとか。
無駄にnewしているところはないか?
Servlet側でできることを無理矢理JSPでやろうとしていないか?
DBアクセスするときにデータソースを使わずに操作していないか?
考えられることはいくらでもある。
J2EEパフォーマンスチューニングという言葉もある。
探してみれ。
オライリー本にもパフォーマンスを上げる方法が載っている
0095デフォルトの名無しさん
2005/07/25(月) 11:21:12オブジェクトをシリアライズしてみるとか
009691
2005/07/25(月) 11:52:05Tomcatが落ちてしまうのがなくなりました。
VMサーバの最大ヒープメモリサイズはTomcat(JDK)をインストールする
ときに指定しないとダメだとググったら書いてありました。
実際setenv.shに-Xmxオプションを指定しても〜identified〜という
エラーが出てしまいましたので-Xms64mのみ指定しています。
いまはservletをできるだけ小さく分割しています。
009791
2005/07/25(月) 11:52:550098困った
2005/07/25(月) 12:12:13こんな事って可能でしょうか。
○strutsのフレームワークを利用したいソース
struts-config.xmlで<Action>タグでマッピングをかける
○Servletのみで行いたいソース
web.xmlにて、 <servlet>
<servlet-name>*****</servlet-name>
<servlet-class>******</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>***</servlet-name>
<url-pattern>***</url-pattern>
</servlet-mapping>
と表記。
そもそも、Strutsを使った時点で、もう普通のweb.xmlでサーブレットのみを読み出せないかと試みておりますが、呼び出せないのです。。。
0099デフォルトの名無しさん
2005/07/25(月) 12:30:40> VMサーバの最大ヒープメモリサイズはTomcat(JDK)をインストールする
> ときに指定しないとダメだとググったら書いてありました。
それはググッた先のサイトがクソだな。
JAVA_OPTS変数にVMの起動引数を指定できる。
Tomcatの起動スクリプトのコメントをよく見ろ。
0100デフォルトの名無しさん
2005/07/25(月) 12:32:17できる。
>呼び出せないのです。。。
しか書いていないので、それ以上のことは回答不可能。
0101デフォルトの名無しさん
2005/07/25(月) 13:00:27> Apacheと連携しているのでポート8080を使用しないようにしたらたまーに
> Tomcatが落ちてしまうのがなくなりました。
> VMサーバの最大ヒープメモリサイズはTomcat(JDK)をインストールする
> ときに指定しないとダメだとググったら書いてありました。
それは初耳、そのサイトはJakara本家?
それとも個人、または本家だけど古いバージョンのTomcatだとか?
あと、インストール時に指定ということは
> 実際setenv.shに-Xmxオプションを指定しても〜identified〜という
> エラーが出てしまいましたので-Xms64mのみ指定しています。
> いまはservletをできるだけ小さく分割しています。
Servlet事態を分割するよりも
Servletでやる必要の無いものをServletの外でやる(委譲)ようにしたほうがいい。
分割したクラスすべてをわざわざHttpServletクラスから継承させては本末転倒。
基本的なイディオムで無駄がないかとか無い?
for文の外に出せるものを内側でかいてしまっているとか。
getFreeMemory()とかで調べてみるとか
プロファイラでボトルネックがあるところを調べてみるとかしてる?
プロファイラで調べてからチューニングをしたほうがいいんじゃないかと。
■ このスレッドは過去ログ倉庫に格納されています