Xdk + Tomcat 4.1.18 + jdk 1.4.0_01

To install xdk on Tomcat 4.1.18 on linux. Here are the steps I did:
I had a working 8.1.7 rdbms which circa 2001. So these is basically an upgrade steps.
1. I downloaded xdk_java_9_2_0_5_0_tar.gz to /u01/xdkjava and cd'd to that directory
2. untar this file as such: tar xvzf xdk_java_9_2_0_5_0_tar.gz
which created three directories lib/ xdk/ and bin/
3. cd xdk/demo/java/xsql
4. mkdir safe -- a safe xsql home directory
5. cp xsqldemos.ear safe/
6. cd safe
7. jar xvf xsqldemos.ear -- I have to do this to unjar
and pick out xsqldemos.war, reason being when I attempted to deploy xsqldemos.ear on jboss3, I could not get it to work. you should see xsqldemos.war in this directory.
8. cd /u01/tomcat_home/webapps
9. ln -s /u01/xdkjava/xdk/demo/java/xsql/safe/xsqldemos.war --this puts a symbolic link in the Tomcat webapps/ directory and I have Tomcat setup to autoexpandWAR="true".
10. cd /u01/tomcat_home/shared/lib
11. cp /u01/xdkjava/lib/xsu12.jar .
cp /u01/xdkjava/lib/xmlparserv2.jar .
cp /u01/xdkjava/lib/oraclexsql.jar .
12. make sure a copy of classes12.jar is at /u01/tomcat_home/common/lib/
13. Check to make sure connection parameters in /u01/tomcat_home/webapps/xsqldemos/WEB-INF/classes/XSQLConfig.xml are valid. What comes with the xdk kit may be different set-up so check specially username and password.
14. start tomcat /u01/tomcat_home/bin/startup.sh
15. point browser to http://localhost:8080/xsqldemos and this should display the index.html page. good luck

This kind of errors often come from syntax error in
the jsp page.
Tomcat is not very friendly with this kind of errors.
A trick is to open the java file under the 'work'
directory and checkIsn't there any way to show the error on a page, just like a run-time error?
Maybe changing some log setting?

