<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    不使用容器 進行 測試 jsp

    Posted on 2007-11-02 17:11 G_G 閱讀(1234) 評論(0)  編輯  收藏 所屬分類: JUnit
    參照:容器外的JSP頁面測試技術
    由于上面給出例 復雜 。一般人很難理解。我也是 ^_^
    但仔細看我還是自己寫出一個比較簡單的,望大家一起討論。

    被測試jsp
    <%@?taglib?prefix="html"?uri="/WEB-INF/struts-html.tld"?%>
    <%@?taglib?prefix="c"?uri="/WEB-INF/c-1_0-rt.tld"?%>
    <html:html>
    ????
    <c:if?test="${name?!=?pass}">
    ???????${name}??
    <br>
    ???????${pass}?
    <br>
    ??? ?? <!-- <html:text property="in" ></html:text> -->
    ????</c:if>
    </html:html>





    ant直接把他放在 eclipes 工程的根目錄下 build.xml
    ???
    但有有3個參數要設置 tomcat.home? Tomcat 的地址
    ??? ??? ??? ??? ??? ??? webapp.path 工程中的根目錄,下面有WEB-INF
    ??? ??? ??? ??? ??? ??? src 原代碼 (到時候jsp會翻譯成.java
    ??? ??? ??? ??? ??? ??? ??? ??? ??? 到這個目錄的 org.apache.jsp.jsp 下)
    <project?name="Webapp?Precompilation"?default="all"?basedir=".">?

    ??
    <!--?tomcat?dir?-->
    ??
    <property?name="tomcat.home"?value="D:\Tomcat?5.0"/>
    ??
    ??
    <!--?this=..//WEB-INF?(in?eclipes)??-->
    ??
    <property?name="webapp.path"?value=".\WebRoot"/>
    ??
    <!--?src?(in?eclipes)?-->
    ??
    <property?name="src"?value="./src"/>

    ??
    <target?name="jspc">?
    ????
    <taskdef?classname="org.apache.jasper.JspC"?name="jasper2"?>?
    ??????
    <classpath?id="jspc.classpath">?
    ????????
    <pathelement?location="${java.home}/../lib/tools.jar"/>?
    ????????
    <fileset?dir="${tomcat.home}/bin">?
    ??????????
    <include?name="*.jar"/>?
    ????????
    </fileset>?
    ????????
    <fileset?dir="${tomcat.home}/server/lib">?
    ??????????
    <include?name="*.jar"/>?
    ????????
    </fileset>?
    ????????
    <fileset?dir="${tomcat.home}/common/lib">?
    ??????????
    <include?name="*.jar"/>?
    ????????
    </fileset>?
    ??????
    </classpath>?
    ????
    </taskdef>?

    ????
    <jasper2?
    ?????????????
    validateXml="false"?
    ?????????????uriroot
    ="${webapp.path}"?
    ?????????????webXmlFragment
    ="${webapp.path}/WEB-INF/generated_web.xml"?
    ?????????????outputDir
    ="${src}"?/>?
    ??
    </target>

    ??
    <target?name="compile">

    ????
    <mkdir?dir="${webapp.path}/WEB-INF/classes"/>
    ????
    <mkdir?dir="${webapp.path}/WEB-INF/lib"/>

    ????
    <javac?destdir="${webapp.path}/WEB-INF/classes"
    ???????????optimize
    ="off"
    ???????????debug
    ="on"?failonerror="false"
    ???????????srcdir
    ="${src}"?
    ???????excludes
    ="**/*.smap">
    ??????
    <classpath>
    ????????
    <pathelement?location="${webapp.path}/WEB-INF/classes"/>
    ????????
    <fileset?dir="${webapp.path}/WEB-INF/lib">
    ??????????
    <include?name="*.jar"/>
    ????????
    </fileset>
    ????????
    <pathelement?location="${tomcat.home}/common/classes"/>
    ????????
    <fileset?dir="${tomcat.home}/common/lib">
    ??????????
    <include?name="*.jar"/>
    ????????
    </fileset>
    ????????
    <pathelement?location="${tomcat.home}/shared/classes"/>
    ????????
    <fileset?dir="${tomcat.home}/shared/lib">
    ??????????
    <include?name="*.jar"/>
    ????????
    </fileset>
    ????????
    <fileset?dir="${tomcat.home}/bin">?
    ??????????
    <include?name="*.jar"/>?
    ????????
    </fileset>?
    ??????
    </classpath>
    ??????
    <include?name="**"?/>
    ??????
    <exclude?name="tags/**"?/>
    ????
    </javac>

    ??
    </target>

    ??
    <target?name="all"?depends="jspc,compile">
    ??
    </target>

    ??
    <target?name="cleanup">
    ??????
    <delete>
    ????????
    <fileset?dir="${webapp.path}/WEB-INF/src"/>
    ????????
    <fileset?dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/>
    ??????
    </delete>
    ??
    </target>

    </project>

    TEST
    package?jetty.test.supper;


    import?javax.servlet.http.HttpServletRequest;
    import?javax.servlet.http.HttpServletResponse;

    import?org.apache.jsp.jsp.MyJsp_jsp;

    import?com.meterware.httpunit.GetMethodWebRequest;
    import?com.meterware.httpunit.WebRequest;
    import?com.meterware.httpunit.WebResponse;
    import?com.meterware.servletunit.InvocationContext;
    import?com.meterware.servletunit.ServletRunner;
    import?com.meterware.servletunit.ServletUnitClient;

    import?junit.framework.TestCase;

    public?class?JSPCTest?extends?TestCase{
    ????
    private?InvocationContext?ic?=?null?;

    ????
    protected?void?setUp()?throws?Exception?{
    ????????ServletRunner?sr?
    =?new?ServletRunner();
    ???????????
    //?向環境中注冊 jsp
    ????????sr.registerServlet("HelloWorld",?MyJsp_jsp.class.getName());
    ????????ServletUnitClient??sc?
    =?sr.newClient();
    ????????WebRequest?request?
    =?new?GetMethodWebRequest("http://localhost/HelloWorld");
    ?????????ic?
    =?sc.newInvocation(request);

    ????}
    ????
    ????
    public?void?testJspC()?throws?Exception{
    ????????HttpServletRequest?re?
    =??ic?.getRequest();
    ????????HttpServletResponse?rq?
    =??ic.getResponse();
    ????????re.setAttribute(
    "name","liukaiyi");
    ????????re.setAttribute(
    "pass","123456");
    ????????
    ????????MyJsp_jsp?is?
    =?(MyJsp_jsp)?ic.getServlet();
    ????????is._jspService(re,rq);
    ????????
    ????????WebResponse?response?
    =?ic.getServletResponse();
    // 輸出
    ????????System.out.println(?response.getText()?);
    ????????
    ????}
    }

    結果是
    <html>
    ????
    ???????liukaiyi??
    <br>
    ???????123456?
    <br>
    ????
    ????
    </html>

    后面用 HttpUnit 和 HtmlUnit 測試就不用我說了把 網上一大把。




    主站蜘蛛池模板: 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 男女一进一出抽搐免费视频| 国产A在亚洲线播放| 91免费国产自产地址入| 蜜芽亚洲av无码一区二区三区| 久久久久亚洲爆乳少妇无 | 久视频精品免费观看99| 亚洲国产欧美国产综合一区| 亚洲一区二区三区国产精品| 67194国产精品免费观看| 亚洲AV成人一区二区三区观看| 亚洲色成人网站WWW永久| 四虎永久在线观看免费网站网址 | 特级做a爰片毛片免费看| 亚洲视频手机在线| 免费大学生国产在线观看p| 一区二区三区在线免费看 | 最近中文字幕无吗免费高清| 三级黄色片免费看| 亚洲欧美熟妇综合久久久久| 亚洲Av无码精品色午夜 | 亚洲欧美熟妇综合久久久久| 亚洲VA中文字幕无码一二三区| 巨胸喷奶水视频www网免费| 二个人看的www免费视频| 2019亚洲午夜无码天堂| 精品亚洲综合在线第一区| 日韩一品在线播放视频一品免费| 久久精品一区二区免费看| 免费中文字幕视频| 亚洲欧洲国产综合AV无码久久| 亚洲黑人嫩小videos| 国产亚洲精品不卡在线| 日韩高清在线高清免费| 成年人免费的视频| 久久久久久国产精品免费免费男同 | 久久九九AV免费精品| 免费一级毛片在线播放视频免费观看永久| 亚洲免费在线观看视频| 亚洲国产综合精品中文第一区| 久久99亚洲综合精品首页|