- - PR -
strutsでのFileのuploadで発生するWarning
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-28 23:30
最近ずっとできずにわからない事があるのですが、誰か解決策を知りませんか?
struts1.2 weblogic server 8.1 sp2 fileの取り込みを行なっているのですが、Warningが出てしまいます。 処理はきちんと行えているのですが・・・ <Warning><BEA-101138> メソッドのgetParameterファミリの1つがServletInputStreamから読み込み後に呼び出されました。postパラメータを結合しません。 という警告が出てしまいます。 どうにかできないのでしょうか?お願いします。 | ||||||||
|
投稿日時: 2005-03-01 00:56
まずはweblogicサーバのマニュアルなりなんなりを見てみるのが先ではないでしょうか?
| ||||||||
|
投稿日時: 2005-03-01 01:25
未記入さん、こんにちは。
とあるのでしたら、それを疑ってみたらどうでしょうか? ServletRequestに対して、一度 getInputStream()を読んだ後では、 getParameter()とか使用できませんよ。 getInputStream()のAPIドキュメントより引用:
| ||||||||
|
投稿日時: 2005-03-01 09:53
メッセージの通りだと思いますが、それでも不明なのであればサポート窓口に問い合わせてみてはいかがでしょうか?
せっかく商用製品をつかっているのですから。 | ||||||||
|
投稿日時: 2005-03-01 10:05
ご返答ありがとうございます。
strutsのソースを見たところ、Kissingerさんの言われてることを行っているようです。 Weblogicのサーバーマニュアルは post パラメータ が getParameter メソッドを介して入手できることにコードが依存している場合は、コードを修正してください。 っとなっており、対応策がわからず困っています。 | ||||||||
|
投稿日時: 2005-03-01 15:04
>post パラメータ が getParameter メソッドを介して入手できることにコードが依存している場合は、コー
>ドを修正してください。 既にKissinger さんが指摘されている通りですが、getInputStream() を使わない場合のみ getParameter() によりパラメータ取得ができます。しかし getInputStream() を使うと getParameter() によるパラメータの取得が出来ません。getInputStream() を使っていない場合のみを想定したコード、のことを「getParameter メソッドを介して入手できることにコードが依存している場合」と表現しているのでしょう。 >対応策がわからず困っています。 なのであれば、繰り返しになりますがまずサポート窓口に問い合わせてみてはいかがでしょうか? Free Edition でサポート契約がないのであればしょうがないですが、商用アプリケーションの開発をしているのであればサポート契約を結んでいるのではないでしょうか? サポート窓口を使わずに自分で問題を解決しようとするのであればソースコードの確認、改変ができるオープンソースの製品を使った方が良いかもしれません。 #もちろんサポートを除いても実績や安定性、パフォーマンス、ユーザビリティという意味で商用製品が有利な面も多くありますが。 うまくサポート窓口を使って問題の切りわけを委譲すれば開発全体のコストを抑えることが出来ますし、なにしろこのような掲示板よりも責任のある回答が得られます。 | ||||||||
|
投稿日時: 2005-03-02 20:09
残念ながら、サポート契約はしていませんでした。
ですが、sp4にバージョンupしたらでなくなりました。 皆様いろいろとありがとうございました。 | ||||||||
|
投稿日時: 2005-03-03 03:41
なるほど。そういう事情があったんですね。
SP3のリリースノートを確認してみたところそれっぽいのがありました。転送時に不必要に警告メッセージが出ることがあるとか。 コーディングに問題がないのであればこれに該当しているのかもしれませんね。 ・サービス パック 3 で解決された問題 > サーブレット > CR128051 http://edocs.beasys.co.jp/e-docs/wls/docs81/notes/resolved_sp03.html#1820963 ---- 送を行うリクエストをポストするクライアントに対して、次の警告メッセージが表示されることがあります。 "Warning: One of the getParameter family of methods called after reading from the ServletInputStream(), can't mix these two!". 転送されたリクエストはポスト パラメータが解析された後にのみ、クエリ パラメータの取得を試みるようにコードが修正されました。その結果、警告メッセージは表示されなくなりました。 ---- [ メッセージ編集済み 編集者: インギ 編集日時 2005-03-03 06:56 ] | ||||||||
1
