`
17studio
  • 浏览: 199935 次
  • 性别: 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详细显示一排图片

    然后在JSP页面中创建一个类名为`img-container`的div,将图片包裹其中: ```jsp &lt;div class="img-container"&gt; ${pageContext.request.contextPath}/images/image1.jpg" alt="图片1描述"&gt; ${pageContext.request....

    JSP2_0技术手册和代码

    - **调试与测试**:学习如何使用IDE(如Eclipse或IntelliJ IDEA)中的JSP调试工具,以及单元测试框架(如JUnit)对JSP进行测试。 通过深入学习《JSP2.0技术手册》并实践其中的代码示例,开发者可以快速掌握JSP2.0的...

    JSP PPT课件 JSP PPT课件

    8. **Web容器(Web Container)**:如Tomcat、Jetty等,它们负责JSP的运行和管理,提供Servlet API支持。 通过这个JSP PPT课件的学习,你可以掌握创建动态Web页面的基本技能,理解JSP的工作机制,并能够运用这些...

    JSP留言板 配置数据库 JSP设计

    &lt;Resource name="jdbc/Andy" auth="Container" type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver" url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=your_...

    asp.net;php;jsp测试虚拟主机源代码

    要运行JSP应用,虚拟主机需要支持Java运行环境,包括Java Development Kit (JDK) 和Java Servlet Container(如Tomcat)。 要测试虚拟主机是否支持这些技术,通常需要将包含特定测试代码的网页或应用程序上传到...

    JSP页面使用百度地图定位

    在IT行业中,Web开发是一项关键任务,而JSP(JavaServer Pages)作为Java平台上的动态网页技术,常常被用于构建交互式的Web应用。本篇将深入讲解如何在JSP页面中结合SpringMVC框架,利用百度地图API实现地理位置的...

    jsp配置文件设定

    对于JPA,你需要在`persistence.xml`文件中定义实体和持久化单元,然后通过EntityManager来操作数据。这种方式更加面向对象,减少了与数据库交互的低级细节。 在`commonmisv1.0`这个压缩包文件中,可能包含了某个...

    java-JSP.zip

    9. **容器(Container)**:如Tomcat、Jetty等,它们提供运行JSP和Servlet的环境,负责解析JSP页面、管理Servlet的生命周期以及处理HTTP请求。 10. **JSP与Servlet的关系**:JSP可以看作是Servlet的简化版,主要...

    jsp实时监测数据库变化

    JSP(JavaServer Pages)是一种基于Java的服务器端脚本语言,常用于创建交互式网页。结合CSS(Cascading Style Sheets)进行样式设计,JavaScript进行前端交互,以及MySQL作为后台数据库,可以构建出一个实时响应...

    jsp+servlet模板

    **文件名称列表**中提到的“MSC”可能是项目中的一部分,可能代表“Model-Service-Controller”或者“Main Servlet Container”,具体含义可能需要查看源代码来确定。在实际开发中,MSC可能包含了核心的Servlet类、...

    jsp空间使用手册

    ### JSP空间使用手册 #### 一、简介 本文档旨在详细介绍如何将Web应用程序上传至JSP空间,并对其进行有效的管理和使用。JSP空间是指一种专门用于托管Java Server Pages(JSP)应用程序的服务平台,它提供了运行...

    jquery分页插件结合jsp实例

    在`getData.jsp`中,你需要根据`currentPage`参数查询数据库并返回相应页的数据,然后这部分数据会被填充到页面的`&lt;div id="data-container"&gt;`中。 最后,为了优化用户体验,可以考虑添加一些额外的功能,如禁用...

    深入JSP网络编程(PDG)

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

    Java,JSP项目

    10. **容器管理的持久性(Container Managed Persistence,CMP)**:在JavaEE环境中,容器如Tomcat或Glassfish可以管理对象的生命周期和持久化。 11. **Web.xml配置**:作为部署描述符,`web.xml`文件包含了应用的...

    jsp连接MySQL用连接池方式步骤

    // 测试连接 public static void main(String[] args) { if (DBHelper.getConn() != null) { System.out.println("Database connection established successfully."); } else { System.out.println("Failed to ...

    基于jsp页面的拖拽功能

    本主题聚焦于如何在基于JavaServer Pages (JSP) 的网页中实现这一功能。JSP是一种动态网页技术,它允许开发人员将Java代码嵌入到HTML或XML文档中,从而创建交互式、数据驱动的网页应用。 拖拽功能的核心在于...

    jsp中ajax请求生成highcharts 的案例

    JSP(JavaServer Pages)是Java的一种Web开发技术,常用于动态网页的生成。在JSP中结合Ajax(Asynchronous JavaScript and XML)技术,可以实现页面的局部刷新,提高用户体验。本案例主要讨论如何在JSP中利用Ajax...

Global site tag (gtag.js) - Google Analytics