You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Xuekun Hu <xu...@gmail.com> on 2007/01/15 07:23:21 UTC

Questions about JSP programming

Hi,

Sorry for the off-topic questions, since I didn't find a good forum to
discuss JSP programming. :-). If you have any recommendations, I would
be very appreciated.

I have two questions.
1.  I wrote a test.jsp to test dynamically return a static file from
the request parameter.
////--- test.jsp
<jsp:include page='<%= request.getParameter("f") %>' />
The problem is that the return size is always greater than the request
file size by 1. For example, the static file is 512byte, however it
return 513 byte. The result is repeatable. Does anyone know the
reason?

2.  I implemented the test.jsp by another include usage.
////---test.jsp
<%@ include file="request.getParameter("f")" %>
However tested with lots of simulaneous request of the same jsp, some
request will get "500 internal server error"!. What's wrong?

Thanks in advance.

Thx, Xuekun

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Questions about JSP programming

Posted by Zack Grafton <za...@gmail.com>.
Xuekun Hu wrote:
> Zack, thanks for replying.
>
>> Xuekun,
>>
>> The reason why you are probably getting a file size thats one byte
>> larger than expected is that the JSP processor doesn't remove any
>> whitespace after it includes the other pages content.  For example, <%@
>> include page="request.getParameter("f") %> is going to be executed and
>> the input from the other file is going to be started on the next line.
>> This means there is probably and extra newline character at the
>> beginning of the file.  There is a way to strip the whitespace with a
>> tomcat configuration directive.  I'll look this up for you soon.
>
> Do you mean the "trimSpaces" directive? Yes, it works. :-)
>
>> The second error I would need more details on, is it inserting anything
>> into any of the logs during  the times when its not working?  My guess
>> would almost be that the machine is running out of memory because it is
>> storing the contents of the file in memory.  That's just a guess though.
>
> At first, TOMCAT will not report anything out, however testing with a
> long time, TOMCAT finally report out error
> "java.lang.OutOfMemoryError: Java heap space", then TOMCAT die.
>
> Thx, Xuekun
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
Xuekun,

Glad I was able to help in some little way.  I thought I was on the 
right track with the memory issue.  I'm not exactly sure what is going 
on with <%@ include file="request.getParameter("f") %> but I have a 
feeling its the way the include directive reads in the file.  I hope you 
find a way around the memory issue, but you could always try forcing the 
garbage collector to run after the page is displayed.

Zack

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Questions about JSP programming

Posted by Xuekun Hu <xu...@gmail.com>.
Zack, thanks for replying.

> Xuekun,
>
> The reason why you are probably getting a file size thats one byte
> larger than expected is that the JSP processor doesn't remove any
> whitespace after it includes the other pages content.  For example, <%@
> include page="request.getParameter("f") %> is going to be executed and
> the input from the other file is going to be started on the next line.
> This means there is probably and extra newline character at the
> beginning of the file.  There is a way to strip the whitespace with a
> tomcat configuration directive.  I'll look this up for you soon.

Do you mean the "trimSpaces" directive? Yes, it works. :-)

> The second error I would need more details on, is it inserting anything
> into any of the logs during  the times when its not working?  My guess
> would almost be that the machine is running out of memory because it is
> storing the contents of the file in memory.  That's just a guess though.

 At first, TOMCAT will not report anything out, however testing with a
long time, TOMCAT finally report out error
"java.lang.OutOfMemoryError: Java heap space", then TOMCAT die.

Thx, Xuekun

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Questions about JSP programming

Posted by Zack Grafton <za...@gmail.com>.
Xuekun Hu wrote:
> Hi,
>
> Sorry for the off-topic questions, since I didn't find a good forum to
> discuss JSP programming. :-). If you have any recommendations, I would
> be very appreciated.
>
> I have two questions.
> 1.  I wrote a test.jsp to test dynamically return a static file from
> the request parameter.
> ////--- test.jsp
> <jsp:include page='<%= request.getParameter("f") %>' />
> The problem is that the return size is always greater than the request
> file size by 1. For example, the static file is 512byte, however it
> return 513 byte. The result is repeatable. Does anyone know the
> reason?
>
> 2.  I implemented the test.jsp by another include usage.
> ////---test.jsp
> <%@ include file="request.getParameter("f")" %>
> However tested with lots of simulaneous request of the same jsp, some
> request will get "500 internal server error"!. What's wrong?
>
> Thanks in advance.
>
> Thx, Xuekun
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
Xuekun,

The reason why you are probably getting a file size thats one byte 
larger than expected is that the JSP processor doesn't remove any 
whitespace after it includes the other pages content.  For example, <%@ 
include page="request.getParameter("f") %> is going to be executed and 
the input from the other file is going to be started on the next line. 
This means there is probably and extra newline character at the 
beginning of the file.  There is a way to strip the whitespace with a 
tomcat configuration directive.  I'll look this up for you soon.

The second error I would need more details on, is it inserting anything 
into any of the logs during  the times when its not working?  My guess 
would almost be that the machine is running out of memory because it is 
storing the contents of the file in memory.  That's just a guess though.


Zack Grafton

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org