Tomcat 5 & JSP page buffer

Hi all,
I'm new to JSP and am having a problem with the page buffer. I have a page which uses a for loop to print out the contents of a row from a SQL table. The JSP stops outputting html at different points in the page, depending on the data and the page stops way before the closing body and html or even table tags later in the page. I've tried changing the page buffer directive to 10kb, but I get a cryptic exception error. Is there some setting in Tomcat that is screwing me up? Please help!
Thanks!
-Carlo

I figured out what was wrong but I have no idea why this works. My code is below. I added a space to this line of code: out.write(result.getString(i)+" "); Without anything behind the result.getSring(i), the loop would arbitrarily end and the page would be output with the rest of the HTML missing. Any ideas on why this is?
Thanks!
<%
while (result.next()) {
for (int i=1; i<=columns; i++) {                                   %>
                                             <tr>
     <td bordercolor="#999999" bgcolor="#FFFFFF" class="maintextsmpurp" ><strong>          
<%out.write(rsmd.getColumnLabel(i));%>
</strong></td>
     <td bordercolor="#999999">
<%out.write(result.getString(i)+" ");%>
</td>
     <td width="1%" bordercolor="#FFFFFF"> </td>
</tr>
     <% } }%>

Similar Messages

  • OutOfMemoryError:Java Heap Space on JSP with %@page buffer % directive

    Hi guys,
    I am developing a large report requires a lot of memory using JSP, therefore I allocated about 4096kb in the JSP as follow:
    ==================================================================
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
    <%@taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
    <%@page buffer="4096kb" %>
    <html>...some work to display report ...</html>
    ==================================================================
    The report runs fine but after few retrieves I got the OutOfMemoryError (OOME) and the only way for me to fix it is to restart the web server (tomcat). I went throught few troubleshooting tests and found out if I take out the <%@page buffer="4096kb" %> in the page, the error will go away regardless how much data I am retrieving from database (In another words, if I put this code into a report to retrieve a small data set, I will still get OOME after few tries). I know you can manually enlarge the Java Memory/Heap size, but it will not fix the problem as it will eventually run out of memory anyway. I am wondering is there known bugs relating to manually allocate buffer size for JSP pages? And how can i deal with it if it is a JSP "Bug"? Or there is something else I am doing wrong. (I have tried manually invoke System.gc() but it will not solve the problem)
    any help is appreciated, Thanks.

    Thanks for these information, you are truely amazing with amount of knowledge you have and your analytical skills.
    Back to the topic:
    <quote>
    Only if you waste time with all the intermediate values that are also too big, and only if you persist in your illusion that you are buying performance with these huge buffers. You aren't. You are buying OutOfMemoryErrors instead.
    You do need to realize that your output will be (i) buffered by the socket send buffer, which is only 8k on Windows, and (ii) transmitted in packets of the path MTU, which is less than 1500 bytes in most cases, so this huge buffer can't possibly do you any good - it just adds latency and OutOfMemoryError risk, as I've been telling you.
    </quote>
    I don't know which part of my replay does not agree with you that setting the buffer size too large is more of an problem other than a solution, perhaps I miss leaded you somehow.
    <quote>That doesn't actually answer the question, does it?</quote>
    Well if a page can be complied and retrieved in the first place, is there enough space to create the page/object? Perhaps you can tell me if I am wrong about it and why.
    I believe the JspWriter object is stored in heap and heap is break up into few sections. I wouldn't be able to tell you for sure which section it resides but my guess is in Eden Space and that space is just about 4MB in space. But remeber I did my test by changing the buffer size to 2MB which is well under the 4MB, I still get the same error.
    <quote>That was what your question was about. OutOfMemoryError using huge buffers. So that's what I focussed on.</quote>
    Yes, you did ponting me out that but what you have done is told me not to use it, which I am very happy with. In my older post, I did actually correct myself and made my question more clear by asking
    "Why with large JSP buffer size, the retrival of the JSP page chewing up the server memory? Shoudlnt memory be released after the page is retrieved?"
    Unfortunitelly I don't think you pointing me anything about it, instead you told me all the reasons not to do it and assuming that I was arguing with you about "it is better to have large buffer jsp size". Again, sorry if I miss leaded you somehow.
    Lets put it this way, even with large jsp buffer size (regardless whether we should be doing that or not) if the memory is freed properly, I will not get OOM error. Am I right?
    <quote>I take out the <%@page buffer="4096kb" %> in the page, the error will go away</quote>
    Yes, but I need to restart my server to make it work. I forgot to mention it, my bad.
    Last, I finally found my answer through web and other forumes. The reason of this happening is because my web server did not release the PageContext object properly which JspWriter is linked to, therefore the memory does not get released at all. So ths the issue that chewing up the server memory. Again, thank you for all your help, your suggestion and knowledge did help me find out my answer in the end.

  • Problem launching a jsp page with eclipse and tomcat

    Hi,
    I have just started using eclipse and tomcat for creating dynamic web pages. I tried to launch a jsp page after starting the tomcat server with the URL: http://locahost:8080/HelloWorld/, an error page was displayed as below:
    HTTP Status 404 -/
    type Status report
    message /_
    description The requested resource (-) is not available
    Apache Tomcat/5.5.17
    I didn't get any error at the console and when i just typed http://localhost, a pop up menu saying that the connection was refused when attempting to contact localhost.
    I'm not sure what is the problem here. Could it be the permssion to the localhost is not granted by the system as the eclipse IDE is running using linux?
    Hope someone can help.
    Thanks.

    http://www-128.ibm.com/developerworks/library/os-ectom/

  • Problem in running a jsp page on tomcat 5.0

    hi....
    i made a java class abc.java and then compiled it to get a java class file named abc.class in a package named pkg.
    Then i copied this package in the classes folder of the WEB-INF folder in tomcat 5.0.
    After that i created a jsp page in which i imported this class file. Now when i run the jsp page on tomcat 5.0 i get an error saying this:
    javax.servlet.ServletException: pkg/abc (Unsupported major.minor version 49.0)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause
    java.lang.UnsupportedClassVersionError: pkg/abc (Unsupported major.minor version 49.0)
         java.lang.ClassLoader.defineClass0(Native Method)
         java.lang.ClassLoader.defineClass(ClassLoader.java:502)
         java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
         org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)
         org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
         org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
         org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
         org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1214)
         org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
         org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
         org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
         org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
         org.apache.jasper.compiler.Generator.generate(Generator.java:3272)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:495)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:476)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:464)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Can anyone please tell me the solution to this problem?
    thanks

    This post:
    http://mail-archives.apache.org/mod_mbox/jakarta-tomcat-user/200408.mbox/%[email protected]ys.com%3E
    Leads me to believe that you're compiling and targeting a java version that your tomcat installation doesn't support. What version of the JDK are you using?
    Good Luck
    Lee

  • Error when run a jsp page in tomcat

    I carefully follow all instruction to install and config j2sdk1.4.2 and Apache Tomcat/5.0.28. After completing, I can run all sample applications about JSP and Servlet in Tomcat manager. I also test my own servlet application and it also works.
    But I fail to run a very simple jsp page. Although I already set environment variables such as CATALINA_HOME, JAVA_HOME, CLASSPATH as directed but it seem to not be able to compile jsp page.
    ( I can compile other java classes in command line. )
    Below is the error i receive . This error takes me lots of time to consider.
    I look for your help ( please describe as clear as goog ). Thanks a lot.
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSP
         org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
         org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
         org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:414)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause
    Unable to find a javac compiler;
    com.sun.tools.javac.Main is not on the classpath.
    Perhaps JAVA_HOME does not point to the JDK
         org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
         org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
         org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
         org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

    If you are sure you've installed the JDK (as opposed to just a JRE, which doesn't come with the compilation tools that are required to compile JSPs), then your JAVA_HOME is probably set incorrectly. Ensure JAVA_HOME is pointing to the JDK directory, and not to the JRE directory.

  • Tomcat 6 – Calling a  Java Servlet from a JSP Page

    Below is a very simple JSP Page that calls a Java Servlet. The question is given Tomcat security constraints, is it possible to call a servlet from a JSP and get the correct output without getting an error message? If so, how would you code the web.xml file?
    c:\apache-tomcat-6.0.18
    Under conf
    catalina
    localhost
    HelloWorldExample.xml is directly under localhost
    The application would have this directory structure:
    webapps
    HelloWorldExample
    hello.jsp is directly under HelloWorldExample
    Under HelloWorldExample
    src
    WEB-INF
    classes
    Under classes
    jservlets
    HelloWorld.java is in src folder
    HelloWorld.class is in jservlets folder
    HelloWorldExample.xml
    <Context path="/HelloWorldExample" docBase="HelloWorldExample" debug="0"
          reloadable="true" crossContext="true">    
    </Context>**************************
    hello.jsp
    <HTML>
    <HEAD>
    <TITLE>Hello</TITLE>
    </HEAD>
    <BODY>
    <FONT SIZE="4">
    <P>
    Please enter your name:
    <FORM 
       METHOD="Post"
       ACTION="servlet/jservlets.HelloWorld">
    <TABLE BORDER="3" CELLPADDING="1" WIDTH="100%" ALIGN="CENTER">
    <TR>
        <TD><B>Name:</B></TD>
        <TD><INPUT TYPE="text" NAME="Name" VALUE="" SIZE="65"> </TD>      
    </TR>
    </TABLE>
    <P>
    <INPUT TYPE="SUBMIT" VALUE="Submit">
    </FORM>
    </FONT>
    </BODY>
    </HTML>******************
    HelloWorld.java
    package jservlets;
    import java.io.*;
    import java.util.Date;
    import java.util.*;
    import java.text.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class HelloWorld extends HttpServlet
       PrintWriter out;
       PrintWriter err; 
       String strName;
    public void displayMessage(HttpServletRequest request, HttpServletResponse response)
          throws Exception
             try
                if (!strName.equals("") && strName != null)
                   out.println("Hello " + strName + "" + "<P>");
                    out.println("Hello World" + "<P>");
                else
                    out.println("Hello World" + "<P>");
            catch (Exception e)
                out.println("Exception: Could not display message." + "<P>");
                err.println (e.getMessage () ) ;
                out.println("<P>");
    public void doPost(HttpServletRequest request, HttpServletResponse response)
               throws ServletException, IOException
          try
               response.setContentType("text/html"); 
               out = response.getWriter();
               err = response.getWriter();
               strName = request.getParameter("Name").trim();
               out.println("<html><head><title>");        
              out.println("</title></head><body>");
               out.println("<FORM");
               out.println("METHOD=POST");
               out.println("ACTION=http://localhost:8080/HelloWorldExample/hello.jsp>");
             out.println("<TABLE ALIGN='RIGHT'>");
             out.println("<TR>");
             out.println("<TD>");          
               out.println("<INPUT TYPE=\"SUBMIT\" VALUE=\"Hello World Page\";>");
               out.println("</INPUT>");
              out.println("</TD>");
             out.println("</TR>");
             out.println("</TABLE>");
             out.println("</FORM>");
             out.println("<BR CLEAR='all'>");
               out.println("<P>");        
               displayMessage(request, response);
               out.close();
             out.println("</body></html>");               
           catch(Throwable e)
              e.printStackTrace();
          public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException
             doPost(request, response);
    web.xml
    <servlet>
          <servlet-name>HelloWorld</servlet-name>
          <servlet-class>jservlets.HelloWorld</servlet-class>
    </servlet>  
    <servlet-mapping>
            <servlet-name>HelloWorld</servlet-name>
            <url-pattern>/servlet/HelloWorld</url-pattern>
    </servlet-mapping>      ******************************
    HelloWorld.java can be compiled by using javac.
    Once compiled, HelloWorld.class would be moved to the jservlets folder.
    FYI, coding the above url-pattern results in:
    HTTP Status 404
    The requested resource (/HelloWorldExample/servlet/jservlets.HelloWorld) is not available
    The following url-pattern in the web.xml file permits the servlet to be executed but results in a null pointer exception:
    <servlet-mapping>
            <servlet-name>HelloWorld</servlet-name>
            <url-pattern>/ </url-pattern>
    </servlet-mapping>      **************************************************
    Robin

    This problem was resolved.
    In hello.jsp
    ACTION="servlet/jservlets.HelloWorld">
    was replaced with
    ACTION="servlet/HelloWorld">
    Robin

  • Cannot compile JSP pages in Tomcat 5.0.28

    Hi,
    I'm new to Tomcat and this has been bothering me for days now.
    I have (seemingly) correctly installed Tomcat v5.0.28 and am currently in the process of testing my environment with simple html/jsp pages.
    My server starts up fine with no error messages.
    Testing the server I can access the .html file fine, however I get a HTTP 404 error for the .jsp: The requested resource (/hello/hello.jsp) is not availableI have done the following since installation:
    1. Installed Tomcat to C:\Program Files\jakarta-tomcat-5.0.282. Set the environment variable JAVA_HOME to the value C:\Program Files\Java\jdk1.5.0 (base directory of my java installation)
    3. Even added ;C:\Program Files\Java\jdk1.5.0\bin to the environment variable Path (just in case, for javac)
    4. Enabled the invoker sevlet by uncommenting:
        <servlet>
            <servlet-name>invoker</servlet-name>
            <servlet-class>
              org.apache.catalina.servlets.InvokerServlet
            </servlet-class>
        </servlet>and
        <servlet-mapping>
            <servlet-name>invoker</servlet-name>
            <url-pattern>/servlet/*</url-pattern>
        </servlet-mapping>in conf/web.xml
    5. Added an access log valve to locahost
    6. Set ant fork compiles to seperate JVMs:
        <servlet>
            <servlet-name>jsp</servlet-name>
            <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
            <init-param>
                <param-name>fork</param-name>
                <param-value>true</param-value>
            </init-param>
            <init-param>
                <param-name>xpoweredBy</param-name>
                <param-value>false</param-value>
            </init-param>
            <load-on-startup>3</load-on-startup>
        </servlet>6. Installed the .html and .jsp pages to folder %CATALINA_HOME%/webapps/ROOT/helloNow when I bin/startup.bat Tomcat starts without anu error messges. In a browser I can now access http://localhost:8080 and http://localhost:8080/hello/hello.html but not http://localhost:8080/hello/hello.jspHere are my logfiles (in debug mode) for performing the above actions and then shutting down:
    catalina_log.txt
    2006-04-29 18:29:02 EngineConfig: EngineConfig: Processing START
    2006-04-29 18:29:24 EngineConfig: EngineConfig: Processing STOPlocalhost_log.txt
    2006-04-29 18:29:01 StandardContext[/balancer]org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
    2006-04-29 18:29:01 StandardContext[/jsp-examples]ContextListener: contextInitialized()
    2006-04-29 18:29:01 StandardContext[/jsp-examples]SessionListener: contextInitialized()
    2006-04-29 18:29:02 StandardContext[/servlets-examples]ContextListener: contextInitialized()
    2006-04-29 18:29:02 StandardContext[/servlets-examples]SessionListener: contextInitialized()
    2006-04-29 18:29:24 StandardContext[/servlets-examples]ContextListener: attributeReplaced('org.apache.catalina.WELCOME_FILES', '[Ljava.lang.String;@14eaec9')
    2006-04-29 18:29:24 StandardContext[/servlets-examples]ContextListener: attributeReplaced('org.apache.catalina.WELCOME_FILES', '[Ljava.lang.String;@b533b8')
    2006-04-29 18:29:24 StandardContext[/servlets-examples]ContextListener: attributeReplaced('org.apache.catalina.WELCOME_FILES', '[Ljava.lang.String;@569c60')
    2006-04-29 18:29:24 StandardContext[/servlets-examples]SessionListener: contextDestroyed()
    2006-04-29 18:29:24 StandardContext[/servlets-examples]ContextListener: contextDestroyed()
    2006-04-29 18:29:24 StandardContext[/jsp-examples]ContextListener: attributeReplaced('org.apache.catalina.WELCOME_FILES', '[Ljava.lang.String;@d67067')
    2006-04-29 18:29:24 StandardContext[/jsp-examples]ContextListener: attributeReplaced('org.apache.catalina.WELCOME_FILES', '[Ljava.lang.String;@6db724')
    2006-04-29 18:29:24 StandardContext[/jsp-examples]ContextListener: attributeReplaced('org.apache.catalina.WELCOME_FILES', '[Ljava.lang.String;@112da40')
    2006-04-29 18:29:24 StandardContext[/jsp-examples]SessionListener: contextDestroyed()
    2006-04-29 18:29:24 StandardContext[/jsp-examples]ContextListener: contextDestroyed()localhost_access_log.txt
    127.0.0.1 - - [29/Apr/2006:18:29:13 +0930] "GET /hello/hello.html HTTP/1.1" 304 -
    127.0.0.1 - - [29/Apr/2006:18:29:19 +0930] "GET /hello/hello.jsp HTTP/1.1" 404 1000Also, my sourced test .html and .jsp files:
    hello.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <!--
    Simple HTML file to test server setup and configuration.
    Taken from Core Servlets and JavaServer Pages 2nd Edition
    from Prentice Hall and Sun Microsystems Press,
    http://www.coreservlets.com/.
    (C) 2003 Marty Hall; may be freely used or adapted.
    -->
    <HTML>
    <HEAD><TITLE>HTML Test</TITLE></HEAD>
    <BODY BGCOLOR="#FDF5E6">
    <H1>HTML Test</H1>
    Hello.
    </BODY></HTML>hello.jsp
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <!--
    Simple JSP file to test server setup and configuration.
    Taken from Core Servlets and JavaServer Pages 2nd Edition
    from Prentice Hall and Sun Microsystems Press,
    http://www.coreservlets.com/.
    (C) 2003 Marty Hall; may be freely used or adapted.
    -->
    <HTML>
    <HEAD><TITLE>JSP Test</TITLE></HEAD>
    <BODY BGCOLOR="#FDF5E6">
    <H1>JSP Test</H1>
    Time: <%= new java.util.Date() %>
    </BODY></HTML>I am getting so frustrated I feel like I have tried everything...

    Thanks for your feedback, I tried all suggestions but still no luck.
    One thing I didn't mention previously was I have also tried the following (note: I have omitted the prefix "%CATALINA_HOME%/webapps"
    to all directory references below):
    1. installed my .jsp directly into /ROOT
    2. installed my .jsp into subdirectory /ROOT/hello
    3. installed my .jsp into /root_copy (identified as a running application by Tomcat manager)
    I think there must a problem in my deployment because the JSP examples (http://localhost:8080/jsp-examples/) compile fine...
    This indicates that JAVA_HOME is set correctly.
    Since my first post I tried installing tomcat from a windows installer into c:\apache\tomcat5.0.28\ and set logging to debug.
    Here's a small dump of 5 logs in localhost_log.2006-05-01.txt:
    2006-05-01 20:08:31 StandardContext[/balancer]org.apache.webapp.balancer.BalancerFilter]...
    2006-05-01 20:08:32 StandardContext[/jsp-examples]ContextListener: contextInitialized()
    2006-05-01 20:08:32 StandardContext[/jsp-examples]SessionListener: contextInitialized()
    2006-05-01 20:08:32 StandardContext[/servlets-examples]ContextListener: contextInitialized()
    2006-05-01 20:08:32 StandardContext[/servlets-examples]SessionListener: contextInitialized()Note there was no initialization of the context root_copy, but I'm unsure if there's any relevance here or not.

  • Taglib repeating in jsp page in TOMCAT. (Can this be Tag pool issue? )

    Hi,
    We have an application and it is running fine on one servlet container "ServletExec". We are migrating our application to Tomcat and some weird things happenned.
    In one of my JSP pages say page " A ", I have included another small JSP say " B "which just created a table with one row and various columns.
    Now the columns are created in a taglib. And I am using that taglib inside that page " B".
    Now this is working fine in ServletExec.
    But in tomcat when I refersh page A or come to this page dfrom some other page, there are multiple instance of tables from page B are rendered.
    SO every time I refresh a new entry added to already existing table.
    Can any one please help?
    I looked in some documents and found that this may be because of some Tag pooling in Tomcat newer versions. Is that right?
    If yes how can I remove this tag pooling in my taglib java class?
    Any help is highly appreciated.
    Thanks

    Hi
    try disabling the tag pooling and check the page.
    To disable the tag pooling in Tomcat
    make enablePooling = false for the jsp servlet declaration in
    $TOMCAT_HOME/conf/web.xml
    Regards

  • Tomcat 4.1.24 : JSP page displayed blank in browser

    Hi,
    I am facing a problem where a blank screen is displayed to the user in browser even though the JSp page is getting executed successfully on my Tomcat server. The application and catalina logs show no errors / exceptions, still blank screen is displayed to the user sometime. If the user clicks on browser back button, the request is processed again and the page content is displayed properly.
    I am using JDK 1.4.2_09 with Tomcat 4.1.24 on Windows 2003 server.
    Is it to do with JSP:Forward mechanism? I forward the request from one JSP to second JSP and this second JSP gets executed on server but shows blank screen.
    Requesting for help.
    Thanks in advance.
    Thanks and Regards,
    Amit Paliwal

    Hi Alisha ,
    Thanks for reply. I can not put any debug message at online page,my problem is that i can not simulate the same senario at my development site.
    Amit Paliwal

  • Tomcat not loading jsp pages

    I've running 10.6.2 with default install of Tomcat and Apache. Tomcat is enabled in Server Admin, and I've created a site in Server Admin that points 8080 port requests to /Library/Tomcat/webapps. And index.jsp is set as a default index file.
    When I try and go to myserver:8080/mysite the browser loads the jsp as text. Just like I'd opened it in a text file.
    I've removed the site folder, and uploaded a new war file (which works on my local 10.6.2 client machine with Tomcat 6.0.24 installed), and a new site folder is created as expected. But the jsp page just doesn't load correctly.
    What am I missing (besides years of Tomcat and Apache experience..)

    hey.. noticed one more thing.. stuff works when i put
    it in my file:///var/lib/tomcat-5.5/webapps/ROOT/
    folder .. so i think i havent set my user properly..
    any pointers??I don't think you should be putting stuff in ROOT.
    Create your own web context and put it under /webapps.
    %

  • My servlet cuts off the rest of my jsp page on Tomcat !

    I'm using the Oracle Jdevloper 9i to create a web application. I will then deploy the application to a Tomcat server. Now here is the problem. When developing and running on the Oracle OC4J server the application works fine but after deploying to the Tomcat, my included servlet cuts off the rest of my jsp page. The page runs fine and the first servlet gets executed. After the servlet there should be more jsp code, but after the execution the servlet the remaining jsp code simply disapears. Any Idea anyone ?

    A jsp page ending abruptly looks like a runtime error happening in the included servlet.
    Try commenting the line including the servlet.
    You may also want to check for errors in the servlet by invoking the servlet alone frm the browser.

  • Cant find bean class from jsp page using Tomcat 4

    Hi
    I have searched numerpus forums and seen many posts from people who seem to have the same problem however none of the solutions seem to work for me.
    I have a jsp page which is trying to call a bean method however I get an error
    saying that the class for the bean cannot be found. I have :
    1. put the class in a package called kolaBean under
    C:\Program Files\Apache Tomcat 4.0\webapps\ROOT\begjsp-ch01\WEB-INF\classes\kolaPackage
    2. included the package statement in the java file for the bean
    3. included an empty constructor in the java file for the bean
    4. I have declared the above constructor as public (is this necessary?)
    5. used the full package name:
    kolaPackage.kolaBean bakedBean = new kolaPackage.kolaBean();
    6. imported import java.beans.*; (is this necessary ?)
    7. still got the same error...
    Any pointers really really appreciated
    Thanks
    Kola

    in reply to David Rons email:
    Is this a fresh install of tomcat? If so, it could be a configuration
    problem.Yes it is
    Is the class public in the package (I forget that all the time)?Yes it is. I have also declared the constructor to be public is this
    necessary?
    What's the error message?here is the error message:
    An error occurred between lines: 11 and 14 in the jsp file:
    /begjsp-ch01/kolaBean.jsp
    Generated servlet error:
    C:\Program Files\Apache Tomcat
    4.0\work\localhost\_\begjsp-ch01\kolaBean$jsp.java:59: Class
    kolaPackage.kolaBean not found.
         kolaPackage.kolaBean bakedBean = new
    kolaPackage.kolaBean();
         ^
    2 errors
    Thanks in advance
    Kola

  • Calling a servlet (in Tomcat) from a JSP Page (in Apache)

    I have a web form in my JSP Page, which upon submits, will send the params to a servlet. The servlet will then process the request and send the results back to the calling JSP Page.
    with that above senario, is there any way for me to reference a servlet (resides in Tomcat) from a JSP Page (resides in Apache HTTP Server)?
    Thanks!

    Apache HTTP server isn't a servlet/JSP engine.
    Your JSP runs on Tomcat, right where the servlet does. Apache just forwards the request.
    %

  • Calling a class in JSP page using Tomcat 5.5

    Hi,
    I want to call a java class in a JSP page but getting error.
    I am trying to deploy JSP through a WAR file so for that I have created folder structure as per requirement and in WEB-INF folder, I kept web.xml file.
    What entry exactly I have to make in web.xml file as I am using Tomcat 5.5 webserver. When the same code I put in JSP then it works.
    my web.xml entry is
    <servlet>
    <servlet-name>TBS</servlet-name>
    <servlet-class>pack1.GetData</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>TBS</servlet-name>
    <url-pattern>/JSP/TBS_main</url-pattern>
    </servlet-mapping>
    Do I need to change in it or we have to make some more entries in different XML files.
    Please help me to resolve this issue.
    Thanks
    Mukesh

    you dont have to specify the class file in the web.xml just import it on your jsp then instatiate the class on the scriplet and you can call the methods on it.

  • Problem connecting oracle database to jsp pages using Apache Tomcat server 8.0

    Well...I tried too many things..googled so many times..but still could not find solution to my problem.
    I use windows 8 Enterprise Edition(if this has to do something with the problem)
    Oracle 11.2.0
    Apache Tomcat server 8.0
    JDK 1.7
    My oracle is installed in the D: drive and tomcat in c:. i copied the ojdbc6.jar file from oracle to lib directory of tomcat server.
    Then i set  CLASSPATH in environment variables as "C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib\ojdbc6.jar" in system variables
    My path variable is set as "C:\Program Files\Java\jdk1.7.0_02\bin".
    My program is as follows in notepad:
    <%@ page import="java.sql.*" %>
    <html>
    <body>
    <%
    Connection conn;
    Statement st;
    ResultSet rs;
    try{
    new oracle.jdbc.driver.OracleDriver();
    String dbURL="jdbc:odbc:oracle:thin:@localhost:1521:XE";
    String userId="system";
    String pwd="moon";
    conn=DriverManager.getConnection(dbURL,userId,pwd);
    st=conn.createStatement();
    rs= st.executeQuery("SELECT * FROM login");
    while(rs.next())
    System.out.println(rs.getString(1)+""+rs.getString(2));
    catch(Exception e){}
    %>
    </body>
    </html>
    I get too many errors then
    eroors
    org.apache.jasper.JasperException: An exception occurred processing JSP page /page2.jsp at line 14
    11: String userId="system";
    12: String pwd="moon";
    13:
    14: conn=DriverManager.getConnection(dbURL,userId,pwd);
    15: st=conn.createStatement();
    16:
    17: rs= st.executeQuery("SELECT * FROM login");
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    root cause
    javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
         org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:905)
         org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:834)
         org.apache.jsp.page2_jsp._jspService(page2_jsp.java:102)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
         org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    Nothing solved this problem.

    >> Nothing solved this problem.
    Can't fix a problem 'till an actual problem is identified.
    >> ODBC Driver Manager ... Data source name not found
    That appears to be ODBC drivers looking for a DSN (Data Set Name). If it wants a DSN, the DSN has to be specified in the code, and the DSN has to be configured in the windows host ODBC applet. So that is at least two squirrels to get in the right tree before moving forward. A ...host:...[port:]SID|service name are some of the bits needed in a jdbc connect string, and that is in no way related to DSNs. A Whole Different Animal. If it wants a DSN that might be what needs to go in the URL bit.
    And ODBC setups can be confusing, especially if an x64 OS is in the mix- if that is the case there are two different ODBC configuration applets, one for x64 the other for x86, and if one gets as far as talking to an actual database it might toss an architecture error. Only way to fix that "problem" is *delete* the ODBC DSN and then run the correct (maybe the x86) ODBC config utility, and set up the DSN. Again.

Maybe you are looking for