You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cactus-user@jakarta.apache.org by Jason Novotny <no...@aei.mpg.de> on 2003/03/31 16:40:13 UTC
adding cactus to my webapp
Hi,
I'm trying to configure my webapp to work with Cactus and I read the
docs and looked at the samples which I'm trying to use for my project. I
have a GridSphereServlet which is my gridsphere webapp. Normally this
gets invoked by a user when they go to
http://127.0.0.1:8080/gridsphere/gridsphere
So what I've done is add these lines to web.xml
<servlet>
<servlet-name>Redirect</servlet-name>
<jsp-file>/jsp/redirect.jsp</jsp-file>
</servlet>
<servlet>
<servlet-name>ServletRedirector</servlet-name>
<servlet-class>org.apache.commons.cactus.server.ServletTestRedirector</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletRedirector</servlet-name>
<url-pattern>/ServletRedirector</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JspRedirector</servlet-name>
<url-pattern>/JspRedirector</url-pattern>
</servlet-mapping>
Then I have a GridSphereTests which extends ServletTestCase instantiates
my servlet and performs some tests as follows:
public static Test suite() {
URL propsUrl =
GridSphereTests.class.getResource("/gridsphere/log4j.properties");
PropertyConfigurator.configure(propsUrl);
// Instantiate the class to test
GridSphereServlet servlet = new GridSphereServlet();
TestSuite suite = new TestSuite();
suite.addTest(new TestSuite(PortletDescriptorTest.class));
suite.addTest(new TestSuite(ServiceDescriptorTest.class));
....
return suite;
}
Now I'm trying to add the necessary stuff in my build.xml to get it all
working together.
I added start and stop Tomcat tasks in my build.xml taken from the samples--
<!--
========================================================================
Start Tomcat 4.1
========================================================================
-->
<target name="start_tomcat_41">
<java classname="org.apache.catalina.startup.Bootstrap" fork="yes">
<jvmarg value="-Dcatalina.home=${tomcat.home.41}"/>
<arg value="-config"/>
<arg value="${out.tomcat41.full.dir}/conf/server.xml"/>
<arg value="start"/>
<classpath>
<pathelement location="${java.home}/../lib/tools.jar"/>
<fileset dir="${tomcat.home.41}">
<include name="bin/bootstrap.jar"/>
<include name="server/catalina.jar"/>
</fileset>
</classpath>
</java>
</target>
<!--
========================================================================
Stop Tomcat 4.1
========================================================================
-->
<target name="stop_tomcat_41">
<java classname="org.apache.catalina.startup.Bootstrap" fork="yes">
<jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}"/>
<arg value="stop"/>
<classpath>
<fileset dir="${env.CATALINA_HOME}">
<include name="bin/bootstrap.jar"/>
<include name="server/lib/catalina.jar"/>
</fileset>
</classpath>
</java>
</target>
And now I want to just use <junt> tasks instead of the specialized
cactus ant tasks--- something like:
<junit printsummary="yes" fork="yes" haltonfailure="no">
<classpath>
<path refid="classpath"/>
<pathelement
location="${gridsphere.build}/lib/gridsphere.jar"/>
</classpath>
<test name="org.gridlab.gridsphere.GridSphereTests"
todir="${gridsphere.build}/reports">
<formatter type="xml"/>
</test>
</junit>
And then I have a cactus.properties in my
webapps/gridsphere/WEB-INF/classes that looks like:
cactus.servletRedirectorURL =
http://127.0.0.1:8080/gridsphere/ServletRedirector
cactus.jspRedirectorURL = http://127.0.0.1:8080/gridsphere/JspRedirector
Is everything correct here?
Thanks a lot, Jason