Author: sebb
Date: Wed Aug 19 17:50:26 2015
New Revision: 1696636

URL: http://svn.apache.org/r1696636
Log:
Recovered top level files from 
https://web.archive.org/web/20140513171517/http://jakarta.apache.org/cactus/

Added:
    jakarta/site/docs/cactus/
    jakarta/site/docs/cactus/cactusname.html   (with props)
    jakarta/site/docs/cactus/downloads.html   (with props)
    jakarta/site/docs/cactus/faq.html   (with props)
    jakarta/site/docs/cactus/favicon.ico   (with props)
    jakarta/site/docs/cactus/features.html   (with props)
    jakarta/site/docs/cactus/getting_started.html   (with props)
    jakarta/site/docs/cactus/goals.html   (with props)
    jakarta/site/docs/cactus/how_it_works.html   (with props)
    jakarta/site/docs/cactus/howto_sample.html   (with props)
    jakarta/site/docs/cactus/images/
    jakarta/site/docs/cactus/images/cactusbanner.gif   (with props)
    jakarta/site/docs/cactus/images/ecosystem.jpg   (with props)
    jakarta/site/docs/cactus/images/jakarta-logo.gif   (with props)
    jakarta/site/docs/cactus/images/logocactus.gif   (with props)
    jakarta/site/docs/cactus/index.html   (with props)
    jakarta/site/docs/cactus/integration/
    jakarta/site/docs/cactus/integration/eclipse/
    jakarta/site/docs/cactus/integration/eclipse/index.html   (with props)
    jakarta/site/docs/cactus/integration/index.html   (with props)
    jakarta/site/docs/cactus/integration/integration_browser.html   (with props)
    jakarta/site/docs/cactus/integration/integration_jetty.html   (with props)
    jakarta/site/docs/cactus/integration/manual/
    jakarta/site/docs/cactus/integration/manual/howto_config.html   (with props)
    jakarta/site/docs/cactus/integration/maven/
    jakarta/site/docs/cactus/integration/maven/index.html   (with props)
    jakarta/site/docs/cactus/license.html   (with props)
    jakarta/site/docs/cactus/mail-lists.html   (with props)
    jakarta/site/docs/cactus/mock_vs_cactus.html   (with props)
    jakarta/site/docs/cactus/news.html   (with props)
    jakarta/site/docs/cactus/participating/
    jakarta/site/docs/cactus/participating/index.html   (with props)
    jakarta/site/docs/cactus/project-info.html   (with props)
    jakarta/site/docs/cactus/project-reports.html   (with props)
    jakarta/site/docs/cactus/resources/
    jakarta/site/docs/cactus/resources/index.html   (with props)
    jakarta/site/docs/cactus/writing/
    jakarta/site/docs/cactus/writing/howto_ejb.html   (with props)