Similar Messages

  • Tomcat 4.1 with jdk 1.3 error

    i did the integration with tomcat 4.1 and jdk 13 i am getting below error
    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
    An error occurred at line: -1 in the jsp file: null
    Generated servlet error:
    [javac] Compiling 1 source file
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\index_jsp.java:11: cannot access java.lang.Object
    bad class file: C:\Program Files\Java\j2re1.4.2_13\lib\rt.jar(java/lang/Object.class)
    class file has wrong version 48.0, should be 47.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    private static java.util.Vector jspxincludes;
    ^
    1 error
         at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
         at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:248)
         at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:315)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)
         at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
         at java.lang.Thread.run(Unknown Source)

    arun240 wrote:
    i did the integration with tomcat 4.1 and jdk 13 i am getting below errorNo, you're not using JDK 1.3.
    bad class file: C:\Program Files\Java\j2re1.4.2_13\lib\rt.jar(java/lang/Object.class)
    class file has wrong version 48.0, should be 47.0Tomcat looks like it's using 1.4.2_13.
    I have two pieces of advice:
    1 - synch up the JDK you use to compile and the one that Tomcat uses to run.
    2 - upgrade both your JDK and Tomcat. The current production versions are 6 and 6, respectively. you're far behind.
    %

  • Tomcat can't find JDK

    Hi
    I have my JAVA_HOME set to C:\j2sdk1.4.1_01
    I have just upgraded my jdk. Tomcat now won't load anymore since I upgraded. It says that it can't load the JVM. Any suggestions?
    Thanks

    You need to Upgrade u r Tomcat!!

  • Tomcat 5.0 and JDK 5.0 ?

    Is it possible to build my app with JDK 5.0 and deploy to Tomcat 5.0? (Right now Tomcat errors because the class file version is 49 rather than 1.4's 48.) Thanks.

    You have both 1.4 and 1.5 installed on your machine?
    Remember Tomcat is a java process as well.
    It is probably running using under 1.4.
    Check
    1 - your JAVA_HOME variable
    2 - the startup file for tomcat - which version of java does it invoke?

  • How to see JSP compilation errors - Tomcat 4.1.18- JDK 1.4

    Hi There,
    I'm kind of new to JSP world, so once in while I forget to put a ; or I put a variable name wrong (I usualy use Eclipse to do my coding in JAVA, but the existing plugins for JSP development are still in their early stages, so there's isn't any plugin that indicates errors on JSP before deploying them).
    When I try to see a JSP, if it has an error (compilation-time error), I get this message:
    <--->
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: -1 in the jsp file: null
    Generated servlet error:
    [javac] Compiling 1 source file
    <--->
    This doesn't help me a lot to fix the problem, I would like to, at least, see from what line the error came from.
    Help anyone?
    Thank You
    Pinho

    This kind of errors often come from syntax error in
    the jsp page.
    Tomcat is not very friendly with this kind of errors.
    A trick is to open the java file under the 'work'
    directory and checkIsn't there any way to show the error on a page, just like a run-time error?
    Maybe changing some log setting?

  • Problems with Tomcat 4.0 and jdk 1.3.1 Please Urgent Help me Gurus....

    Im running examples of the include
    <jsp:include page="xxx.jsp">
    and received error:
    org.apache.jasper.JasperException: No se puede compilar la clase para JSP
    An error occurred at line: 17 in the jsp file: /jsp/include/include.jsp
    Generated servlet error:
    /Programas/Tomcat4/work/localhost/examples/jsp/include/include$jsp.java:79: Method include(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, javax.servlet.jsp.JspWriter, boolean) not found in class org.apache.jasper.runtime.JspRuntimeLibrary.
    JspRuntimeLibrary.include(request, response, "/jsp/include/foo.html" + jspxqStr, out, true);
    ^

    Try these files on your setup.
    simple_include.jsp
    <%@ page language="java" %>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.sql.Connection"%>
    <%@ page import="java.sql.Statement"%>
    <%@ page import="java.sql.ResultSet"%>
    <%@ page import="java.sql.SQLException"%>
    <jsp:include page="simple_top.jsp" flush="true" />
    <%
                Connection conn = null;
                Statement stmt = null;
                ResultSet rs = null;
                String url = "jdbc:odbc:CafeJava";
                String query = "select COF_NAME, PRICE from COFFEES";
                try {
                  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                } catch(java.lang.ClassNotFoundException e) {
                  System.err.print("ClassNotFoundException: ");
                  System.err.println(e.getMessage());
                try {
                  conn = DriverManager.getConnection(url, "Admin", "duke1");
                  stmt = conn.createStatement();
                  rs = stmt.executeQuery(query);
                  while (rs.next()) {
                    String s = rs.getString("COF_NAME");
                    float f = rs.getFloat("PRICE");
    %>
              <tr><td><%=s %></td><td><%=f %></td></tr>
    <%
                  stmt.close();
                  conn.close();
                } catch(SQLException ex) {
                  System.err.println("SQLException: " + ex.getMessage());
    %>
    <jsp:include page="simple_bottom.jsp" flush="true" />simple_top.jsp (this is just html named with a .jsp extension
        <html>
          <title>
            Cafe Java
          </title>
          <head>
          </head>
          <body>
            <h1>Welcome to Cafe Java!</h1>
            <h2>Available Coffees:</h2>
            <table>
              <tr><th>Coffee</th><th>Price</th></tr>simple_bottom.jsp (ditto)
            </table>
          </body>
        </html>This all assumes that you have the database demos in the jdk directory set up correctly on your machine and have played around with the Cafe Java files enough to have done the create coffees bit so that there are actually some values in the tables. If not you can open the file at:
    C:\jdk1.3\demo\jfc\DBDemos\JavaDB\CAFEJAVA.MDB directly and create and populate the tables, being sure to name the columns as they are in the jsp files.
    In the immortal words of Catbert, "it runs fine on my machine."
    Edward

  • Problems with Tomcat 4.0 and jdk 1.3.1 (jsp:include) Help Gurus...

    Im running examples of the include:
    <jsp:include page="xxx.jsp" flush="true">
    and received error:
    org.apache.jasper.JasperException: No se puede compilar la clase para JSP
    An error occurred at line: 17 in the jsp file: /jsp/include/include.jsp
    Generated servlet error:
    /Programas/Tomcat4/work/localhost/examples/jsp/include/include$jsp.java:79: Method include(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, javax.servlet.jsp.JspWriter, boolean) not found in class org.apache.jasper.runtime.JspRuntimeLibrary.
    JspRuntimeLibrary.include(request, response, "/jsp/include/foo.html" + jspxqStr, out, true);
    ^
    Please Help me Im running this equal with:
    <%@ include file="xxx.jsp" %>
    and runnig fine....

    The two means of including files are different in their approach.
    Using <jsp:include .../> compilation of the included jsp is done at run -time not during compilation.
    Using <%@ include .../> compiles at compile time.
    Looking at the error it seems that the method JspRuntimeLibrary.include is not being found which suggests that you may have a classpath problem. Check that there is not a servlet.jar in the classpath that is from a earlier spec than the one provided with Tomcat.
    Dave

  • Can Apache Tomcat detect newly installed jdk/jre

    Hi
    I was using jdk1.4 and I uninstalled it and installed jdk1.5 but now Tomcat doesn't start, what do I need to change to make Tomcat detect the newly installed java or do I have to re-install Tomcat?

    I'm sure you need to change either some config
    parameter or your java_home variable.I've already changed the JAVA_HOME variable to the new java path

  • ConfigureListener class not found exception (tomcat 5.5.4/jdk 1.5)

    Hi,
    I'm seeing this error in the Tomcat logs upon Tomcat startup:
    SEVERE: Error configuring application listener of class com.sun.faces.config.ConfigureListener
    java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener.
    I added this ConfigureListener reference to my conf/web.xml file having perused the Forum for a fix to this error in the Tomcat logs:
    .SEVERE: StandardWrapper.Throwable
    java.lang.NullPointerException
    at javax.faces.webapp.FacesServlet.init(FacesServlet.java:144)
    What I don't get is my CLASSPATH env. var. clearly shows jsf-impl.jar. I double-checked the path and that com.sun.faces.config.ConfigureListener is contained in jsf-impl.jar and both looked A-OK.
    Also saw someone referencing changing the DOCTYPE references from Faces Config 1.0 (to 1.1) and web-facesconfig_1_0.dtd (to 1_1). Tried this but no improvement.
    How could the Tomcat engine say a class isn't there when the CLASSPATH says it is??
    What is also interesting is that I have the same JSF app running like a champ under tomcat 5.0.19 and have no reference to ConfigureListener class in the conf/web.xml. Not sure why tomcat 5.5.4 is unhappy with the JSF context when tomcat 5.0.19 isn't??
    --TIA for any clarifications, from pluto                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Adam,
    Thanks! I did the java environment/container clean-up you suggested. Also, for reasons unbeknownst to me, when I had two WAR files under webapps, tomcat was unhappy on startup (still seeing Faces servlet startup error). So I removed the 2 WAR files, and kept the two expanded directories (assoc. with the 2 WAR files) under webapps (as had already been created by tomcat) and all is well. I admit bewilderment over the concept of already expanded WAR files working versus not expanded WAR files not working!? Thanks again for your help.

  • EXCEPTION_STACK_OVERFLOW with awt.dll (JDK 1.6.0_01)

    hi,
    can anyone provide a awt.dll.map file (Windows Map File) to see which method within the awt.dll produces this EXCEPTION_STACK_OVERFLOW?
    The problem occurs within a server application while creating a new NIO Buffer and is not reproducible so far.
    # An unexpected error has been detected by Java Runtime Environment:
    # EXCEPTION_STACK_OVERFLOW (0xc00000fd) at pc=0x77fcad0f, pid=2792, tid=1388
    # Java VM: Java HotSpot(TM) Server VM (1.6.0_01-b06 mixed mode)
    # Problematic frame:
    # C [ntdll.dll+0x4ad0f]
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    --------------- T H R E A D ---------------
    Current thread (0x2a26e400): JavaThread "SocketManager" daemon [_thread_in_vm, id=1388]
    siginfo: ExceptionCode=0xc00000fd, ExceptionInformation=0x00000001 0x2d5a0ff0
    Registers:
    EAX=0x2d5a11e4, EBX=0x00001000, ECX=0x00000002, EDX=0x7c38b280
    ESP=0x2d5a0ff4, EBP=0x2d5a11b4, ESI=0x00001000, EDI=0x7c3913c8
    EIP=0x77fcad0f, EFLAGS=0x00010202
    Top of Stack: (sp=0x2d5a0ff4)
    0x2d5a0ff4: 00000000 00000000 00000000 00000000
    0x2d5a1004: 00000000 00000000 00000000 00000000
    0x2d5a1014: 00000000 00000000 00000000 00000000
    0x2d5a1024: 00000000 00000000 00000000 00260000
    0x2d5a1034: 00260178 00000201 7ff53000 00000000
    0x2d5a1044: 2d5a1054 00000201 77fac166 c0000017
    0x2d5a1054: 77fcb62e 00260608 77fcb618 7c3913c8
    0x2d5a1064: 00001000 00001000 7ff53000 7ff53000
    Instructions: (pc=0x77fcad0f)
    0x77fcacff: 50 64 89 25 00 00 00 00 51 51 81 ec a8 01 00 00
    0x77fcad0f: 53 56 57 8b 7d 08 89 7d a4 83 65 dc 00 80 65 b8
    Stack: [0x2d5a0000,0x2d5f0000), sp=0x2d5a0ff4, free space=3k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C [ntdll.dll+0x4ad0f]
    C [msvcr71.dll+0x16b3]
    C [msvcr71.dll+0x16db]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    C [awt.dll+0x135754]
    ...<more frames>...
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    J sun.misc.Unsafe.allocateMemory(J)J
    J java.nio.DirectByteBuffer.<init>(I)V
    J sun.nio.ch.IOUtil.read(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J
    J sun.nio.ch.SocketChannelImpl.read0([Ljava/nio/ByteBuffer;)J
    J <HIDDEN>.TcpSocket.recv()V
    J <HIDDEN>.SocketManager.run()V
    j java.lang.Thread.run()V+11
    v ~StubRoutines::call_stub

    I've thought about it, and the problem seems to be that the class files are not being recognized. I already had the files compiled and running on the laptop, so even if the compiler wasn't doing anything, the complete class files were already in the directory.
    Here is some information regarding the problem:
    Classpath = .C:\Program Files\Java\jdk1.6.0_01\lib\tools.jar
    Path = ... ;C:\Program Files\Java\jdk1.6.0_01\bin; ...
    I used the windows cmdhere powertoy to open the command line in my jumpdrive.
    All the files necessary are in the same directory, excluding the swing, awt, and maybe java.util packages and sub-packages

  • Memory Leak with Tomcat version update 3.2 to 6.0

    Hi, I've been trying to update tomcat from 3.2 to 6.0. My issue is that I have a memory leak(s?) that make the web application unusable. Currently in my setup I am using these components:
    Tomcat 6.0, sun JDK 1.6.0_01, mssql 2005, Microsoft SQL Server 2005 JDBC Driver 1.2, xalan 2.7.0, log4j 1.0.4 (should be only out of date component)
    It is a fairly large application that uses xslt with xalan and java servlets to display web pages. There was no issue with memory leaks before the update from tomcat 3.2, sun jdk 1.4.2 and old xalan and jdbc (for mssql 2000) components.
    My question for the community is, where should I be looking for my memory leak. Are there known issues with my setup?
    thanks for your help,
    Matt

    Just in case someone goes down the same road as me, my problem was actually the one listed on the page below. My threads are not being released after a StandardContext reload. Which I'm not sure if this leak applies to tomcat version <4 or not.
    http://opensource.atlassian.com/confluence/spring/pages/viewpage.action?pageId=2669

  • Jsp:plugin jreversion1.4 - tomcat4.1.10 - how do I do this?

    I would like to get Tomcat 4.1.10 to recognize jreversion's other than 1.2.2 when using the jsp:plugin tag.
    <b>My setup:</b>
    Windows XP Professional
    Tomcat 4.1.10
    JDK 1.4.0_01
    I wrote a cheezy applet that just displays "Helloworld"
    and works fine in a simple page with just a simple applet tag.
    I have a short JSP page with the following plugin line:
    <code>
    <jsp:plugin type="applet" code="forgetech.web.ForgeApplet" codebase="." archive="ForgeApplet.jar" height="100" width="200" jreversion="1.4.1">
    <jsp:fallback>
    <b> JRE 1.4.1 could not be installed. </b>
    </jsp:fallback>
    </jsp:plugin>
    </code>
    The page works fine for all machines that already have a JVM.
    But
    On a Windows 2000 Professional box w/ IE6 and no Sun JVM; when
    I navigate to the page it tries to download and install the 1.2.2 plugin. I want it to download the latest JRE instead. How can I get Tomcat to recognize 1.4 (or soon 1.4.1) and download the appropriate JRE? I tried looking through some of the config files looking for some kind of mapping but did not see anything.
    I know I can use the <b>nspluginurl</b> and <b>iepluginurl</b>, but I really dont like hardcoding links into my code.
    As a bonus; is there a way to fill in jsp:plugin jreversion attribute with a JNDI lookup. This would be nice so that I can set all of my JSP's on my Tomcat server to push the latest and greatest JRE with their applets.
    Thanx in advance,
    - Chris

    Oops; I used the special tokens wrong. Sorry peoples... here is the post correctly formatted:
    I would like to get Tomcat 4.1.10 to recognize jreversion's other than 1.2.2 when using the jsp:plugin tag.
    My setup:
    Windows XP Professional
    Tomcat 4.1.10
    JDK 1.4.0_01
    I wrote a cheezy applet that just displays "Helloworld"
    and works fine in a simple page with just a simple applet tag.
    I have a short JSP page with the following plugin line:
    <jsp:plugin type="applet" code="forgetech.web.ForgeApplet" codebase="." archive="ForgeApplet.jar" height="100" width="200" jreversion="1.4.1">
    <jsp:fallback>
    <b> JRE 1.4.1 could not be installed. </b>
    </jsp:fallback>
    </jsp:plugin>The page works fine for all machines that already have a JVM.
    But
    On a Windows 2000 Professional box w/ IE6 and no Sun JVM; when
    I navigate to the page it tries to download and install the 1.2.2 plugin. I want it to download the latest JRE instead. How can I get Tomcat to recognize 1.4 (or soon 1.4.1) and download the appropriate JRE? I tried looking through some of the config files looking for some kind of mapping but did not see anything.
    I know I can use the nspluginurl and iepluginurl, but I really dont like hardcoding links into my code.
    As a bonus; is there a way to fill in jsp:plugin jreversion attribute with a JNDI lookup. This would be nice so that I can set all of my JSP's on my Tomcat server to push the latest and greatest JRE with their applets.
    Thanx in advance,
    - Chris

  • Error : XDK 902b,  jdk 1.3.1_02, Tomcat 3.2.3, server can't  find XSQLConfig.xml

    Hi xml-folks :
    I am having a show stopping problem with my IBM NT server 4.0 s-pac 6 env. Error : XDK 902b with jdk 1.3.1_02 and Tomcat 3.2.3, server can't find XSQLConfig.xml file.
    Components : IIS 4.0, Tomcat 3.2.3, JDK 1.3.1_02, XDK 9.0.2b
    - all components were down loaded and installed from apache.org, sun.java and otn this week.
    ERROR : in Internet Explorer
    I type in ...
         Http://geoweb:8080/geoapp/helloworld/helloworld.xsql
    I recieve ...
         Oracle XSQL Servlet Page Processor 9.0.2.0.0(Beta)
         XSQL - 003 : Failed to find 'XSQLConfig.xml' in file server CLASSPATH.
    ( ... seems straight forward to fix, doesn't it.)
    - history IIS works, jakarta is up as a service, it's mapped as an IIS vritual directory, Tomcat serves the demo t-c JSP and Servlets from : Http://geoweb:8080/geoapp, the java env works (java, javac, jar, etc). I've done everything to try to get the CLASSPATH to recognized the XSQLConf file, jar'ed it, renamed it to zip. And of course the file still resides in my XDK home E:\xdk_java_902b\lib, I've tried that in the path too.
    < nt_system_variables >
    CLASSPATH=E:\Tomcat3.2.3
    \lib\XSQLConfig.jar;E:\xdk_java_902b\lib\classes12.zip;E:\xdk_java_902b\lib\classgen.jar;E:\xdk_java_902b\lib\oraclexsql.jar;E:\xdk_java_902b\lib\transx.zip;E:\xdk_java_902b\lib\xmlmesg.jar;E:\xdk_java_902b\lib\xmlparserv2.jar;E:\xdk_java_902b\lib\xschema.jar;E:\xdk_java_902b\lib\xsqlserializers.jar;E:\xdk_java_902b\lib\xsu12.jar;E:\xdk_java_902b\xdk\admin
    COMPUTERNAME=GEOWEB
    ComSpec=C:\WINNT\system32\cmd.exe
    DiskeeperIcon=C:\Program Files\Executive Software\DiskeeperServer\
    HOMEDRIVE=C:
    HOMEPATH=\
    INCLUDE=E:\Program Files\Mts\Include
    JAVA_HOME=e:\jdk1.3.1_02
    LIB=E:\Program Files\Mts\Lib
    LOGONSERVER=\\GEO3
    NUMBER_OF_PROCESSORS=4
    OS=Windows_NT
    Os2LibPath=C:\WINNT\system32\os2\dll;
    Path=E:\jdk1.3.1_02\bin;E:\Perl\bin\;E:\Oracle8i\bin;C:\Program Files\Oracle\jre\1.1.7\bin;C:\PROGRA~1\IBM\UMS\DMI\bin;C:\Program Files\IBM\UMS;C:\WINNT\system32;C:\WINNT;E:\Program Files\Mts;C:\WINNT\System32\WBEM;C:\PROGRA~1\IBM\UMS\Director\Bin;
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
    PROCESSOR_ARCHITECTURE=x86
    PROCESSOR_IDENTIFIER=x86 Family 6 Model 10 Stepping 1, GenuineIntel
    PROCESSOR_LEVEL=6
    PROCESSOR_REVISION=0a01
    PROMPT=$P$G
    SystemDrive=C:
    SystemRoot=C:\WINNT
    TEMP=C:\TEMP
    TMP=C:\TEMP
    TOMCAT_HOME=e:\Tomcat3.2.3
    UMS_DRIVE=C:
    UMS_HOME=C:\Program Files\IBM\UMS
    USERDOMAIN=GEO
    USERNAME=GEONETADMIN
    USERPROFILE=C:\WINNT\Profiles\geonetadmin
    WIN32DMIPATH=C:\PROGRA~1\IBM\UMS\DMI
    windir=C:\WINNT
    </ nt_system_variables >
    Anyone have any Ideas ?

    I should have included my wrappers.properties in the original part of the thread. Here it is with the working corrections.
    Once I added : wrapper.class_path=E:\xdk_java_902b\lib\XSQLConfig.jar
    to my wrappers.properties file the XML-003 error went away, i.e. its working ... I can see the XSQLCOnfig.xml file now. I don't think this is the nornal way this should be fixed but literally nothing else I did worked. I tried things like adding a system variable XML_CONF=%XML_HOME%\lib and modified my CLASSPATH to simply poiint to the %TOMCAT_HOME%\lib ( where my XSQLConfig.xml file is located). those did not get this woring ... only by adding the "wrapper.class_path=E:\xdk_java_902b\lib\XSQLConfig.jar
    " to my wrappers.properties file did it work.
    I hope this helps people, but I do believe this is very non-standard (this isn't the way this is supposed to be working). Everything I've read by Oracle OTN, Steve M. etc. and the boards here suggest this isn't supposed to be this hard. But it was for me.
    now I'm dealing with a XML-007 error, but thats very solvable, theres plenty of documentation on why your JDBC connection is failing, worse comes to worse I'll re-install the JDBC-Oracle 8i client software.
    E#
    # $Header: /home/cvs/jakarta-tomcat/src/etc/Attic/wrapper.properties,v 1.2.2.1 2000/10/16 01:59:22 larryi Exp $
    # $Revision: 1.2.2.1 $
    # $Date: 2000/10/16 01:59:22 $
    # jk_service.properties - a bootstrup file for the Tomcat NT service.
    # This file provides jk_nt_service with the needed information to
    # start tomcat at a different process.
    # As a general note, the characters $( and ) are used internally to define
    # macros. Do not use them!!!
    # Whenever you see a set of lines such as:
    # x=value
    # y=$(x)\something
    # the final value for y will be value\something
    # Normaly all you will need to modify is the first two properties, i.e.
    # wrapper.tomcat_home and wrapper.java_home. Most of the configuration
    # is derived from these two.
    # wrapper.tomcat_home should point to the location where you
    # installed tomcat. This is where you have your conf, webapps and lib
    # directories.
    wrapper.tomcat_home=E:\Tomcat3.2.3
    # wrapper.java_home should point to your Java installation. Normally
    # you should have a bin and lib directories beneath it.
    wrapper.java_home=E:\jdk1.3.1_02
    #------ ADVANCED MODE ------------------------------------------------
    # Make sure that you read the how-to before making too many changes.
    # Defining where the service is going to put the standard
    # output of Tomcat. This is where System.out.println and
    # System.err.println goes to.
    wrapper.stdout=$(wrapper.tomcat_home)\logs\jvm.stdout
    wrapper.stderr=$(wrapper.tomcat_home)\logs\jvm.stderr
    # Additions to the path. put here directories where you store DLLs for
    # native methods etc.
    wrapper.ld_path=e:\
    wrapper.ld_path=c:\
    # Defining the classpath. All the rows that belongs to the class_path
    # property are concatenated to create the classpath for Tomcat.
    # If you have additional locations that you would like to add to the
    # claspath you should add a new wrapper.class_path=<location> line.
    wrapper.class_path=$(wrapper.tomcat_home)\classes
    wrapper.class_path=$(wrapper.tomcat_home)\lib\jaxp.jar
    wrapper.class_path=$(wrapper.tomcat_home)\lib\parser.jar
    wrapper.class_path=$(wrapper.tomcat_home)\lib\webserver.jar
    wrapper.class_path=$(wrapper.tomcat_home)\lib\servlet.jar
    wrapper.class_path=$(wrapper.tomcat_home)\lib\jasper.jar
    # Here we add the classes required for the xsql servlet and any
    # other apps.
    wrapper.class_path=E:\xdk_java_902b\lib\XSQLConfig.jar
    wrapper.class_path=E:\xdk_java_902b\lib\classes12.jar
    wrapper.class_path=E:\xdk_java_902b\lib\classgen.jar
    wrapper.class_path=E:\xdk_java_902b\lib\oraclexsql.jar
    wrapper.class_path=E:\xdk_java_902b\lib\xmlmesg.jar
    wrapper.class_path=E:\xdk_java_902b\lib\xmlparserv2.jar
    wrapper.class_path=E:\xdk_java_902b\lib\xschema.jar
    wrapper.class_path=E:\xdk_java_902b\lib\xsqlserializers.jar
    wrapper.class_path=E:\xdk_java_902b\lib\xsu12.jar
    wrapper.class_path=E:\xdk_java_902b\xdk\admin
    # This is where Javac is located in JDK1.3.x
    wrapper.class_path=$(wrapper.java_home)\lib\tools.jar
    # and a tribute to JDK1.1.x
    # wrapper.class_path=$(wrapper.java_home)\lib\classes.zip
    # This is the Java interpreter used for running Tomcat
    wrapper.javabin=$(wrapper.java_home)\bin\java.exe
    # This is Tomcat's startup class (the class that contains Tomcat's
    # starting point.
    wrapper.startup_class=org.apache.tomcat.startup.Tomcat
    # This is the location where tomcat's server.xml configuration file
    # is located.
    wrapper.server_xml=$(wrapper.tomcat_home)\conf\server.xml
    # The NT service uses AJP12/AJP13 to shutdown Tomcat. The
    # wrapper.shutdown_port tells the service the identity of the port that
    # is used by AJP12/AJP13.
    wrapper.shutdown_port=8007
    # Can either be ajp12 or ajp13 depending on your configuration.
    # Default value is ajp12
    wrapper.shutdown_protocol=ajp12
    # This is the command line that is used to start Tomcat. You can add extra
    # parameters to it but you can not remove anything.
    wrapper.cmd_line=$(wrapper.javabin) -classpath $(wrapper.class_path) $(wrapper.startup_class) -config $(wrapper.server_xml) -home $(wrapper.tomcat_home)

  • Tomcat 4.1.x not working under JDK 1.2.2

    We are trying to test our web application on all versions of JDK starting from 1.2.2. We use Tomcat as the servlet engine and after upgrading from Tomcat 3.2.x to 4.1.24 (we've tried 4.1.18 as well) we have noticed that the new Tomcat does not start under JDK 1.2.2, see command line output below. We've tried on several machines and it fails with the same Exception. Has anyone tried running Tomcat 4.x on JDK 1.2.x? We find it hard to believe that a product like Tomcat would fail to support JDK 1.2, so any information would be appreciated.
    C:\Java\jakarta-tomcat-4.1.24\bin>catalina.bat run
    Using CATALINA_BASE: ..
    Using CATALINA_HOME: ..
    Using CATALINA_TMPDIR: ..\temp
    Using JAVA_HOME: c:\java\jdk1.2
    Bootstrap: Class loader creation threw exception
    java.lang.IllegalMonitorStateException: current thread not owner
    at org.apache.catalina.loader.StandardClassLoader.addRepositoryInternal(StandardClassLoader.java, Compiled Code)
    at org.apache.catalina.loader.StandardClassLoader.<init>(StandardClassLoader.java, Compiled Code)
    at org.apache.catalina.startup.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java, Compiled Code)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java, Compiled Code)

    I had the same problem.
    No Tomcat 4.1.x is not working under JDK1.2.2.
    It has something to do with a difference in byte code of the classes between jdk1.2.2 and jdk 1.4.
    I am running now on J2SDK1.4.1_03 and have no problems any more

  • Problem with Configuring Tomcat for running jsp web applications..Plz HELP

    I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
    to connect to the database. I have placed my project folder called
    tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
    a collection of html pages,jsp pages and images of my project. Also I created a
    WEB-INF folderand in that I have lib folder which contains catalina-root.jar
    , classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
    file which looks like this
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    Copyright 2004 The Apache Software Foundation
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    -->
    <web-app>
    <resource-ref>
    <description>Oracle Datasource example</description>
    <res-ref-name>jdbc/gdn</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
    My Server.xml file in Tomcat\conf folder is as follows
    <!-- Example Server Configuration File -->
    <!-- Note that component elements are nested corresponding to their
    parent-child relationships with each other -->
    <!-- A "Server" is a singleton element that represents the entire JVM,
    which may contain one or more "Service" instances. The Server
    listens for a shutdown command on the indicated port.
    Note: A "Server" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <Server port="8005" shutdown="SHUTDOWN">
    <!-- Comment these entries out to disable JMX MBeans support used for the
    administration web application -->
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
    type="org.apache.catalina.UserDatabase"
    description="User database that can be updated and saved"
    factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
    pathname="conf/tomcat-users.xml" />
    <Resource name="jdbc/gdn" auth="Container"
    type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
    url="jdbc:odbc:gdn"
    username="system" password="tiger" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    </GlobalNamingResources>
    <!-- A "Service" is a collection of one or more "Connectors" that share
    a single "Container" (and therefore the web applications visible
    within that Container). Normally, that Container is an "Engine",
    but this is not required.
    Note: A "Service" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- A "Connector" represents an endpoint by which requests are received
    and responses are returned. Each Connector passes requests on to the
    associated "Container" (normally an Engine) for processing.
    By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
    You can also enable an SSL HTTP/1.1 Connector on port 8443 by
    following the instructions below and uncommenting the second Connector
    entry. SSL support requires the following steps (see the SSL Config
    HOWTO in the Tomcat 5 documentation bundle for more detailed
    instructions):
    * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
    later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
    * Execute:
    %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
    $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
    with a password value of "changeit" for both the certificate and
    the keystore itself.
    By default, DNS lookups are enabled when a web application calls
    request.getRemoteHost(). This can have an adverse impact on
    performance, so you can disable it by setting the
    "enableLookups" attribute to "false". When DNS lookups are disabled,
    request.getRemoteHost() will return the String version of the
    IP address of the remote client.
    -->
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector
    port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
    to 0 -->
         <!-- Note : To use gzip compression you could set the following properties :
                   compression="on"
                   compressionMinSize="2048"
                   noCompressionUserAgents="gozilla, traviata"
                   compressableMimeType="text/html,text/xml"
         -->
    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector port="8443"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />
    -->
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector port="8082"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" acceptCount="100" connectionTimeout="20000"
    proxyPort="80" disableUploadTimeout="true" />
    -->
    <!-- An Engine represents the entry point (within Catalina) that processes
    every request. The Engine implementation for Tomcat stand alone
    analyzes the HTTP headers included with the request, and passes them
    on to the appropriate Host (virtual host). -->
    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">
    <!-- The request dumper valve dumps useful debugging information about
    the request headers and cookies that were received, and the response
    headers and cookies that were sent, for all requests received by
    this instance of Tomcat. If you care only about requests to a
    particular virtual host, or a particular application, nest this
    element inside the corresponding <Host> or <Context> entry instead.
    For a similar mechanism that is portable to all Servlet 2.4
    containers, check out the "RequestDumperFilter" Filter in the
    example application (the source for this filter may be found in
    "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
    Request dumping is disabled by default. Uncomment the following
    element to enable it. -->
    <!--
    <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    -->
    <!-- Because this Realm is here, an instance will be shared globally -->
    <!-- This Realm uses the UserDatabase configured in the global JNDI
    resources under the key "UserDatabase". Any edits
    that are performed against this UserDatabase are immediately
    available for use by the Realm. -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
    resourceName="UserDatabase"/>
    <!-- Comment out the old realm but leave here for now in case we
    need to go back quickly -->
    <!--
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    -->
    <!-- Replace the above Realm with one of the following to get a Realm
    stored in a database and accessed via JDBC -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/authority"
    connectionName="test" connectionPassword="test"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
    connectionName="scott" connectionPassword="tiger"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="sun.jdbc.odbc.JdbcOdbcDriver"
    connectionURL="jdbc:odbc:CATALINA"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!-- Define the default virtual host
    Note: XML Schema validation will not work with Xerces 2.2.
    -->
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <!-- Defines a cluster for this node,
    By defining this element, means that every manager will be changed.
    So when running a cluster, only make sure that you have webapps in there
    that need to be clustered and remove the other ones.
    A cluster has the following parameters:
    className = the fully qualified name of the cluster class
    name = a descriptive name for your cluster, can be anything
    mcastAddr = the multicast address, has to be the same for all the nodes
    mcastPort = the multicast port, has to be the same for all the nodes
    mcastBindAddr = bind the multicast socket to a specific address
    mcastTTL = the multicast TTL if you want to limit your broadcast
    mcastSoTimeout = the multicast readtimeout
    mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
    mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
    tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
    tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
    in case of multiple ethernet cards.
    auto means that address becomes
    InetAddress.getLocalHost().getHostAddress()
    tcpListenPort = the tcp listen port
    tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
    has a wakup bug in java.nio. Set to 0 for no timeout
    printToScreen = true means that managers will also print to std.out
    expireSessionsOnShutdown = true means that
    useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
    false means to replicate the session after each request.
    false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
    <%
    HashMap map = (HashMap)session.getAttribute("map");
    map.put("key","value");
    %>
    replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
    * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
    * Synchronous means that the thread that executes the request, is also the
    thread the replicates the data to the other nodes, and will not return until all
    nodes have received the information.
    * Asynchronous means that there is a specific 'sender' thread for each cluster node,
    so the request thread will queue the replication request into a "smart" queue,
    and then return to the client.
    The "smart" queue is a queue where when a session is added to the queue, and the same session
    already exists in the queue from a previous request, that session will be replaced
    in the queue instead of replicating two requests. This almost never happens, unless there is a
    large network delay.
    -->
    <!--
    When configuring for clustering, you also add in a valve to catch all the requests
    coming in, at the end of the request, the session may or may not be replicated.
    A session is replicated if and only if all the conditions are met:
    1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
    2. a session exists (has been created)
    3. the request is not trapped by the "filter" attribute
    The filter attribute is to filter out requests that could not modify the session,
    hence we don't replicate the session after the end of this request.
    The filter is negative, ie, anything you put in the filter, you mean to filter out,
    ie, no replication will be done on requests that match one of the filters.
    The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
    filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
    ending with .gif and .js are intercepted.
    The deployer element can be used to deploy apps cluster wide.
    Currently the deployment only deploys/undeploys to working members in the cluster
    so no WARs are copied upons startup of a broken node.
    The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
    When a new war file is added the war gets deployed to the local instance,
    and then deployed to the other instances in the cluster.
    When a war file is deleted from the watchDir the war is undeployed locally
    and cluster wide
    -->
    <!--
    <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
    managerClassName="org.apache.catalina.cluster.session.DeltaManager"
    expireSessionsOnShutdown="false"
    useDirtyFlag="true"
    notifyListenersOnReplication="true">
    <Membership
    className="org.apache.catalina.cluster.mcast.McastService"
    mcastAddr="228.0.0.4"
    mcastPort="45564"
    mcastFrequency="500"
    mcastDropTime="3000"/>
    <Receiver
    className="org.apache.catalina.cluster.tcp.ReplicationListener"
    tcpListenAddress="auto"
    tcpListenPort="4001"
    tcpSelectorTimeout="100"
    tcpThreadCount="6"/>
    <Sender
    className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
    replicationMode="pooled"
    ackTimeout="15000"/>
    <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
    filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
    <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
    tempDir="/tmp/war-temp/"
    deployDir="/tmp/war-deploy/"
    watchDir="/tmp/war-listen/"
    watchEnabled="false"/>
    </Cluster>
    -->
    <!-- Normally, users must authenticate themselves to each web app
    individually. Uncomment the following entry if you would like
    a user to be authenticated the first time they encounter a
    resource protected by a security constraint, and then have that
    user identity maintained across all web applications contained
    in this virtual host. -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    This access log implementation is optimized for maximum performance,
    but is hardcoded to support only the "common" and "combined" patterns.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
    </Host>
    </Engine>
    </Service>
    </Server>
    I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
    My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
    in a browser. Here I accept a username and password from the user and then do the validation in
    a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
    accordingly. However when I enter the username and password and click Go in the homepage, nothing is
    displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
    WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
    WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
    IS IT POSSIBLE?WHY WILL THIS HAPPEN?
    I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
    Is there any other thing that I need to set in classpath? Should I have my project as a
    WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine?

    I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
    to connect to the database. I have placed my project folder called
    tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
    a collection of html pages,jsp pages and images of my project. Also I created a
    WEB-INF folderand in that I have lib folder which contains catalina-root.jar
    , classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
    file which looks like this
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    Copyright 2004 The Apache Software Foundation
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    -->
    <web-app>
    <resource-ref>
    <description>Oracle Datasource example</description>
    <res-ref-name>jdbc/gdn</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
    My Server.xml file in Tomcat\conf folder is as follows
    <!-- Example Server Configuration File -->
    <!-- Note that component elements are nested corresponding to their
    parent-child relationships with each other -->
    <!-- A "Server" is a singleton element that represents the entire JVM,
    which may contain one or more "Service" instances. The Server
    listens for a shutdown command on the indicated port.
    Note: A "Server" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <Server port="8005" shutdown="SHUTDOWN">
    <!-- Comment these entries out to disable JMX MBeans support used for the
    administration web application -->
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
    type="org.apache.catalina.UserDatabase"
    description="User database that can be updated and saved"
    factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
    pathname="conf/tomcat-users.xml" />
    <Resource name="jdbc/gdn" auth="Container"
    type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
    url="jdbc:odbc:gdn"
    username="system" password="tiger" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    </GlobalNamingResources>
    <!-- A "Service" is a collection of one or more "Connectors" that share
    a single "Container" (and therefore the web applications visible
    within that Container). Normally, that Container is an "Engine",
    but this is not required.
    Note: A "Service" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- A "Connector" represents an endpoint by which requests are received
    and responses are returned. Each Connector passes requests on to the
    associated "Container" (normally an Engine) for processing.
    By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
    You can also enable an SSL HTTP/1.1 Connector on port 8443 by
    following the instructions below and uncommenting the second Connector
    entry. SSL support requires the following steps (see the SSL Config
    HOWTO in the Tomcat 5 documentation bundle for more detailed
    instructions):
    * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
    later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
    * Execute:
    %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
    $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
    with a password value of "changeit" for both the certificate and
    the keystore itself.
    By default, DNS lookups are enabled when a web application calls
    request.getRemoteHost(). This can have an adverse impact on
    performance, so you can disable it by setting the
    "enableLookups" attribute to "false". When DNS lookups are disabled,
    request.getRemoteHost() will return the String version of the
    IP address of the remote client.
    -->
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector
    port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
    to 0 -->
         <!-- Note : To use gzip compression you could set the following properties :
                   compression="on"
                   compressionMinSize="2048"
                   noCompressionUserAgents="gozilla, traviata"
                   compressableMimeType="text/html,text/xml"
         -->
    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector port="8443"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />
    -->
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector port="8082"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" acceptCount="100" connectionTimeout="20000"
    proxyPort="80" disableUploadTimeout="true" />
    -->
    <!-- An Engine represents the entry point (within Catalina) that processes
    every request. The Engine implementation for Tomcat stand alone
    analyzes the HTTP headers included with the request, and passes them
    on to the appropriate Host (virtual host). -->
    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">
    <!-- The request dumper valve dumps useful debugging information about
    the request headers and cookies that were received, and the response
    headers and cookies that were sent, for all requests received by
    this instance of Tomcat. If you care only about requests to a
    particular virtual host, or a particular application, nest this
    element inside the corresponding <Host> or <Context> entry instead.
    For a similar mechanism that is portable to all Servlet 2.4
    containers, check out the "RequestDumperFilter" Filter in the
    example application (the source for this filter may be found in
    "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
    Request dumping is disabled by default. Uncomment the following
    element to enable it. -->
    <!--
    <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    -->
    <!-- Because this Realm is here, an instance will be shared globally -->
    <!-- This Realm uses the UserDatabase configured in the global JNDI
    resources under the key "UserDatabase". Any edits
    that are performed against this UserDatabase are immediately
    available for use by the Realm. -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
    resourceName="UserDatabase"/>
    <!-- Comment out the old realm but leave here for now in case we
    need to go back quickly -->
    <!--
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    -->
    <!-- Replace the above Realm with one of the following to get a Realm
    stored in a database and accessed via JDBC -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/authority"
    connectionName="test" connectionPassword="test"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
    connectionName="scott" connectionPassword="tiger"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="sun.jdbc.odbc.JdbcOdbcDriver"
    connectionURL="jdbc:odbc:CATALINA"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!-- Define the default virtual host
    Note: XML Schema validation will not work with Xerces 2.2.
    -->
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <!-- Defines a cluster for this node,
    By defining this element, means that every manager will be changed.
    So when running a cluster, only make sure that you have webapps in there
    that need to be clustered and remove the other ones.
    A cluster has the following parameters:
    className = the fully qualified name of the cluster class
    name = a descriptive name for your cluster, can be anything
    mcastAddr = the multicast address, has to be the same for all the nodes
    mcastPort = the multicast port, has to be the same for all the nodes
    mcastBindAddr = bind the multicast socket to a specific address
    mcastTTL = the multicast TTL if you want to limit your broadcast
    mcastSoTimeout = the multicast readtimeout
    mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
    mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
    tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
    tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
    in case of multiple ethernet cards.
    auto means that address becomes
    InetAddress.getLocalHost().getHostAddress()
    tcpListenPort = the tcp listen port
    tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
    has a wakup bug in java.nio. Set to 0 for no timeout
    printToScreen = true means that managers will also print to std.out
    expireSessionsOnShutdown = true means that
    useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
    false means to replicate the session after each request.
    false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
    <%
    HashMap map = (HashMap)session.getAttribute("map");
    map.put("key","value");
    %>
    replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
    * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
    * Synchronous means that the thread that executes the request, is also the
    thread the replicates the data to the other nodes, and will not return until all
    nodes have received the information.
    * Asynchronous means that there is a specific 'sender' thread for each cluster node,
    so the request thread will queue the replication request into a "smart" queue,
    and then return to the client.
    The "smart" queue is a queue where when a session is added to the queue, and the same session
    already exists in the queue from a previous request, that session will be replaced
    in the queue instead of replicating two requests. This almost never happens, unless there is a
    large network delay.
    -->
    <!--
    When configuring for clustering, you also add in a valve to catch all the requests
    coming in, at the end of the request, the session may or may not be replicated.
    A session is replicated if and only if all the conditions are met:
    1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
    2. a session exists (has been created)
    3. the request is not trapped by the "filter" attribute
    The filter attribute is to filter out requests that could not modify the session,
    hence we don't replicate the session after the end of this request.
    The filter is negative, ie, anything you put in the filter, you mean to filter out,
    ie, no replication will be done on requests that match one of the filters.
    The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
    filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
    ending with .gif and .js are intercepted.
    The deployer element can be used to deploy apps cluster wide.
    Currently the deployment only deploys/undeploys to working members in the cluster
    so no WARs are copied upons startup of a broken node.
    The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
    When a new war file is added the war gets deployed to the local instance,
    and then deployed to the other instances in the cluster.
    When a war file is deleted from the watchDir the war is undeployed locally
    and cluster wide
    -->
    <!--
    <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
    managerClassName="org.apache.catalina.cluster.session.DeltaManager"
    expireSessionsOnShutdown="false"
    useDirtyFlag="true"
    notifyListenersOnReplication="true">
    <Membership
    className="org.apache.catalina.cluster.mcast.McastService"
    mcastAddr="228.0.0.4"
    mcastPort="45564"
    mcastFrequency="500"
    mcastDropTime="3000"/>
    <Receiver
    className="org.apache.catalina.cluster.tcp.ReplicationListener"
    tcpListenAddress="auto"
    tcpListenPort="4001"
    tcpSelectorTimeout="100"
    tcpThreadCount="6"/>
    <Sender
    className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
    replicationMode="pooled"
    ackTimeout="15000"/>
    <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
    filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
    <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
    tempDir="/tmp/war-temp/"
    deployDir="/tmp/war-deploy/"
    watchDir="/tmp/war-listen/"
    watchEnabled="false"/>
    </Cluster>
    -->
    <!-- Normally, users must authenticate themselves to each web app
    individually. Uncomment the following entry if you would like
    a user to be authenticated the first time they encounter a
    resource protected by a security constraint, and then have that
    user identity maintained across all web applications contained
    in this virtual host. -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    This access log implementation is optimized for maximum performance,
    but is hardcoded to support only the "common" and "combined" patterns.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
    </Host>
    </Engine>
    </Service>
    </Server>
    I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
    My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
    in a browser. Here I accept a username and password from the user and then do the validation in
    a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
    accordingly. However when I enter the username and password and click Go in the homepage, nothing is
    displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
    WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
    WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
    IS IT POSSIBLE?WHY WILL THIS HAPPEN?
    I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
    Is there any other thing that I need to set in classpath? Should I have my project as a
    WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine?

Maybe you are looking for

  • Read document attached to master data value

    Hello. I'm using FM RSOD_DOC_MAST_CHANGE to attach files to master data values. But I don't know how to read attached document((  Does anybody know?

  • Why can't Primary and Sub accounts be accessed on the same page?

    I have a Primary email account and also a sub account.  I normally use Windows Mail to access my email.  In Windows Mail, I can read emails sent to either account, and can also send from either account. The only time I go to the Webmail page is when

  • Why is the new version of Firefox so ugly and not as user friendly as the previous versions?

    I've been using Firefox for years now and always loved it because of the simplicity of use and the add-ons that made my life easier. Now the major add-on that I use is no longer compatible, the new setup is visually disorienting, and apparently users

  • Expdp remap_data

    Hi, Is there any way to use remap_data option of 11g's expdp in 10g, or Is there any way to use 11g's expdp executable in 10g Kind Regards..

  • Mac OS X intall help.

    I finally got a MAC OS X TIGER 10.4.7 install disc for my ibook but I'm haveing a hard time installing it for some reason. Could use some advice. My ibook regressed from 10.4.11 to 9.2. Just to give you all a heads up on my situation.