`
17studio
  • 浏览: 194461 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

无jsp container单元测试jsp

阅读更多

1. 下载tomcat 4.1

2. 把servlet.jar, jasper-compiler.jar, jasper-runtime.jar拷贝出来

3. 按下面编写ant文件

    需要注意的是,jsp.class的输出路径和jsp.src的路径,要对应起来

xml 代码
  1. <project name="cgmaster" default="all" basedir=".">    
  2.   <property name="devlib.path" value="../devlib"/>  
  3.   <property name="runlib.path" value="../lib"/>  
  4.   <property name="output.path" value="../build/temp"/>  
  5.   <property name="webapp.path" value="../web"/>  
  6.   <property name="src.path" value="../src"/>  
  7.   
  8.   <target name="help">  
  9.       <java classname="org.apache.jasper.JspC">  
  10.           <classpath id="jspc.classpath">  
  11.             <pathelement location="${java.home}/../lib/tools.jar"/>  
  12.             <fileset dir="${devlib.path}">  
  13.               <include name="*.jar"/>  
  14.             fileset>    
  15.           classpath>  
  16.       java>  
  17.   target>  
  18.   
  19.   <target name="jspc">    
  20.   
  21.     <taskdef classname="org.apache.jasper.JspC" name="jasper2" >    
  22.       <classpath id="jspc.classpath">    
  23.         <pathelement location="${java.home}/../lib/tools.jar"/>    
  24.         <fileset dir="${devlib.path}">  
  25.           <include name="*.jar"/>    
  26.         fileset>    
  27.       classpath>    
  28.     taskdef>    
  29.   
  30.     <jasper2    
  31.              validateXml="false"    
  32.              uriroot="${webapp.path}"    
  33.              webXmlFragment="${output.path}/generated_web.xml"    
  34.              outputDir="${src.path}" />    
  35.   
  36.   target>    
  37.   
  38.   <target name="compile">  
  39.   
  40.     <javac destdir="${output.path}"  
  41.            optimize="off"  
  42.            debug="on" failonerror="false"  
  43.            srcdir="${output.path}/jspsrc"  
  44.            excludes="**/*.smap">  
  45.       <classpath>  
  46.         <pathelement location="${webapp.path}/WEB-INF/classes"/>  
  47.         <fileset dir="${runlib.path}">  
  48.           <include name="*.jar"/>  
  49.         fileset>  
  50.         <fileset dir="${devlib.path}">  
  51.           <include name="*.jar"/>  
  52.         fileset>  
  53.       classpath>  
  54.       <include name="**" />  
  55.       <exclude name="tags/**" />  
  56.     javac>  
  57.   
  58.   target>  
  59.   
  60.   <target name="all" depends="jspc,compile">  
  61.   target>  
  62.   
  63. project>  
  64.   

<project basedir="." default="all" name="cgmaster"></project>

4. 编写测试用例

java 代码
  1. package com.mystudio.gmaster;   
  2.   
  3. import junit.framework.TestCase;   
  4. import com.meterware.servletunit.InvocationContext;   
  5. import com.meterware.servletunit.ServletRunner;   
  6. import com.meterware.servletunit.ServletUnitClient;   
  7. import com.meterware.httpunit.GetMethodWebRequest;   
  8. import com.meterware.httpunit.WebRequest;   
  9. import com.meterware.httpunit.WebResponse;   
  10.   
  11. import javax.servlet.http.HttpServletRequest;   
  12. import javax.servlet.http.HttpServletResponse;   
  13.   
  14. import cgmaster.index_jsp;   
  15.   
  16. public class TestServletUnit extends TestCase {   
  17.   
  18.     private InvocationContext ic = null ;   
  19.   
  20.     protected void setUp() throws Exception {   
  21.         ServletRunner sr = new ServletRunner();   
  22.         sr.registerServlet("index", index_jsp.class.getName());   
  23.         ServletUnitClient sc = sr.newClient();   
  24.         WebRequest request = new GetMethodWebRequest("http://localhost/index");   
  25.         ic = sc.newInvocation(request);   
  26.     }   
  27.   
  28.     public void testJspC() throws Exception {   
  29.   
  30.         HttpServletRequest re = ic.getRequest();   
  31.         HttpServletResponse rq =  ic.getResponse();   
  32.   
  33.         index_jsp is = (index_jsp) ic.getServlet();   
  34.         is._jspService(re,rq);   
  35.   
  36.         WebResponse response = ic.getServletResponse();   
  37.         System.out.println( response.getText() );   
  38.     }   
  39. }   

5. 参考

http://www.blogjava.net/Good-Game/archive/2007/11/02/157794.html

分享到:
评论

相关推荐

    JSP实例编程100例

    3、取得 JSP Container 版本 34、javax.servlet.jsp.JspWriter - out 对象 35、page 隐含对象 36、application 对象 37、PageContext 对象 38、Page范围 - pageContext 39、测试要显示的中文 40、IF控制符的操作 41...

    深入JSP网络编程(PDG)

    讲述了怎样利用J5P构建...第三部分是继承者,包括指南、Java基础、JSP基本语法、servlet及其API、内部对象、JSP container、JsP核心API。第四部分是集成者.包括JDBC、JavaBeans、Applet、XML。第五部分是综合应用。

    深入JSP网络编程(PDG).rar

    软件介绍 讲述了怎样利用J...第三部分是继承者,包括指南、Java基础、JSP基本语法、servlet及其API、内部对象、JSP container、JsP核心API。第四部分是集成者.包括JDBC、JavaBeans、Applet、XML。第五部分是综合应用。

    jsp作业实现用户注册验证的功能

    &lt;div id="home" class="container"&gt; &lt;form id="signupForm" method="post" action="success.jsp"&gt; ; height: 26px; width: 1000px;"&gt; style="width: 100px; float: left; margin-top: 6px;margin-...

    JSP语法_Implicit_ExpressionLanguage_JSTL.pdf

    JSP 网页主要分为Elements 与Template Data 两部分。 Template Data:JSP Container 不处理的部分,...Elements:必须经由JSP Container 处理的部分,而大部分Elements 都以XML 作为语法基础, 并且大小写必须要一致。

    jsp+ext4(js部分由Ext Designer生成)

    *本例子是简单的实现了一下jsp+ex4的使用,引用了: Ext.form.Panel Ext.data.Model Ext.data.Store Ext.container.Viewport .... 希望能给初学者一点启示吧。 如果有不明白的请我QQ:243596252;时间允许我会帮助...

    .loader-container {

    .loader-container { height: 6px; width: 600px; position: absolute; top: 50%; left: 50%; margin-top: -3px; margin-left: -300px; background-color: transparent; background-image: -webkit-linear-...

    JSP Simple Examples

    A directive is a way to give special instructions to the container at page translation time. The page directive is written on the top of the jsp page. Html tags in jsp In this example we have used ...

    Tomcat下发布JSP程序的N种方法

    JSP网站的发布最灵活的一种方式我们可以在Tomcat的conf目录下的的Servlet.xml文件中进行配置 在其Host标签内新建一个Context标签来部置一个JSP应用程序,如果在这里部置后,那我们就不需要再把 你的作品拿到...

    jsp连接池成功之例

    数据库连接池配置 &lt;br&gt;环境:...connector-java-5.0.5-bin.jar D:\Tomcat5\common\lib\mysql-connector-java-5.0.5-bin.jar(不是必须的) &lt;br&gt;4)D:\web\WebRoot\ mysql_JNDI.jsp &lt;br&gt; 最后运行: ...

    JSP 自定义标签

    称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。 JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面。 JSP 2.0规范中引入Simple Tag Handlers来编写这些自定义标记。 你...

    部署Servlet需要的apache-tomcat-5.5.20.7z

    部署Servlet需要的apache-tomcat-5.5.20.7z

    Head First Servlets and JSP 英文原版

    Learn how to write servlets and JSPs, what makes a web container tick (and what ticks it off), how to use JSP's Expression Language (EL for short), and how to write deployment descriptors for your web...

    学生选课系统学年设计(jsp,servlet,mysql,tomcat)

    &lt;Resource name="zk" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="(此处填你的数据库用户名)" password="(此处填你的数据库密码)" driverClassName...

    EL AND JSTL概述

    EL 全名为Expression Language,它原本是JSTL 1.0为方便...假若您所用的Container 只支持Servlet 2.3/JSP 1.2,如:Tomcat 4.1.29,您就不能在JSP 网页中直接使用EL,必须安装支持Servlet 2.4 / JSP 2.0 的Container

    EL基本手册

    EL全名为ExpressionLanguage,它原本是JSTL1.0为方便存取数据...假若您所用的Container只支持Servlet 2.3/JSP1.2,如:Tomcat 4.1.29,您就不能在JSP网页中 直接使用EL,必须安装支持Servlet 2.4 / JSP2.0的Container。

    JSP自定义标签入门学习

    当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面。 ...

    Servlets和JSP核心技术 卷2(英文版) 第二部分

    Servlets和JSP核心技术 卷2 内容还是很详细的,看过卷1的人可以继续用这本书深造,呵呵 目录: Chapter 1. Using and Deploying Web Applications Section 1.1. Purpose of Web Applications Section 1.2. ...

Global site tag (gtag.js) - Google Analytics