Added: jakarta/site/docs/cactus/cactusname.html
URL: 
http://svn.apache.org/viewvc/jakarta/site/docs/cactus/cactusname.html?rev=1696636&view=auto
==============================================================================
--- jakarta/site/docs/cactus/cactusname.html (added)
+++ jakarta/site/docs/cactus/cactusname.html Wed Aug 19 17:50:26 2015
@@ -0,0 +1,476 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+
+
+
+
+
+
+
+
+
+
+<html>
+  <head>
+
+
+    <title>Jakarta Cactus - 
+    Why the name?</title>
+    <style type="text/css" media="all">
+      @import url("http://jakarta.apache.org/cactus/css/maven-base.css";);
+      @import url("http://jakarta.apache.org/cactus/css/maven-theme.css";);
+      @import url("http://jakarta.apache.org/cactus/css/site.css";);
+    </style>
+    <link rel="stylesheet" 
href="http://jakarta.apache.org/cactus/css/print.css"; type="text/css" 
media="print" />
+        <meta http-equiv="Content-Type" content="text/html; 
charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+
+
+<div style="background: red"><h1>2011/08/05 - Jakarta Cactus has been retired. 
</h1><h2>For more information, please explore the <a 
href="http://attic.apache.org/";>Attic</a>. </h2></div>
+    <div id="banner">
+                  <a href="" id="bannerLeft">
+    
+                                            <img src="images/logocactus.gif" 
alt="" />
+    
+            </a>
+                        <a href="http://jakarta.apache.org/"; id="bannerRight">
+    
+                                            <img src="images/jakarta-logo.gif" 
alt="" />
+    
+            </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+            <div class="xleft">
+        Last Published: 01/18/2009
+                          |   
+          <a href="http://www.apache.org/";>Apache</a>
+              &gt;
+      
+          <a href="http://www.jakarta.apache.org/";>Jakarta</a>
+              &gt;
+      
+          Cactus
+                        </div>
+            <div class="xright">      
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+                   <h5>About</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="index.html">Overview</a>
+        </li>
+              
+    <li class="none">
+              <a href="goals.html">Goals</a>
+        </li>
+              
+    <li class="none">
+              <a href="features.html">Features</a>
+        </li>
+              
+    <li class="none">
+              <a href="news.html">News</a>
+        </li>
+              
+    <li class="none">
+              <a href="downloads.html">Downloads</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10471";>Bug 
Database</a>
+        </li>
+              
+    <li class="none">
+              <a href="mail-lists.html">Mailing Lists</a>
+        </li>
+              
+    <li class="none">
+              <a href="faq.html">FAQ</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://wiki.apache.org/jakarta-cactus/FrontPage";>Wiki</a>
+        </li>
+              
+    <li class="none">
+              <a href="license.html">License</a>
+        </li>
+          </ul>
+          <h5>Project Documentation</h5>
+        <ul>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="project-info.html">Project Information</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="project-reports.html">Project Reports</a>
+              </li>
+          </ul>
+          <h5>Documentation</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="getting_started.html">Getting started</a>
+        </li>
+              
+    <li class="none">
+              <a href="how_it_works.html">How it works</a>
+        </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="writing/howto_ejb.html">Writing tests</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="integration/index.html">Running tests</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="participating/index.html">Participating</a>
+              </li>
+          </ul>
+          <h5>Miscellaneous</h5>
+        <ul>
+              
+    <li class="none">
+              <strong>Why the name</strong>
+        </li>
+              
+    <li class="none">
+              <a href="mock_vs_cactus.html">Mock vs Container</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://wiki.apache.org/jakarta-cactus/TestedOn";>Tested 
On...</a>
+        </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="resources/index.html">Resources</a>
+              </li>
+          </ul>
+          <h5>Translations</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://www.ressources-java.net/cactus";>French</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://jakarta.apache-korea.org/cactus/index.html";>Korean</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://www.jajakarta.org/cactus/";>Japanese</a>
+        </li>
+          </ul>
+          <h5>See also</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://www.apachebookstore.com/";>Apache Bookstore</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://www.planetapache.org/";>Planet Apache</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://apache.org/foundation/thanks.html";>Apache 
Sponsors</a>
+        </li>
+          </ul>
+                                             
+                        
+                        
+            <a href="" title="Jakarta Cactus" id="poweredBy">
+                            <img alt="Jakarta Cactus" 
src="images/cactusbanner.gif" />
+            </a>
+                               
+  
+
+  
+    
+  
+  
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+
+  
+
+  
+
+  <a name="Why Cactus?"></a><div class="section"><h2>Why Cactus?</h2>
+
+      <p>
+        Here are some stories and reasons about the 'Cactus' name:)
+      </p>
+      <ul>
+        <li>
+          It's a cool name ... Short, easy to pronounce, same meanings in all
+          spoken languages, has some punch ...
+        </li>
+        <li>
+          There is a famous french song by Jacques Dutronc about cacti that
+          goes &quot;le monde entier est un cactus ...&quot; (the whole world 
is a
+          Cactus). The lyrics is available
+          <a 
href="http://www.frmusique.ru/texts/d/dutronc_jacques/cactus.htm";>here
+          </a> and the music (midi format)
+          <a 
href="http://membres.lycos.fr/nabla007/musique/jacques_dutronc_(les_cactus).mid">here
+          </a>. It is a
+          song that says that cacti are everywhere and that everything is
+          a cactus. I like that ! :) ...
+        </li>
+        <li>
+          The J2EEUnit name (which was the previous name of Cactus) was fine
+          but there was a Sun trademark on the J2EE part of the name ...
+        </li>
+        <li>
+          Cactus is actually an acronym ... ha ha .. for Computer Assisted
+          Construction of Test Units for the Server, or Cool and Comprehensive
+          Test Units for the Server, or ... (please send your suggestions to
+          the <a href="mail-lists.html">Cactus mailing list</a>).
+        </li>
+        <li>
+          The company for which I worked (
+          <a href="http://www.octo.com/";>OCTO Technology</a>) had organized a 
diner 
+          to celebrate our 3 years of existence. I was looking for a new name 
+          for J2EEUnit. I asked some workmates to help me look for a name. We 
+          tried to find a name which had something to do with the Apache name. 
+          We thought of indians of course ... we tried several names and then 
+          Dominique said &quot;Cactus&quot; (you know, indians, the desert, 
cacti. 
+          That's one cliche of indians we have here in France !). I immediatly 
+          liked it ...
+        </li>
+        <li>
+          The Cactus name has a rich visual iconography associated with it. So
+          it should be possible to find a nice and funny logo (I'm still
+          looking for the perfect logo ... If you have propositions, you can
+          send them to the <a href="mail-lists.html">Cactus mailing list
+          </a> (there is currently a <a href="participating/logos.html">logo 
contest
+          </a> going on ! Try defeating the current logo if you think you
+          can do better !).
+        </li>
+        <li>
+          A Cactus is full of spines. Visually you can imagine that a piece of
+          code that has gone through this rigourous and comprehensive testing
+          has had all its bug revealed ! ...
+        </li>
+        <li>
+          We can imagine a motto like &quot;Tested on Apache-Cactus&quot; !
+        </li>
+        <li>
+          In Australia it is a widely used phrase that refers to something 
+          that it not functioning correctly. So the name 'Cactus' is a very 
+          appropriate name for a testing tool. See 
+          the <a 
href="http://www.koalanet.com.au/australian-slang.html";>Australian Slang</a> 
page.
+        </li>
+        <li>
+          Any more...?
+        </li>
+      </ul>
+
+      
+        <br></br>
+      
+      
+        -Vincent Massol
+      
+
+    </div>
+
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2001-2009
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Propchange: jakarta/site/docs/cactus/cactusname.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jakarta/site/docs/cactus/downloads.html
URL: 
http://svn.apache.org/viewvc/jakarta/site/docs/cactus/downloads.html?rev=1696636&view=auto
==============================================================================
--- jakarta/site/docs/cactus/downloads.html (added)
+++ jakarta/site/docs/cactus/downloads.html Wed Aug 19 17:50:26 2015
@@ -0,0 +1,470 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+
+
+
+
+
+
+
+
+
+
+<html>
+  <head>
+
+
+    <title>Jakarta Cactus - 
+    Downloads</title>
+    <style type="text/css" media="all">
+      @import url("http://jakarta.apache.org/cactus/css/maven-base.css";);
+      @import url("http://jakarta.apache.org/cactus/css/maven-theme.css";);
+      @import url("http://jakarta.apache.org/cactus/css/site.css";);
+    </style>
+    <link rel="stylesheet" 
href="http://jakarta.apache.org/cactus/css/print.css"; type="text/css" 
media="print" />
+        <meta http-equiv="Content-Type" content="text/html; 
charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+
+
+<div style="background: red"><h1>2011/08/05 - Jakarta Cactus has been retired. 
</h1><h2>For more information, please explore the <a 
href="http://attic.apache.org/";>Attic</a>. </h2></div>
+    <div id="banner">
+                  <a href="" id="bannerLeft">
+    
+                                            <img src="images/logocactus.gif" 
alt="" />
+    
+            </a>
+                        <a href="http://jakarta.apache.org/"; id="bannerRight">
+    
+                                            <img src="images/jakarta-logo.gif" 
alt="" />
+    
+            </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+            <div class="xleft">
+        Last Published: 01/18/2009
+                          |   
+          <a href="http://www.apache.org/";>Apache</a>
+              &gt;
+      
+          <a href="http://www.jakarta.apache.org/";>Jakarta</a>
+              &gt;
+      
+          Cactus
+                        </div>
+            <div class="xright">      
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+                   <h5>About</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="index.html">Overview</a>
+        </li>
+              
+    <li class="none">
+              <a href="goals.html">Goals</a>
+        </li>
+              
+    <li class="none">
+              <a href="features.html">Features</a>
+        </li>
+              
+    <li class="none">
+              <a href="news.html">News</a>
+        </li>
+              
+    <li class="none">
+              <strong>Downloads</strong>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10471";>Bug 
Database</a>
+        </li>
+              
+    <li class="none">
+              <a href="mail-lists.html">Mailing Lists</a>
+        </li>
+              
+    <li class="none">
+              <a href="faq.html">FAQ</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://wiki.apache.org/jakarta-cactus/FrontPage";>Wiki</a>
+        </li>
+              
+    <li class="none">
+              <a href="license.html">License</a>
+        </li>
+          </ul>
+          <h5>Project Documentation</h5>
+        <ul>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="project-info.html">Project Information</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="project-reports.html">Project Reports</a>
+              </li>
+          </ul>
+          <h5>Documentation</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="getting_started.html">Getting started</a>
+        </li>
+              
+    <li class="none">
+              <a href="how_it_works.html">How it works</a>
+        </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="writing/howto_ejb.html">Writing tests</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="integration/index.html">Running tests</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="participating/index.html">Participating</a>
+              </li>
+          </ul>
+          <h5>Miscellaneous</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="cactusname.html">Why the name</a>
+        </li>
+              
+    <li class="none">
+              <a href="mock_vs_cactus.html">Mock vs Container</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://wiki.apache.org/jakarta-cactus/TestedOn";>Tested 
On...</a>
+        </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="resources/index.html">Resources</a>
+              </li>
+          </ul>
+          <h5>Translations</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://www.ressources-java.net/cactus";>French</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://jakarta.apache-korea.org/cactus/index.html";>Korean</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://www.jajakarta.org/cactus/";>Japanese</a>
+        </li>
+          </ul>
+          <h5>See also</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://www.apachebookstore.com/";>Apache Bookstore</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://www.planetapache.org/";>Planet Apache</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://apache.org/foundation/thanks.html";>Apache 
Sponsors</a>
+        </li>
+          </ul>
+                                             
+                        
+                        
+            <a href="" title="Jakarta Cactus" id="poweredBy">
+                            <img alt="Jakarta Cactus" 
src="images/cactusbanner.gif" />
+            </a>
+                               
+  
+
+  
+    
+  
+  
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+
+  
+
+  
+
+  <a name="Downloadable Files"></a><div class="section"><h2>Downloadable 
Files</h2>
+
+      <p>
+        The following files are available for download:
+      </p>
+
+      <a name="Core Distribution"></a><div class="section"><h2>Core 
Distribution</h2>
+
+        <p>
+          The core distribution consists of the actual Cactus framework for
+          server-side unit tests, as well as documentation, examples and the
+         Cactus <a href="integration/ant/index.html">Ant tasks</a>.
+        </p>
+
+        <ul>
+          <li>
+                                               
<strong>cactus-&lt;version&gt;-bin.&lt;archive.type&gt;</strong>
+            
+              The main binary distribution of Cactus for J2EE 1.4. or higher. 
Includes the
+              Cactus framework, the complete set of documentation, the Cactus 
Ant
+              tasks and the examples.
+            
+          </li>
+          <li>
+                                               
<strong>cactus-src-&lt;version&gt;-src.&lt;archive.type&gt;</strong>
+            
+              The source distribution of Cactus. This corresponds to a clean 
SVN
+              checkout of the Cactus sources at the time the version was
+              released.
+            
+          </li>
+                                       <li>
+                                               
+                                                       If you need the cactus 
framework for an older Java version,
+                                                       you can get it from the 
<a href="http://repo1.maven.org/maven2/org/apache/cactus/1.8.0/";>maven central 
repository</a>
+                                               
+          </li>
+        </ul>
+
+       <p>
+         Maven provides its own way of installing plugins. The Maven plugin for
+        Cactus is deployed on <a 
href="http://www.ibiblio.org/maven/cactus/plugins";>Ibiblio </a> 
+         and can be installed in your Maven installation by running:
+       </p>
+<div class="source"><pre>
+maven plugin:download -DgroupId=cactus -DartifactId=cactus-maven 
-Dversion=&lt;version&gt;
+</pre></div>
+       <p>
+              For more details see the <a 
href="integration/maven/installing.html">Maven 
+         Cactus plugin installation page</a>.
+       </p>
+       
+      </div>
+
+      <note>
+        <code>&lt;version&gt;</code> represents the version number for releases
+        and the date stamp for nightly builds.
+      </note>
+
+    </div>
+
+    <a name="Releases"></a><div class="section"><h2>Releases</h2>
+
+      <ul>
+        <li>
+       <a 
href="http://jakarta.apache.org/site/downloads/downloads_cactus.cgi";>Cactus 
binary releases</a>.
+        </li>
+        <li>
+               <a 
href="http://jakarta.apache.org/site/downloads/downloads_cactus.cgi";>Cactus 
source releases</a>.
+        </li>
+      </ul>
+
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2001-2009
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Propchange: jakarta/site/docs/cactus/downloads.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jakarta/site/docs/cactus/faq.html
URL: 
http://svn.apache.org/viewvc/jakarta/site/docs/cactus/faq.html?rev=1696636&view=auto
==============================================================================
--- jakarta/site/docs/cactus/faq.html (added)
+++ jakarta/site/docs/cactus/faq.html Wed Aug 19 17:50:26 2015
@@ -0,0 +1,872 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+
+
+
+
+
+
+
+
+
+
+<html>
+  <head>
+
+
+    <title>Jakarta Cactus - Cactus FAQ</title>
+    <style type="text/css" media="all">
+      @import url("http://jakarta.apache.org/cactus/css/maven-base.css";);
+      @import url("http://jakarta.apache.org/cactus/css/maven-theme.css";);
+      @import url("http://jakarta.apache.org/cactus/css/site.css";);
+    </style>
+    <link rel="stylesheet" 
href="http://jakarta.apache.org/cactus/css/print.css"; type="text/css" 
media="print" />
+        <meta http-equiv="Content-Type" content="text/html; 
charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+
+
+<div style="background: red"><h1>2011/08/05 - Jakarta Cactus has been retired. 
</h1><h2>For more information, please explore the <a 
href="http://attic.apache.org/";>Attic</a>. </h2></div>
+    <div id="banner">
+                  <a href="" id="bannerLeft">
+    
+                                            <img src="images/logocactus.gif" 
alt="" />
+    
+            </a>
+                        <a href="http://jakarta.apache.org/"; id="bannerRight">
+    
+                                            <img src="images/jakarta-logo.gif" 
alt="" />
+    
+            </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+            <div class="xleft">
+        Last Published: 01/18/2009
+                          |   
+          <a href="http://www.apache.org/";>Apache</a>
+              &gt;
+      
+          <a href="http://www.jakarta.apache.org/";>Jakarta</a>
+              &gt;
+      
+          Cactus
+                        </div>
+            <div class="xright">      
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+                   <h5>About</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="index.html">Overview</a>
+        </li>
+              
+    <li class="none">
+              <a href="goals.html">Goals</a>
+        </li>
+              
+    <li class="none">
+              <a href="features.html">Features</a>
+        </li>
+              
+    <li class="none">
+              <a href="news.html">News</a>
+        </li>
+              
+    <li class="none">
+              <a href="downloads.html">Downloads</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10471";>Bug 
Database</a>
+        </li>
+              
+    <li class="none">
+              <a href="mail-lists.html">Mailing Lists</a>
+        </li>
+              
+    <li class="none">
+              <strong>FAQ</strong>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://wiki.apache.org/jakarta-cactus/FrontPage";>Wiki</a>
+        </li>
+              
+    <li class="none">
+              <a href="license.html">License</a>
+        </li>
+          </ul>
+          <h5>Project Documentation</h5>
+        <ul>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="project-info.html">Project Information</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="project-reports.html">Project Reports</a>
+              </li>
+          </ul>
+          <h5>Documentation</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="getting_started.html">Getting started</a>
+        </li>
+              
+    <li class="none">
+              <a href="how_it_works.html">How it works</a>
+        </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="writing/howto_ejb.html">Writing tests</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="integration/index.html">Running tests</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="participating/index.html">Participating</a>
+              </li>
+          </ul>
+          <h5>Miscellaneous</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="cactusname.html">Why the name</a>
+        </li>
+              
+    <li class="none">
+              <a href="mock_vs_cactus.html">Mock vs Container</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://wiki.apache.org/jakarta-cactus/TestedOn";>Tested 
On...</a>
+        </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="resources/index.html">Resources</a>
+              </li>
+          </ul>
+          <h5>Translations</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://www.ressources-java.net/cactus";>French</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://jakarta.apache-korea.org/cactus/index.html";>Korean</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://www.jajakarta.org/cactus/";>Japanese</a>
+        </li>
+          </ul>
+          <h5>See also</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://www.apachebookstore.com/";>Apache Bookstore</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://www.planetapache.org/";>Planet Apache</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://apache.org/foundation/thanks.html";>Apache 
Sponsors</a>
+        </li>
+          </ul>
+                                             
+                        
+                        
+            <a href="" title="Jakarta Cactus" id="poweredBy">
+                            <img alt="Jakarta Cactus" 
src="images/cactusbanner.gif" />
+            </a>
+                               
+  
+
+  
+    
+  
+  
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2><a name="top">Cactus FAQ</a></h2><ol 
type="1"><li><a href="#faq_cant_find_resource">"Can't find resource for cactus" 
error message</a></li><li><a href="#faq_webxml_test_prod">How can I have a 
web.xml that is valid both for
+          testing and for production?</a></li><li><a 
href="#faq_stream_corrupted_exception">I'm getting a
+          <code>java.io.StreamCorruptedException: InputStream does not contain 
a
+          serialized object</code> error. What does it mean?</a></li><li><a 
href="#faq_chaining_requests"> How can I test the chaining of several HTTP
+          requests? </a></li><li><a href="#faq_runservertests_hangs">The 
runservertests Ant task hangs when my server is started</a></li><li><a 
href="#faq_not_a_valid_response"> I'm getting a
+          "<code>not a valid response</code> error message. What does it
+          mean? </a></li><li><a href="#faq_failed_to_get_test_results"> I'm 
getting a
+          "<code>ChainedRuntimeException</code>: Failed to get the test 
results" 
+          error message. What does it mean? </a></li><li><a 
href="#faq_send_multipart"> How to send multipart/form-data? </a></li><li><a 
href="#faq_classcastexception_logfactoryimpl"> I get a 
+          "java.lang.ClassCastException: 
org.apache.commons.logging.impl.LogFactoryImpl" 
+          error when I use a JUnit TestRunner different from TextTestRunner 
</a></li><li><a href="#faq_parametrize"> How can I parametrize my Cactus tests? 
</a></li><li><a href="#faq_maintain_session">How do I maintain a Session 
between 2 Cactus test? </a></li><li><a href="#faq_eclipse_version"> What 
version of Eclipse do I need for the 
+          Eclipse plugin? </a></li><li><a 
href="#faq_httpclient_nosuchmethoderror">Why do I get an HttpClient 
+          NoSuchMethodError when running Cactus tests with JBoss 
3.x?</a></li><li><a href="#faq_load_balancing">Does Cactus work with 
load-balancers?</a></li><li><a href="#faq_javascript_assert"> Does Cactus 
supports asserting HTML pages with Javascript? </a></li><li><a 
href="#faq_strutstestcase">I have problems using 
StrutsTestCase...</a></li><li><a href="#faq_https_support">Does Cactus support 
HTTPS?</a></li><li><a href="#faq_init_servlet">Why is my ServletContext and 
ServletConfig null in the servlet under test?</a></li></ol></div><dl><dt><a 
name="faq_cant_find_resource">"Can't find resource for cactus" error 
message</a></dt><dd> 
+      <p>
+        If you get the following stack trace:
+     </p>
+
+       <div class="source"><pre>
+               java.lang.ExceptionInInitializerError: 
java.util.MissingResourceException:
+               Can't find bundle for base name cactus, locale en_GB
+               at 
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:707)
+               at 
java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:679)
+               at java.util.ResourceBundle.getBundle(ResourceBundle.java:546)
+       </pre></div>
+       <p>
+       it simply means that you have not put the cactus.properties file in 
your CLASSPATH (i.e. the directory which contains this file should be in the 
CLASSPATH). This file is the Cactus configuration file and is required. Check 
the Cactus Configuration Howto page for more information.
+       </p>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_webxml_test_prod">How can I have a web.xml that is valid both for
+          testing and for production?</a></dt><dd> 
+               <p>
+          Cactus needs to have a few entries set in the <code>web.xml</code>
+          file (redirector definition and mappings mostly). The application to
+          test also needs its own entries. What would be nice would be to be
+          able to use the same <code>web.xml</code> file in the build process
+          for both application testing and deployment to production.
+       </p>
+
+        <p>
+            Here's how I accomplished conditional inclusion
+            of Cactus web.xml configuration.  My web.xml file is capable of
+            working standalone without requiring any filtered copy to work.
+            In Ant I'm doing this:
+       </p>
+       <div class="source"><pre>
+               
+               &lt;copy todir=&quot;${admin.build.dir}/WEB-INF&quot; 
file=&quot;web/admin/WEB-INF/web.xml&quot; overwrite=&quot;yes&quot;&gt;
+               &lt;filterset&gt;
+               &lt;filter token=&quot;start.cactus.config&quot; 
value=&quot;--&amp;gt;&quot;&gt;&lt;/filter&gt;
+               &lt;filter token=&quot;end.cactus.config&quot; 
value=&quot;&amp;lt;!--&quot;&gt;&lt;/filter&gt;
+               &lt;/filterset&gt;
+               &lt;/copy&gt;
+       </pre></div>
+       
+               <p>
+               In <code>web.xml</code> I have this:
+               </p>
+       
+       <div class="source"><pre>&lt;![CDATA[
+       &lt;!-- Cactus configuration
+       Note: Do not place any XML comments in this Cactus configuration section
+       (Ant's filtered copy is used to activate this configuration when the 
test
+       web application is built)
+       --&gt;
+       &lt;!-- Begin Cactus Configuration @start.cactus.config@
+       &lt;servlet&gt;
+       &lt;servlet-name&gt;ServletRedirector&lt;/servlet-name&gt;
+       
&lt;servlet-class&gt;org.apache.cactus.server.ServletTestRedirector&lt;/servlet-class&gt;
+       &lt;/servlet&gt;
+       
+       &lt;servlet&gt;
+       &lt;servlet-name&gt;JspRedirector&lt;/servlet-name&gt;
+       &lt;jsp-file&gt;/somewhere/jspRedirector.jsp&lt;/jsp-file&gt;
+       &lt;/servlet&gt;
+       
+       &lt;servlet-mapping&gt;
+       &lt;servlet-name&gt;ServletRedirector&lt;/servlet-name&gt;
+       &lt;url-pattern&gt;/ServletRedirector/&lt;/url-pattern&gt;
+       &lt;/servlet-mapping&gt;
+       
+       &lt;servlet-mapping&gt;
+       &lt;servlet-name&gt;JspRedirector&lt;/servlet-name&gt;
+       &lt;url-pattern&gt;/JspRedirector/&lt;/url-pattern&gt;
+       &lt;/servlet-mapping&gt;
+       
+       @end.cactus.config@ End Cactus Configuration --&gt;
+       ]]&gt;</pre></div>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_stream_corrupted_exception">I'm getting a
+          <code>java.io.StreamCorruptedException: InputStream does not contain 
a
+          serialized object</code> error. What does it mean?</a></dt><dd> 
+      <note>
+        This error only appears for Cactus 1.3dev (before 21/04/2002) and
+        below. Cactus 1.3 no longer uses a serialized object to return test
+        result. It uses an XML string.
+     </note>
+
+      <section name="Solution">
+        <p>
+          This exception results when client-side Cactus code attempts to talk
+          to a misconfigured installation of Cactus on the server side. The
+          reason for the obscure exception is this: Cactus makes two requests
+          to the server. In the first, the client-side test runner requests 
that
+          such-and-such a test be run on the server (an oversimplification,
+          please see: XXXX). Immediately after the response from the server
+          the client code makes a second request, this time for the results of
+          the server-side test. Cactus is supposed to send back a serialized
+          Object containing the results. Cactus then attempts to deserialize
+          this Object from the input stream in the response. If
+          Cactus is installed properly on the server, this process
+          works transparently. If not (for instance the second
+          request does not even arrive at a Cactus redirector) then
+          the response to the second request (which very well may be
+          a 404 or 500 error) will not contain the object that
+          client-cactus expects. This leads to the
+          StreamCorruptedException.
+       </p>
+        <p>
+          When troubleshooting this error, the most likely prospect
+          is that the requests from client-Cactus are not even
+          reaching server-Cactus. This can happen when the
+          <code>cactus.properties</code> contains a bad entry. For instance, I
+          have run into this problem when building several different
+          testing-applications. I tried to run my tests against
+          <code>http://localhost/webapp1/ServletRedirector/</code> when I 
needed
+          to be running against
+          <code>http://localhost/webapp2/ServletRedirector/</code>. This can
+          also happen if your web.xml file contains an error, or does not
+          properly map the URLs contained in cactus.properties to the
+          Cactus redirectors.
+       </p>
+        <p>
+          A good way to check whether your requests are reaching a
+          Cactus redirector is to manually enter in the URLs for all
+          of the redirectors you use into the navigation bar of your
+          web-browser. Actually the Cactus redirectors provide a URL just for
+          that: 
<code>http://localhost/webapp/ServletRedirector?Cactus_Service=RUN_TEST</code>
+          (this also works for the other redirectors).
+       </p>
+        <note>
+          If you call <code>http://localhost/webapp/ServletRedirector</code>
+          directly, you'll get a 500 error and get a stack trace (in the log or
+          along with your error page) that says <code><![CDATA[Missing service
+          name parameter [] in HTTP request.]]></code>. This is because the
+          Cactus redirector expects HTTP parameter from the Cactus client side.
+       </note>
+        <p>
+          Another likely error is that your server-side classpath
+          does not contain a copy of the cactus.jar. (Cactus is
+          effectively not present on the server.) According to
+          e-mails on the Cactus user list, the
+          <code>StreamCorruptedException</code> could also result when you are
+          using the wrong version of the servlet.jar in some area
+          (any version prior to 2.2, or using servlet.jar 2.2 with a
+          Cactus-1.3 installation).
+       </p>
+     </section>
+
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_chaining_requests"> How can I test the chaining of several HTTP
+          requests? </a></dt><dd> 
+      <section name="Question">
+        <p>
+          Let's imagine that I have one servlet that performs an HTTP redirect
+          to a JSP page (or to another servlet). How do I test it with Cactus?
+       </p>
+     </section>
+      <section name="Solution">
+        <p>
+          Short answer: you don't !
+       </p>
+        <p>
+          Long answer: Cactus is meant to be a unit testing tool, meaning it
+          lets you perform tests for a given method and then it lets you
+          assert the result from that method.
+       </p>
+        <p>
+          In the above scenario, a typical Cactus test will consist in
+          verifying that the return HTTP response is an HTTP redirect (by
+          checking the HTTP response code - 302 - in the <code>endXXX()</code>
+          method) and possibly also checking the URL of the redirect page.
+       </p>
+        <p>
+          Then, as a second test, you could (if you wish) verify that calling
+          the URL of the JSP does return such HTML content (using HttpUnit
+          integration for example). Note that this second test is rather a
+          functional test than a unit test but it can still be viewed as
+          unit testing the <code>doGet()</code> method of the JSP ...
+       </p>
+     </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_runservertests_hangs">The runservertests Ant task hangs when my 
server is started</a></dt><dd> 
+      <section name="Question">
+        <p>
+          When I use the <code>runservertests</code> Cactus custom Ant 
+          task, it starts my server allright but then hangs and the tests are 
+          not executed. What is happening?
+       </p>
+     </section>
+      <section name="Solution">
+        <p>
+          It means that the <code>testURL</code> attribute you've specified
+          in <code>runservertests</code> is not a valid URL. It must 
+          be a URL that is valid when the server is up. To diagnosis the 
+          problem simply open a browser once your server is started (i.e. when 
+          the task hangs) and type the URL in your browser. An alternative to 
+          debug is also to run Ant in debug mode 
+          (<code>ant -debug [your target]</code>).
+       </p>
+        <p>
+          With Cactus 1.3, the correct URL to call is the following, which is
+          always valid:
+          
<code>http://localhost:8080/webapp/ServletRedirector?Cactus_Service=RUN_TEST</code>.
+          Of course replace <code>webapp</code> by your webapp context and
+          replace the port by the one you're using.
+       </p>
+     </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_not_a_valid_response"> I'm getting a
+          "<code>not a valid response</code> error message. What does it
+          mean? </a></dt><dd> 
+      <section name="Question">
+        <p>
+         When I run my Cactus test, I'm getting the following:
+       </p>
+
+       <div class="source"><pre>
+               
testRequestDispatcherInclude(org.apache.cactus.sample.TestSampleServlet)
+               org.apache.cactus.util.ChainedRuntimeException:
+               
+               Not a valid response
+               at
+               org.apache.cactus.client.WebTestResultParser.readRootElement(
+               
WebTestResultParser.java;org/apache/cactus/util/log/LogAspect.java(1k):134)
+       </pre></div>
+
+     </section>
+      <section name="Solution">
+        <p>
+          It means that Cactus could not connect to the server side properly.
+          There could several reasons for this: a valid Redirector URL but
+          not pointing to the Redirector, a secured resource, etc.
+       </p>
+        <p>
+          To easiest way to diagnosis the problem is to enable Cactus logging
+          (see the <link href="site:howto_config">Configuration Howto</link>
+          for how to do this). The cactus client log
+          (<code>cactus_client.log</code> will clearly give the error).
+       </p>
+     </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_failed_to_get_test_results"> I'm getting a
+          "<code>ChainedRuntimeException</code>: Failed to get the test 
results" 
+          error message. What does it mean? </a></dt><dd> 
+      <section name="Question">
+        <p>
+         When I run my Cactus test, I'm getting the following:
+       </p>
+
+       <div class="source"><pre>
+               org.apache.cactus.util.ChainedRuntimeException: 
+               Failed to get the test results [...]
+       </pre></div>
+
+     </section>
+      <section name="Solution">
+        <p>
+         It means that Cactus failed to retrieve the test result from the 
+         server side for some reason. To easiest way to diagnosis the problem 
+         is to enable Cactus logging(see the 
+         <link href="site:howto_config">Configuration Howto</link>
+         or how to do this). The cactus client log
+        (<code>cactus_client.log</code> will clearly give the error).
+       </p>
+     </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_send_multipart"> How to send multipart/form-data? </a></dt><dd> 
+        <section name="Question">
+          <p>
+           How to send multipart/form-data to my servlet under test?
+         </p>
+       </section>
+       <section name="Solution 1">
+          <p>
+            Use a recent version of Commons-httpclient, which supports 
+            <link href="ext:commons_httpclient_multipart">sending multipart
+            data</link>. Tobias also has a nice 
+            <link href="ext:commons_httpclient_multipart_tobias">blog 
+            entry</link> describing how to use Java NIO, Commons-httpclient 
+            and Cactus to upload a file.            
+         </p>
+       </section>
+       <section name="Solution 2">
+          <p>
+            Another solution is to use the
+            <link href="ext:httpclient_other">HTTPClient</link>
+            classes from Ronald Tschalar, as demonstrated in the following
+            example:
+         </p>
+
+       <div class="source"><pre>
+               import HTTPClient.Codecs;
+               import HTTPClient.NVPair;
+               .
+               .
+               .
+               NVPair[] hdrs = new NVPair[1];
+               
+               public void beginUpload(WebRequest theRequest)
+               {
+               NVPair[] opts = { new NVPair(&quot;option&quot;, 
&quot;myoption&quot;) };
+               NVPair[] file = { new NVPair(&quot;comment&quot;, 
&quot;/home/alan/src.zip&quot;) };
+               try {
+               byte[] data = Codecs.mpFormDataEncode(opts, file, hdrs);
+               InputStream i = new ByteArrayInputStream(data);
+               theRequest.setUserData(i);
+               theRequest.setContentType(hdrs[0].getValue());
+               i.close();
+               } catch (IOException e) {
+               System.out.println(&quot;Error Building Multipart&quot;);
+               }
+               }
+       </pre></div>
+
+     </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_classcastexception_logfactoryimpl"> I get a 
+          "java.lang.ClassCastException: 
org.apache.commons.logging.impl.LogFactoryImpl" 
+          error when I use a JUnit TestRunner different from TextTestRunner 
</a></dt><dd> 
+           <section name="Question">
+          <p>
+            Cactus tests run fine when I use the JUnit TextTestRunner but 
+            fails with other runners like the SwingTestRunner. I get the
+            following exception:
+         </p>
+       <div class="source"><pre>
+               org.apache.commons.logging.LogConfigurationException:
+               java.lang.ClassCastException: 
org.apache.commons.logging.impl.LogFactoryImpl
+               at 
org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:505)
+               at 
org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:340)
+               at 
org.apache.commons.logging.LogFactory.getLog(LogFactory.java:381)    at
+               
org.apache.cactus.AbstractTestCase.runBare(AbstractTestCase.java:188) 
+       </pre></div>
+
+       </section>
+       <section name="Solution">
+          <p>
+               Check the 
+               <jump href="ext:junit_faq" anchor="running_8">JUnit 
+               FAQ</jump>. Indeed, JUnit uses a special class loader to load 
+               classes that is incompatible with the Commons-Logging 
framework. 
+               Thus you need to put the commons-logging package in the JUnit 
+               <code>excluded.properties</code> file (see the JUnit FAQ).
+                </p>
+               </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_parametrize"> How can I parametrize my Cactus tests? </a></dt><dd> 
+     <section title="Question">
+        <p>
+          I would like to pass some configuration information to my
+          Cactus tests but without having to hardcode them in my tests.
+          Can I do this, and how?
+       </p>
+     </section>
+      <section name="Solution">
+        <p>
+          The easiest solution is to pass dynamic configuration 
+          information as System properties to Cactus. For example, if 
+          you have to pass a username and password as HTTP parameter to
+          your servletfor all your tests and you cannot control your 
+          environment by defining a test user, you could write the 
+          following:
+       </p>
+       <div class="source"><pre>
+               public void MyTest extends ServletTestCase
+               {
+               public void begin(WebRequest request)
+               {
+                       request.addParameter(&quot;username&quot;, 
System.getProperty(&quot;username&quot;));
+                       request.addParameter(&quot;password&quot;, 
System.getProperty(&quot;password&quot;));
+               }
+               [...]
+               }
+       </pre></div>
+        <p>
+          In order to pass the system properties to cactus you have 2 
+          options:
+       </p>
+        <ol>
+          <li>
+            Pass them on the command line that you use to start the JUnit 
+            Test Runner. If you're using the ServletTestRunner, then that 
+            would be on the command line that you use to start your 
+            container.
+         </li>
+          <li>
+            Add these properties in the <code>cactus.properties</code> file.
+            All properties found in this file are imported as System 
+            Properties during the Cactus initialization.
+         </li>
+       </ol>           
+     </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_maintain_session">How do I maintain a Session between 2 Cactus test? 
</a></dt><dd> 
+    <section name="Question">
+        <p>
+          I would like to use the same HTTP Session between several Cactus 
+          tests. How can I do that?
+       </p>
+     </section>
+      <section name="Solution">
+        <p>
+          Cactus is a unit testing framework and not a functional testing 
+          framework. Each test <em>must</em> be independent of the others.
+          There are several reasons for this: tests become very brittle,
+          test order is not guaranteed by the JVM, etc. Thus, before each
+          test you must set the fixture. This can be factorized in the
+          <code>setUp()</code> method or in the Cactus <code>begin()</code>
+          method.
+       </p>
+     </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_eclipse_version"> What version of Eclipse do I need for the 
+          Eclipse plugin? </a></dt><dd> 
+      <p>
+        The Cactus plugin for Eclipse requires Eclipse 2.1 RC2 or greater.
+        It has not yet been tested with Eclipse 3.0.
+     </p>              
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_httpclient_nosuchmethoderror">Why do I get an HttpClient 
+          NoSuchMethodError when running Cactus tests with JBoss 
3.x?</a></dt><dd> 
+    <section name="Question">
+        <p>
+          When running my Cactus tests with JBoss 3.x, I get:
+       </p>
+       <div class="source"><pre>
+               java.lang.NoSuchMethodError: 
+               
org.apache.commons.httpclient.methods.GetMethod.setRequestHeader(
+               Ljava/lang/String;Ljava/lang/String;)V at [...]
+       </pre></div>
+     </section>
+      <section name="Solution">
+        <p>
+          JBoss 3.x bundles an old version of HttpClient and Cactus requires a
+          newer version. Just replace the HttpClient version in JBoss by the
+          one provided by Cactus.
+       </p>
+     </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_load_balancing">Does Cactus work with load-balancers?</a></dt><dd> 
+      <p>
+        Answer: No. For each test, Cactus performs 2 HTTP connections to the
+        Server side: one for executing the test and one to get the test
+        result. The test result is stored in the application scope
+        (Servlet context). Thus, if the load-balancer directs the second
+        HTTP connection to another server instance, the test result will
+        not be correct.
+     </p>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_javascript_assert"> Does Cactus supports asserting HTML pages with 
Javascript? </a></dt><dd> 
+      <p>
+        Cactus provides powerful response assertion through its integration 
+        with HttpUnit. HttpUnit does support asserting page containing 
+        Javascript. However, the Cactus integration with HttpUnit currently 
+        does not support this use case (There's a 
+        <a 
href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=CACTUS-76";>bug</a>
 
+        opened for adding this support).
+     </p> 
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_strutstestcase">I have problems using StrutsTestCase...</a></dt><dd> 
+      <p>
+        <a href="ext:strutstestcase">StrutsTestCase</a> is a project separate 
+        from Cactus. It has its own mailing list/forum. Please post your 
+        questions there.
+     </p>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_https_support">Does Cactus support HTTPS?</a></dt><dd> 
+      <p>
+        No, Cactus doesn't support HTTPS. The reason is that we don't think 
+        it's necessary. Whether you use HTTP or HTTPS should be transparent 
+        to the tested code. And you should run the tests in a test 
+        environment anyway, which doesn't necessarily need to be HTTPS just 
+        because the production environment is. Of course, if you have good 
+        arguments for HTTPS support and a patch, we might change our 
+        collective mind :-)
+     </p>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table><hr /></dd><dt><a 
name="faq_init_servlet">Why is my ServletContext and ServletConfig null in the 
servlet under test?</a></dt><dd> 
+    <section name="Why is my ServletContext and ServletConfig null in the 
servlet under test?">
+      <p>
+        You must initialize the servlet with the implicit cactus config 
+        object (see the 
+        <link href="site:howto_testcase_servlet">ServletTestCase
+        principles</link> documentation for more details). For example:
+     </p>
+       <div class="source"><pre>
+               MyServlet servlet = new MyServlet();
+               servlet.init(config);
+       </pre></div>
+   </section>
+      <table border="0"><tr><td align="right"><a 
href="#top">[top]</a></td></tr></table></dd></dl>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2001-2009
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Propchange: jakarta/site/docs/cactus/faq.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jakarta/site/docs/cactus/favicon.ico
URL: 
http://svn.apache.org/viewvc/jakarta/site/docs/cactus/favicon.ico?rev=1696636&view=auto
==============================================================================
Binary file - no diff available.

