- - PR -
Weblogic エラー画面表示
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-05-23 14:36
■環境■
OS : Red Hat Linux AP Server : WebLogic Server 8.1 Framework : struts1.1 ファイルアップロード機能を構築してあるのですが、ファイルサイズに 上限(1M)を設定しようと考えています。 そこで、WebLogicのコンフィグレーション(config.xml)に <WebServer MaxPostSize="1048576"/> と設定することでファイルサイズのチェックは可能であることは分かった のですが・・・。その際に表示させようとしているエラーページが思うよ うに表示されません。 <web.xml> -------------------------------------------------------------- 略 <error-page> <error-code>401</error-code> <location>/error401.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/error404.jsp</location> </error-page> <error-page> <error-code>413</error-code> <location>/error413.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/error500.jsp</location> </error-page> 略 -------------------------------------------------------------- のように単純にエラーコード「413」を定義すればよいと思っているの ですが、何か不足している部分があるのでしょうか? ちなみに「401」アクセス権限がない場合などは表示されます。 | ||||||||
|
投稿日時: 2006-05-23 18:38
自己レスです。
アップロードされたファイルについて、各プログラムにて以下のような 感じでチェックして、ファイルサイズが規定値を超えているならば、 例外をスローしてあげるようにすれば、問題なく独自のエラー画面を表示 できると考えています。 ----------------------------------------------------------------------- FormFile oFile = (FormFile)PropertyUtils.getProperty(form,"UploadFile"); if ( oFile.getFileSize() == 0 ) { throw new Exception(); } ----------------------------------------------------------------------- が、個別に埋め込むのが少し煩わしく感じたため、Weblogicのコンフィグレーション でまとめてしまおうかと思っています。 初めての投稿で勝手が分かっていませんが、ご意見等お願いします。 | ||||||||
|
投稿日時: 2006-05-24 10:13
413のエラーコード自体返らないのでしょうか?それともカスタムエラーページが表示されないのでしょうか?
| ||||||||
|
投稿日時: 2006-05-24 11:13
返答ありがとうございます。
今回の場合、質問されている部分の切り分けが第一でしたね。 私が良く分かっていない部分が多々ありますが、、、 結論からすると、ファイルアップロード時のサイズが規定値を超え ていた場合、「サーバーが見つからないか、DNS エラーです。」と 表示されます。 Weblogicから出力されるLogは以下のような内容です。 ------------------------------------------------------------------- <BEA-101096> <POST サイズが MaxPostSize=1,048,576 を超過しました。> ------------------------------------------------------------------- これは、HTTP Status 「404」に相当すると考えていますが、良いで すよね?ただ、私が構築しているシステムに対して存在しないURLで リクエストがあった場合、「404」に相当する独自のエラーページは 表示されているのですが・・・。 分かりづらい内容になってきているかもしれませんが、現状はWeblogicの コンフィグレーションで設定した「送信データ量」の上限チェックに 引っかかった場合、エラーページが表示されないといった状況です。 不明な点などがありましたら、指摘下さい。 | ||||||||
|
投稿日時: 2006-05-24 11:38
実際に戻ってくるエラーコードを確認してみるのが
早いかと思います。 access.log?でしたっけ? 又はキャプチャをすれば、コードを確認できると思います。 他にも確認するログがあるかもしれませんが、 思いつきませんでした。 | ||||||||
|
投稿日時: 2006-05-24 11:46
WLS のドキュメントによると MaxPostSize を超過した場合は 413 が帰るとありますね。
http://edocs.beasys.co.jp/e-docs/wls/docs81/adminguide/web_server.html#100473 その通りにならないのであればご購入先のサポート窓口に問い合わせてみてはいかがでしょう。 | ||||||||
|
投稿日時: 2006-05-24 12:03
KOX様、返答ありがとうございます。
access.logで確実な情報を得ることができましたね。 早速、ファイルアップロードを実行してaccess.logを確認したのですが、 ファイルアップロードを行う前と後でaccess.logに変化はありませんでした。 この状況がそもそも原因のようです。 --------------------------------------------------------------------- インギ様、返答ありがとうございます。
仕様で記述されているにも関わらず、上記KOX様に回答したような状況で あったため、問合せするしかなさそうですね。 いろいろとありがとうございました。 今後もこちらの会議室を利用しようかと思っていますので、宜しくお願いします。 | ||||||||
|
投稿日時: 2006-05-24 12:59
>ファイルアップロードを行う前と後でaccess.logに変化はありませんでした。
アクセスログはバッファされて書き出されます。 何度か試行すれば書き出されるのが確認できるかと思います。 |