The response is being comitted before the erro is being thrown. You need to set the buffer size to be larger. Its a page directive.

-Tim


Adile Abbadi wrote:

Hi Tim,

Thank you very much - that has helped - however I discovered that the
problem still exists if I have an include within an include - ie.

I have an include called this

<jsp:include page="navmenu.jsp" flush="false">

Inside that include I have another include also with flush set to false -
and I still get a blank page - however if I remove the includes within the
include then the exception is visible. Any ideas on this?

Cheers

Adile


-----Original Message-----
From: Tim Funk [mailto:[EMAIL PROTECTED]
Sent: July 22, 2005 12:42 PM
To: Tomcat Users List
Subject: Re: Error 500 messages


flush="false"

-Tim

Adile Abbadi wrote:


Hi Tim,

Thanx for the information - I forgot about that. I guess the question is

why

did it work in Tomcat 3 and not Tomcat 4 and second is there a workaround

to

get it to work?

Adile


-----Original Message-----
From: Tim Funk [mailto:[EMAIL PROTECTED]
Sent: July 22, 2005 12:20 PM
To: Tomcat Users List
Subject: Re: Error 500 messages


This line <jsp:include page="top.html" flush="true"> will commit the
response
and send html back to the client. Once that is done - no error messages

will

be sent back to the client and you will end up with a blank screen.

-Tim

Adile Abbadi wrote:



Hi Rob,

Thanx for this - this is great - I may have to use this because I think I
have truly found a bug in Tomcat as this issue is not happening on my

Tomcat


3 server. I did a bit more investigation and I found some interesting
things. This is going to be a long email with code and stuff but whoever
wants to read it please do - because the results are weird.

I created the following simple JSP page

<%@ page language="java"
import="javax.crypto.*,java.sql.*,java.net.*,dbc.DBConnectionManager" %>
<%^M
      String query = "select * from patient_info where ref_client = 38

and


pat_lname like '%SM'ITH%';";
      DBConnectionManager connMgr;
      connMgr = DBConnectionManager.getInstance();
      Connection Conn = connMgr.getConnection("podb");
      Statement SQLS = Conn.createStatement();
      ResultSet rs = SQLS.executeQuery(query);
      String col1 = null;
      String col2 = null;
      while(rs.next()) {
              col1 = rs.getString("pat_id");
              col2 = rs.getString("pat_fname");
%>
<%=col1%>: <%=col2%><br>
<br>
<%
      }
      rs.close();
      SQLS.close();
      connMgr.freeConnection("podb",Conn);
%>

As you can see I did a syntax error in the query and  the error comes to

the


screen as expected

javax.servlet.ServletException: ERROR:  syntax error at or near "ITH" at
character 74

I said that's weird so I tried to compare my complicated JSP files to what

I


have here to see what is different (if I did something wrong)  and I found
this

If I add an include at certain parts of the page - I see the result I was
talking about. For example if I do this:

<jsp:include page="top.html" flush="true">
<%@ page language="java"
import="javax.crypto.*,java.sql.*,java.net.*,dbc.DBConnectionManager" %>
<%^M
      String query = "select * from patient_info where ref_client = 38

and


pat_lname like '%SM'ITH%';";
      DBConnectionManager connMgr;
      connMgr = DBConnectionManager.getInstance();
      Connection Conn = connMgr.getConnection("podb");
      Statement SQLS = Conn.createStatement();
      ResultSet rs = SQLS.executeQuery(query);
      String col1 = null;
      String col2 = null;
      while(rs.next()) {
              col1 = rs.getString("pat_id");
              col2 = rs.getString("pat_fname");
%>
<%=col1%>: <%=col2%><br>
<br>
<%
      }
      rs.close();
      SQLS.close();
      connMgr.freeConnection("podb",Conn);
%>

I get the error page as I should - however If I move the include to below
the <%@ page language="java".... - I get a blank page!!

Now here is where it gets weirder - if I force a java syntax error like as
follows (I corrected the query):

<jsp:include page="top.html" flush="true">
<%@ page language="java"
import="javax.crypto.*,java.sql.*,java.net.*,dbc.DBConnectionManager" %>
<%^M
      String query = "select * from patient_info where ref_client = 38

and


pat_lname like '%SMITH%';";
      DBConnectionManager connMgr;
      connMgr = DBConnectionManager.getInstance();
      Connection Conn = connMgr.getConnection("podb");
      Statement SQLS = Conn.createStatement();
      ResultSet rs = SQLS.executeQuery(query);
      String col1 = null;
      String col2 = null;
      if (col1.equals("yes") {
        //test
     }
      while(rs.next()) {
              col1 = rs.getString("pat_id");
              col2 = rs.getString("pat_fname");
%>
<%=col1%>: <%=col2%><br>
<br>
<%
      }
      rs.close();
      SQLS.close();
      connMgr.freeConnection("podb",Conn);
%>

An error will get thrown to the screen

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 2 in the jsp file: /testdb.jsp

/var/lib/tomcat4/work/Standalone/localhost/podims/testdb_jsp.java:57: ')'
expected
        if (col1.equals("yes") {

However if I try to force a null pointer error by correcting my syntax
error - I get a blank screen! If remove the include I get the null pointer
error no problem. The other behaviour I noticed as well is that as I said
before if the include is above the <%@ page language.... piece it works
fine - only if its an html - if its another jsp file - I get a blank

screen


as well.

So has anyone else seen this behaviour - is there a fix or a work around -
should I got back to Tomcat 3?? I'm going to try your suggestion Rob and

see


if that helps at all, but to me its seems like an issue with the JSP
compiler.

Cheers

Adile



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.2/55 - Release Date: 7/21/05

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.2/55 - Release Date: 7/21/05


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.2/55 - Release Date: 7/21/05

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.2/55 - Release Date: 7/21/05


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to