Propchange: jakarta/site/docs/cactus/favicon.ico
------------------------------------------------------------------------------
    svn:mime-type = image/x-icon

Added: jakarta/site/docs/cactus/features.html
URL: 
http://svn.apache.org/viewvc/jakarta/site/docs/cactus/features.html?rev=1696636&view=auto
==============================================================================
--- jakarta/site/docs/cactus/features.html (added)
+++ jakarta/site/docs/cactus/features.html Wed Aug 19 17:50:26 2015
@@ -0,0 +1,660 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+
+
+
+
+
+
+
+
+
+
+<html>
+  <head>
+
+
+    <title>Jakarta Cactus - 
+    Features</title>
+    <style type="text/css" media="all">
+      @import url("http://jakarta.apache.org/cactus/css/maven-base.css";);
+      @import url("http://jakarta.apache.org/cactus/css/maven-theme.css";);
+      @import url("http://jakarta.apache.org/cactus/css/site.css";);
+    </style>
+    <link rel="stylesheet" 
href="http://jakarta.apache.org/cactus/css/print.css"; type="text/css" 
media="print" />
+        <meta http-equiv="Content-Type" content="text/html; 
charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+
+
+<div style="background: red"><h1>2011/08/05 - Jakarta Cactus has been retired. 
</h1><h2>For more information, please explore the <a 
href="http://attic.apache.org/";>Attic</a>. </h2></div>
+    <div id="banner">
+                  <a href="" id="bannerLeft">
+    
+                                            <img src="images/logocactus.gif" 
alt="" />
+    
+            </a>
+                        <a href="http://jakarta.apache.org/"; id="bannerRight">
+    
+                                            <img src="images/jakarta-logo.gif" 
alt="" />
+    
+            </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+            <div class="xleft">
+        Last Published: 01/18/2009
+                          |   
+          <a href="http://www.apache.org/";>Apache</a>
+              &gt;
+      
+          <a href="http://www.jakarta.apache.org/";>Jakarta</a>
+              &gt;
+      
+          Cactus
+                        </div>
+            <div class="xright">      
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+                   <h5>About</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="index.html">Overview</a>
+        </li>
+              
+    <li class="none">
+              <a href="goals.html">Goals</a>
+        </li>
+              
+    <li class="none">
+              <strong>Features</strong>
+        </li>
+              
+    <li class="none">
+              <a href="news.html">News</a>
+        </li>
+              
+    <li class="none">
+              <a href="downloads.html">Downloads</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10471";>Bug 
Database</a>
+        </li>
+              
+    <li class="none">
+              <a href="mail-lists.html">Mailing Lists</a>
+        </li>
+              
+    <li class="none">
+              <a href="faq.html">FAQ</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://wiki.apache.org/jakarta-cactus/FrontPage";>Wiki</a>
+        </li>
+              
+    <li class="none">
+              <a href="license.html">License</a>
+        </li>
+          </ul>
+          <h5>Project Documentation</h5>
+        <ul>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="project-info.html">Project Information</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="project-reports.html">Project Reports</a>
+              </li>
+          </ul>
+          <h5>Documentation</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="getting_started.html">Getting started</a>
+        </li>
+              
+    <li class="none">
+              <a href="how_it_works.html">How it works</a>
+        </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="writing/howto_ejb.html">Writing tests</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+                  
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="integration/index.html">Running tests</a>
+              </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="participating/index.html">Participating</a>
+              </li>
+          </ul>
+          <h5>Miscellaneous</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="cactusname.html">Why the name</a>
+        </li>
+              
+    <li class="none">
+              <a href="mock_vs_cactus.html">Mock vs Container</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://wiki.apache.org/jakarta-cactus/TestedOn";>Tested 
On...</a>
+        </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="resources/index.html">Resources</a>
+              </li>
+          </ul>
+          <h5>Translations</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://www.ressources-java.net/cactus";>French</a>
+        </li>
+              
+    <li class="none">
+              <a 
href="http://jakarta.apache-korea.org/cactus/index.html";>Korean</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://www.jajakarta.org/cactus/";>Japanese</a>
+        </li>
+          </ul>
+          <h5>See also</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://www.apachebookstore.com/";>Apache Bookstore</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://www.planetapache.org/";>Planet Apache</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://apache.org/foundation/thanks.html";>Apache 
Sponsors</a>
+        </li>
+          </ul>
+                                             
+                        
+                        
+            <a href="" title="Jakarta Cactus" id="poweredBy">
+                            <img alt="Jakarta Cactus" 
src="images/cactusbanner.gif" />
+            </a>
+                               
+  
+
+  
+    
+  
+  
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+
+  
+
+  
+
+    <a name="Current scope and status of Cactus"></a><div 
class="section"><h2>Current scope and status of Cactus</h2>
+
+      <p>
+        Cactus has the ability to unit test the following kind of components
+        running in a Servlet/EJB container:
+      </p>
+      <p>
+      <img src="images/scope.jpg" alt="Scope and Status"></img>
+      </p>
+      <note>
+        Support for testing the View layer is done through integration
+       with <a href="http://httpunit.sourceforge.net/";>HttpUnit</a>.
+        This is functional unit testing (see the
+       <a href="index.html#unittest_types">What is Cactus</a> 
+        page, for a description of the different kinds of unit tests).
+      </note>
+      <note>
+        EJB unit testing is currently done by calling the EJB to unit test as 
+        you would if you were writing code to call an EJB from a servlet (See
+       the <a href="writing/howto_ejb.html">EJB Howto</a> page for more 
details).
+        We are working on providing an EJB Redirector.
+      </note>
+
+    </div>
+
+    <a name="General design features"></a><div class="section"><h2>General 
design features</h2>
+
+      <ul>
+        <li>
+          Cactus gives you a very good confidence that your code is going
+          to run fine on the server it will be deployed on (thanks to Cactus
+          in-container approach that executes the test <em>inside</em> the
+          container),
+        </li>
+        <li>
+          Cactus let you test container interactions. This is essential
+          in a world where containers are providing more and more
+          features for their components every day,
+        </li>
+        <li>
+          Cactus let you test and automate the deployment process to your
+          server (using powerful Integration Modules with different build 
+          tools and IDEs),
+        </li>
+        <li>
+          Cactus does not mandate any change to your classes to test, although
+          it helps think about writing better code and do some refactoring,
+        </li>
+        <li>
+          Cactus provides a good middle ground in term of test granularity:
+          too fine-grained tests are hard to write (like Mock Objects tests
+          that completely simulates the domain objects and focus exclusively
+          on unit testing your code logic) and need complementary tests. Too
+          coarse-grained tests (like functional tests) are not enough to
+          easily uncover bugs and work in a iterative development process
+          where tests are run very often to ensure everything is working. We
+          believe Cactus provides a good compromise.
+        </li>
+      </ul>
+
+    </div>
+
+    <a name="Detailed feature list"></a><div class="section"><h2>Detailed 
feature list</h2>
+        <img src="images/new.jpg" alt="New in Cactus 1.7"></img><em> = 
+        New in Cactus 1.7</em>
+      <ul>
+        <li>
+          Integrates seamlessly with the JUnit testing framework. Any tool
+          that works with JUnit will work with Cactus because a Cactus test
+          is a JUnit test! See the
+         <a href="writing/howto_testcase.html">TestCase Howto</a>
+          tutorial for details.
+        </li>
+        <li>
+          Provides a <code>ServletTestCase</code> class that your test case
+          can extend for unit testing Servlets or any java classes that
+          make use of Servlet API objects.
+        </li>
+        <li>
+          Provides a <code>JspTestCase</code> class that your test case
+          can extend for unit testing Taglibs or any java classes that
+          make use of JSP API objects. In addition, provides a
+          <code>TestJspTagLifecycle</code> extension to help test JSP Taglibs.
+        </li>
+        <li>
+          Provides a <code>FilterTestCase</code> class that your test case
+          can extend for unit testing Filters or any java classes that
+          make use of Filter API objects.
+        </li>
+        <li>
+          Allows to run existing JUnit Test Case classes on the server side.
+          This is provided by special Cactus TestSuite classes that wrap
+          your existing Test Cases.
+        </li>
+        <li>
+          Ability to unit test EJBs (including local interfaces) by calling
+          them from a <code>ServletTestCase</code>,
+          <code>JspTestCase</code> or <code>FilterTestCase</code> class (see 
+         the <a href="writing/howto_ejb.html">EJB Howto</a>).
+        </li>
+        <li>
+          Extends JUnit by defining two additional (and optional) methods
+          that can be implemented for each test case (i.e. for each
+          <code>testXXX()</code> method): <code>beginXXX()</code> and
+          <code>endXXX()</code>. See the
+         <a href="writing/howto_testcase.html">TestCase Howto</a> tutorial
+          for details.
+        </li>
+        <li>
+          It is possible to set up the following in <code>beginXXX()</code>:
+          <ul>
+            <li>
+              HTTP cookies,
+            </li>
+            <li>
+              Servlet Session Cookie,
+            </li>
+            <li>
+              HTTP parameters (GET and POST),
+            </li>
+            <li>
+              HTTP Headers,
+            </li>
+            <li>
+              Whether an HTTP Session will be created or not on the server 
side,
+            </li>
+            <li>
+              BASIC and Form-based Authentication parameters,
+            </li>
+            <li>
+              Send any data as POST data
+            </li>
+          </ul>
+        </li>
+        <li>
+          It is possible to verify the following in <code>endXXX()</code>:
+          <ul>
+            <li>
+              Returned data (as String or using <code>HttpUnit</code>),
+            </li>
+            <li>
+              Returned cookies,
+            </li>
+            <li>
+              Returned HTTP headers,
+            </li>
+            <li>
+              Returned response code
+            </li>
+          </ul>
+        </li>
+        <li>
+          Handles <code>setUp()</code> and <code>tearDown()</code> methods
+          which work the same as for JUnit except that they are run on the
+          server side before and after calling each <code>testXXX()</code>
+          method
+        </li>
+        <li>
+          Extends JUnit by providing a global <code>begin()</code> and
+          <code>end()</code> which are run on the client side before and 
+          after each test. They are the equivalent of JUnit's 
+          <code>setUp()</code> and <code>tearDown()</code> which are run
+          on the Server side.
+        </li>
+        <li>
+          Provides several Integration Module for easily running Cactus
+          tests:
+          <ul>
+            <li>
+              <em>Ant Integration Module</em>: generic and directly usable 
+              scripts to run Cactus tests (start and stop containers 
+              automatically, package and deploy a Cactify webapp and run the 
+              tests).
+            </li>
+            <li>
+              <em>Browser Integration</em>: It is possible to run Cactus tests
+              from a Browser. Results can be displayed either in XML or in
+              HTML (either server-side XSLT or Browser XSLT for the Browsers 
+              which support it)
+            </li>
+            <li>
+              <em>Maven Integration</em>: Complete end to end Cactus test 
+              automation with minimal setup. It's probably currently the 
easiest
+              way to run Cactus tests (provided you have Maven installed on
+              your machine).
+            </li>
+            <li>
+              Several other integration provided by third parties.
+            </li>
+          </ul>
+        </li>
+        <li>
+          The Ant integration module and the Maven integraton one support the 
+          containers that are currently supported by <a 
href="http://cargo.codehaus.org/";>Cargo</a>.More on how to integrate Cactus and 
Cargo could be found in the <a href="integration/index.html">ingration 
section</a>
+        </li>
+        <li>
+          Tested with all versions of JUnit up to the current one in JUnit SVN.
+        </li>
+        <li>
+          Support for Servlet API 2.2, 2.3 and 2.4 (Support for Servlet API 
2.1 is
+          no longer provided)
+        </li>
+        <li>
+          Works with JDK 1.4+
+        </li>
+        <li>
+          Wraps some of the standard API objects in order to provide
+          additional methods to help write unit tests.
+         See the <a href="writing/howto_testcase.html">TestCase
+          Howto</a> tutorial for details.
+        </li>
+        <li>
+          Internal logging using Jakarta Commons Logging facade framework
+          to help debug problems.
+        </li>
+        <li>
+          HttpUnit integration. See the
+         <a href="writing/howto_httpunit.html">HttpUnit Howto</a> tutorial
+          for details. This enables
+          Cactus to provide strong and integrated functional
+          unit testing features.
+        </li>
+        <li>
+          Uses Jakarta Commons
+         <a 
href="http://jakarta.apache.org/commons/httpclient/";>HttpClient</a> for HTTP
+          connections.
+        </li>
+        <li>
+          Support for BASIC and Form-based authentication methods. You can 
test 
+          code that uses the Servlet security API (see the
+         <a href="writing/howto_security.html">Security Howto</a>).
+        </li>
+        <li>
+          Ability to specify, per test case, what redirector to use. Useful,
+          for example, when you want to test some code that is using the
+          Servlet Security API at the same time as other code that should not
+          be protected.
+        </li>
+        <li>
+          Provides a <code>JettyTestSetup</code> JUnit TestSetup class to
+          automatically start Jetty before a test suite starts executing.
+          (* Jetty integration works with version 5.0 of Jetty)
+        </li>
+        <li>
+          Provide a sample application that demonstrates how to write Cactus
+          tests for Servlet, Taglibs and Filters. It also show how to use the 
+          Ant Integration Module to automate the full process.
+        </li>
+        <li>
+          Provide a sample application that demonstrates how to use the 
+          <code>JettyTestSetup</code> feature to run Cactus tests.
+        </li>
+        <li>
+          Provide a sample application that demonstrates how to write Cactus
+          tests for EJBs. It also show how to use the Ant Integration Module
+          to automate the full process.
+        </li>
+        <li>
+          Supports internationalization.
+        </li>
+      </ul>
+    </div>
+
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2001-2009
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Propchange: jakarta/site/docs/cactus/features.html
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to