- PR -

サーブレットについて

投稿者投稿内容
mikan
ベテラン
会議室デビュー日: 2002/08/19
投稿数: 58
投稿日時: 2003-01-28 15:49
こんにちは、みかんです。

<form method="POST" action="/wada/servlet/mail_k">

ではないですか?(actionの、最初の . をとってみました)

mail_k.html の位置がわからないので当てずっぽうですけど。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2003-01-28 19:05
解決したようなのでちょっとパーソナルな意見を・・・。別にど〜でも良いことですけど、

コード:
public class mail_k extends HttpServlet {
    int i;  //<--ここ
  
    ...略...

    private String strMess(String strMass){

        StringBuffer strResult=new StringBuffer();

        for(i=0;i<strMass.length();i++){ //<--ここ
            ...
        }
    }
}


i のような一時変数をフィールド変数として宣言するのはお行儀が悪いですよ。

コード:
public class mail_k extends HttpServlet {
  
    ...略...

    private String strMess(String strMass){

        StringBuffer strResult=new StringBuffer();

        for(int i=0;i<strMass.length();i++){ //<--ここ
            ...
        }
    }
}


とする事をお勧めします。大したことじゃないですけど、個人的にとても気になっちゃうので・・・。
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2003-01-30 04:11
こんにちは。
ちょっと予断ですが、
Servletはマルチスレッドなので
この場合の変数iは スレッドセーフではないのではないでしょうか。
要は i は前回処理した内容を保持したままではないですか?
H2さんのおっしゃるように
for(int i=0....)とローカル変数的に記述するべきだと思います。
(SingleThreadなら別ですが)
共有資源(Connectionなど)以外は
ローカル変数(スレッドセーフ)にするべきではないでしょうか。

ムゲンループしていると予測されるのであれば
そのfor文をじっくり検証してみてください。
iの値がKEYだと思います。

失礼しました

[ メッセージ編集済み 編集者: raystar 編集日時 2003-01-30 16:15 ]

スキルアップ/キャリアアップ(JOB@IT)