[Seasar-user:7012] Re: [Teeda]ServletResponseのContentTypeの設定タイミングについて

関 真理子 [E-MAIL ADDRESS DELETED]
2007年 4月 2日 (月) 14:57:50 JST


関です。

> > フィードバック頂いた内容にそって対応しました。
> ありがとうございます。
> 最新ソースで試してみたいと思います。
最新ソースで、ContentTypeが設定されることを確認いたしました。
ありがとうございます。

ちなみに、
次バージョンのリリースはいつごろになりそうでしょうか?


On Mon, 02 Apr 2007 14:06:23 +0900
関 真理子 <[E-MAIL ADDRESS DELETED]> wrote:

> 関です。
> 
> > フィードバック頂いた内容にそって対応しました。
> ありがとうございます。
> 最新ソースで試してみたいと思います。
> 
> 
> 
> On Mon, 2 Apr 2007 13:53:48 +0900
> "Shinpei Ohtani" <[E-MAIL ADDRESS DELETED]> wrote:
> 
> > 大谷です。
> > 
> > フィードバック頂いた内容にそって対応しました。
> > 次のバージョンにて反映されます。
> > 
> > 宜しくお願いします。
> > 
> > 07/04/02 に Shinpei Ohtani<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > 関さん、
> > >
> > > 大谷です。
> > >
> > > フィードバックありがとうございます。
> > > 下記内容を調査・検討してみます。
> > >
> > > 宜しくお願いします。
> > >
> > > 07/03/30 に 関 真理子<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > > いつもお世話になっております。関です。
> > > >
> > > > Teeda-1.0.6 を利用しております。
> > > >
> > > >
> > > > ServletResponseのContentTypeの設定タイミングについてのご相談です。
> > > >
> > > > 現在開発中のアプリで、8Kを超えるHTMLを表示しようとすると、
> > > > ResponseのContentTypeがnullとなる問題が発生しております。
> > > >
> > > > そのため、サーバ構成をApache + Tomcat とした場合に、
> > > > FireFoxにてHTMLがテキストとして表示されてします。
> > > >  ※IEでは問題無し。
> > > >  ※Tomcatのみでは、IE・FireFoxともに問題無し。
> > > >
> > > >
> > > > ResponseRenderPhaseの処理を確認したところ、以下の点に気づきました。
> > > >
> > > > TViewTag.doStartTag()にてsetContentType()が呼び出されているのですが、
> > > > その処理の前のsuper.doStartTag()にて実行される各ConponentのencodeBegin()の処理によって
> > > > ResponseのBufferSizeを超えるwrite()が実行され、
> > > > Servlet内部でsendBuffer()をされてしまっているように思えました。
> > > >
> > > > # HTMLのサイズがおよそ8Kを超えたあたりでisCommitted()がtrueの状態になりました。
> > > > # また、事前にResponse.setBufferSize()を極端に大きく設定すると現象は発生しませんでした。
> > > >
> > > >
> > > > どうやら、ResponseにsetContentType()する前に、
> > > > ResponseのBufferSizeを超えるwrite()が実行されると、
> > > > Responseがコミット(isCommitted()がtrueの状態)となり、
> > > > その後のsetContentType()が反映されず、
> > > > ServletResponse.getContentType()がnullとなってしまうようです。
> > > >
> > > >
> > > > 回避策として、独自のServletFilterで、
> > > > Request開始時に明示的にsetContentType()を指定しています。
> > > >
> > > >
> > > > TViewTag.doStartTag()内のsetContentType()の呼び出しタイミングを
> > > > もっと早くすればよいのかなと思うのですが、いかがでしょうか?
> > > > (それとも、ContentTypeはアプリ側で明示的に設定するべきでしょうか?)
> > > >
> > > >
> > > > 以上です。
> > > > --
> > > > 関真理子 <[E-MAIL ADDRESS DELETED]>
> > > >
> > > >
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > >
> > >
> > >
> > > --
> > > =============================
> > > Shinpei Ohtani
> > > [E-MAIL ADDRESS DELETED]
> > > =============================
> > >
> > 
> > 
> > -- 
> > =============================
> > Shinpei Ohtani
> > [E-MAIL ADDRESS DELETED]
> > =============================
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> -- 
> 関真理子 <[E-MAIL ADDRESS DELETED]>
> 
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user

-- 
関真理子 <[E-MAIL ADDRESS DELETED]>





Seasar-user メーリングリストの案内