The simple answer is that in the past not all app servers supported repeated 
writes to one or the other of these two options. In other words, you could 
write once to either one, but if you wanted to "stream" stuff through the 
writer or the stream you had to use the one the app server supported, and there 
was nothing in the spec that said which one that should be... hence the need 
for a compatibility layer to handle the differences in different servlet 
containers.

-David


On Jun 5, 2010, at 10:44 PM, Adrian Crum wrote:

> I might have found the answer to this. Some application servers perform 
> better with an output stream instead of a print writer (or the other way 
> around). If that is the reason for this code, shouldn't that be something 
> that is configurable? Right now the choices are hard-coded in Java. Why not 
> allow OFBiz users choose the settings most appropriate for their installation?
> 
> -Adrian
> 
> --- On Sat, 6/5/10, Adrian Crum <[email protected]> wrote:
> 
>> From: Adrian Crum <[email protected]>
>> Subject: Question About UtilJ2eeCompat.java
>> To: [email protected]
>> Date: Saturday, June 5, 2010, 12:11 PM
>> I noticed that the screen renderers
>> call the UtilJ2eeCompat.useOutputStreamNotWriter method to
>> determine whether to use the response's print writer or
>> output stream. Why is that check necessary? From my
>> understanding of the javax.servlet spec, you use a writer to
>> send text and you use the output stream to send binary
>> data.
>> 
>> -Adrian
>> 
>> 
>> 
>>       
>> 
> 
> 
> 

Reply via email to