What is it?

The tox (Tomcat Oracle & XML) web archive is a foundation for development of HTTP based applications using Tomcat (or some other servlet container) and an Oracle RDBMS. Use of tox requires coding primarily in PL/SQL, JavaScript, and XSLT, but also in HTML, CSS, and potentially Java. Coded in Java and PL/SQL itself, tox provides the foundation for more complex applications to be built.

The tox framework enables the construction of applications using the model/view/controller (MVC) design pattern. With a controller that executes interpreted XML for creating the model and view, developers can construct new functionality. The model is retrieved either via includes or by the execution of Oracle's stored procedures and then passed to an XML Stylesheet transform (XSLT) to construct and return the view. Different combinations and options provide rich dynamic content.


This is version 1.6 of tox.

Change History

Version 1.6:

  1. Localized the logging so that you no longer edit the logging.properties which belongs to Tomcat.

Version 1.5:

  1. Removed root and space features that no one ever used and cluttered the code.

Version 1.2:

  1. Added tomcat logging in $TOMCAT_HOME/logs.

Version 1.1:

  1. Corrected the bug where model parameters could not contain a single quote.
  2. Improved performance by using StringBuilder instead of StringBuffer.
  3. Improved performance by testing for verbose debugging outside of the debug class rather than inside the debug class method.
  4. Utilized Java 1.5 URLConnection.setReadTimeout in the href class, thus eliminating the need for a sub-class thread to perform the timeout function.

Version 1:

  1. Initial release. Stable and production worthy.


The tox web archive (war) is designed to run within a tomcat installation against an Oracle relational database.

  1. Tomcat is available from the Apache Software Foundation. The tox war has been tested with version 5.0 and 5.5 of tomcat.
  2. Oracle's relational database is a commercial database, available from Oracle Corp.
  3. There are some dependencies upon Java 1.5.

Take a look at the tutorial.

or for a quick start...

Place the precompiled tox.war in your tomcat's webapps directory.


Recompile the wars with the "go" shell script after you edit for your development environment's configuration. (Note 1)


Recompile the wars with ant using the build.xml.


Edit your tomcat configuration's server.xml to provide the "jdbc/tox" resource.


Copy the Oracle JDBC jar, ojdbc14.jar, to your tomcat's "common/lib". (Note 2)


Run the run the sql scripts in this order... (Note 3)

  1. tox.usr.sql
  2. tox.ddl.sql
  3. tox.pkg.sql
  4. tox.bdy.sql
  5. tox.prv.sql
  6. and to include the testing functionality...

  7. ping.usr.sql
  8. ping.pkg.sql
  9. ping.bdy.sql
  10. ping.prv.sql


Open a browser and address http://yourTomcatInstance/test/test.jsp and work through the examples using test.jsp, test.js, test.xml, and test.xsl.


This software and all of its components are published under the General Public License (GPL) version 2 as open source. Originally developed at the Lawrence Livermore National Laboratory, it was initially released on July 2nd, 2008, reference LLNL-CODE-404550.


  1. I use bash on MacOSX, so your script will almost certainly vary if you use a different OS or shell.
  2. I have, on a few installations, had to revert back to the old Oracle JDBC driver contained in their classes12.jar.
  3. The tablespace I specified will need to be changed to match your configuration.