1

私はJavaサーブレットプログラミングに初めて参入しました。「サーバーサイド」プログラミングに慣れているので、ライターとアウトプットストリームを扱う習慣をいくつか身に付けました。ただし、サーブレットをプログラミングする場合、これらの習慣は適切ではない可能性があり、利用可能なJavadocは、以下の2つの質問に明確に答えていません。

最初の質問:それらに書き込もうとしたときにスローされたIOExceptionをキャッチする必要がありますか?そうしないとすると、この場合のサーブレットコンテナのデフォルトの動作は何ですか(つまり、HTTPリターンコードは何ですか)。

2番目の質問:サーブレットエンジンにOUtputStream / Writerを閉じさせる必要がありますか?サーブレット内で自分で閉じることに危険はありますか?

4

1 に答える 1

2

最初の質問:それらに書き込もうとしたときにスローされたIOExceptionをキャッチする必要がありますか?そうしないとすると、この場合のサーブレットコンテナのデフォルトの動作は何ですか(つまり、HTTPリターンコードは何ですか)。

サーブレットからスローされるランダム例外のデフォルトのエラーコードは通常503(内部サーバーエラー)ですが、その要件はないと思います(つまり、サーブレットコンテナが異なれば動作も異なる可能性があります)。例外をキャッチして自分で処理する必要があるかどうかは、サーブレットが必要とする動作に完全に依存します(状況ごとに異なるエラーコードがある場合、すべてのデータを読み取れない場合でも続行したい場合があります)。等。)。

2番目の質問:サーブレットエンジンにOUtputStream / Writerを閉じさせる必要がありますか?サーブレット内で自分で閉じることに危険はありますか?

ほとんどの(すべて?)サーブレットエンジンがストリームを閉じると思いますが、それでも自分で閉じるのがベストプラクティスだと思います。

于 2013-01-18T16:44:50.003 に答える