cactus的学习笔记(一)
最近开始针对Junit测试框架进行深入地学习。我来说说我使用cactus来测试的第一个servlet的实例吧。其中有许多的不理解,望大家不吝指教。
第一步,我到http://jakarta.apache.org官网上下载cactus-1.8.1-bin和cactus-1.8.1-src至本地,并解压到某一目录。
第二步,我打开源文件,找到其中的实例SampleServlet.java与TestSampleServlet.java两个源文件,开始照着写。
第三步,我看cactus项目的web.xml和cactus-web.xml配置文件,有许多地方没弄明白,如下:
<!-- 问题一:下面这个servlet配置的作用是什么?主要应用在哪里? --> <servlet> <servlet-name>ServletRedirector_TestOverride</servlet-name> <servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class> <init-param> <param-name>param2</param-name> <param-value>value2 used for testing</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>ServletRedirector_TestOverride</servlet-name> <url-pattern>/ServletRedirectorOverride</url-pattern> </servlet-mapping> <!-- 问题二:为什么cactus的配置文件中并没有配置下面这个servlet? --> <servlet> <servlet-name>ServletTestRunner</servlet-name> <servlet-class>org.apache.cactus.server.runner.ServletTestRunner</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletTestRunner</servlet-name> <url-pattern>/ServletTestRunner</url-pattern> </servlet-mapping> <!--问题三:为什么配置下面这个servlet?它的作用是什么?--> <servlet> <servlet-name>ServletRedirector_TestOverride</servlet-name> <servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class> <init-param> <param-name>param2</param-name> <param-value>value2 used for testing</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>ServletRedirector_TestOverride</servlet-name> <url-pattern>/ServletRedirectorOverride</url-pattern> </servlet-mapping>
因为第一次照着官网的源文件写代码,这个示例我一开始并未能运行成功,但之后从网上看了别人的关于cactus的示例,总算运行成功了。其中因为报错,又下载了两个jar包(commons-codec-1.4.jar、commons-el.jar)。我的运行环境是:eclipse3.3.x + junit 4.8 + cactus 1.8.1 + tomcat 6.0.20 + jdk 1.5.0.在此附上我的源程序,望大家指点。
刚才看了官方文档,才发现真得很简单哦!呵呵。http://jakarta.apache.org/cactus/integration/howto_tomcat.html