- ベストアンサー
JSP での exit? (スクリプトからの抜け方)
現在、Linux 上の JRun の評価をしているのですが、JSP の動きで悩んでいる部分があります。 PHP や、perl などでは、 exit; とすれば、そこで処理を終えてスクリプトを抜けることができますが、JSP ではどういった方法で処理を終えればよいのでしょう? System.exit(1); では、JRun の対象サーバごと(!) exit してしまいますし、いきなり return; を書くと、抜けることができたのですが、 try {} catch (){} では、機能してくれません。。。 みなさん、 if (flag){ exit(1); } のような処理はどうされているのでしょう?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
JRunのエラーログに何か情報が出力されていませんか? ちなみに、個人的にはWin2000+Apache+Resinで <% String str = null; try { if (str.equals("")) { } } catch (Exception e) { return; } %> という、簡単なソースを記述してやると、問題なく表示されます。。。 # 実際は表示処理を行っていないので、何も表示されないのですが
その他の回答 (2)
上記の例で言えば、 if (flag) { return; } では、抜けられませんか?
補足
回答ありがとうございます。 上記の例でも抜けることができることを確認していたのですが、 try{}catch(){} 文で internal server error になってしまいます。 try { // 処理 } catch (Exception e){ // 例外が発生したら抜ける return; } のような場合です。 謎です。
- ct27
- ベストアンサー率62% (48/77)
JSPもperlも全然わからないのですが、予測で・・・ ラベルとかつければいいのでは? if( flag ){ break f1; } :f1 私は使用したことはありませんがラベルを使えばなんちゃってgoto文に なると思うので・・・これじゃだめですかねぇ・・・
お礼
回答ありがとうございます。 先ほど、上記のソースに、<%@ page... %> を付けて実行してみたところうまくいくことを確認しました。 謎です。。 :-( ひょっとしたらですが、 1. JRun の評価と同時に mcap という製品の評価もしています。 2. mcap は JRun のWEB アプリケーションとして動作しています。 3. mcap は特定の URI にリクエストがあった場合、wrapper のような働きをして、User-Agent ごとに違った HTML を出力します。(ターゲットは携帯電話ですので、chtml や、cdml など) 4. そのために、XHTMLBasic という言語を使用して Java, HTML, XML などが混在した jsp ファイルになります。 5. で、parse error や、別の例外が発生していたのかも。。。 と、考えました。 catch ブロックの中の return を取っただけで正常に動いたり、入れただけで error になったりする動作は本当に不可解でした。 ひとまず close して、もう少し検証してみます。 なんとも歯切れの悪い終わり方で申し訳ありません。