下载地址:
下载地址1资源简介:
中文名: Java极限编程原名: Java Tool for Extreme Programming作者: Richard HightowerNicholas Lesiecki译者: 唐一丁蔡永航图书分类: 软件资源格式: PDF版本: 扫描版出版社: 机械工业出版社书号: ISBN:7111131045发行时间: 2004年01月01日地区: 美国语言: 简体中文简介: 内容简介本书通过介绍一系列开源Java开发工具和生动的实例,描述如何用极限编程(eXtreme Programming)理论指导具体的开发行为,从而使Java开发更加灵活、高效、低成本。 本书主要讲述J2EE和极限编程的基础,重点介绍如何掌握极限编程过程中最难的部分:测试、整合和部署。全书以基础开篇,接着辅以范例并对著名的宠物商店范例进行功能性剖析。在了解了各个工具的概念后,作者介绍了测试的实践,一步一步指导读者掌握极限编程开发的技术要点。 本书内容丰富、详实、生动,适合作为Java软件开发人员的参考书。 考虑到富有经验的Java程序员的需要,本书首先简短介绍极限编程方法及技术,随后探究本书始终沿用的一个应用程序范例来体验工具的作用和开发活动中的实践。作者在介绍每一个工具时都提供关键概念的描述以及代码范例,并一步一步带领读者掌握极限编程开发方面的技术。 本书覆盖了以下极限编程的主题: 自动单元测试和功能测试 通过自动构建和自动部署进行持续整合 重构和持续整合的价值 如何用Ant、JUnitPerf、Cactus,HTTPUnit和JMeter来实现极限编程中的目标相关的网站包含以下内容: 本书中涉及的范例代码 极限编程软件工具的升级版本 实用的极限编程站点链接 软件界信奉的哲学是“不变则亡”。极限编程为敏捷地应对软件开发中的各种变化提供了全新思路,本书是Richard Hightower和Nicholas Lesiecki关于极限编程(Extreme Programming)的创新之作, 讲述了这种能使开发人员快速、有效、低成本地创建灵活高效软件的方法论、本书将为您演示如何使用开源(Open Source)Java开发工具实现Java开发中的极限编程方法, 并使大家掌握极限编程中最复杂的开发过程:测试、整合及部署。 内容截图 目录: 译者序致谢作者简介前言第一部分 关键概念介绍第1章 Extreme Programming介绍 21.1 极限编程概览 21.1.1 极限编程开发方法的四大价值 21.1.2 极限编程的五个原则 31.2 极限编程的12个实践原则 51.2.1 计划的制定 51.2.2 小版本 51.2.3 简单设计 61.2.4 测试 61.2.5 持续整合 61.2.6 重构 71.2.7 配对编程 71.2.8 代码共享 81.2.9 每周只工作40小时 91.2.10 现场客户 91.2.11 隐喻 91.2.12 编码标准 91.3 采用极限编程吗 91.4 小结 10第2章 J2EE 部署 122.1 概述 122.2 JAR文件 142.2.1 JAR文件和applet 142.2.2 可执行的JAR文件 152.3 Web应用程序和WAR文件 162.4 EJB和EJB JAR文件 182.5 企业级应用程序和EAR文件 212.6 小结 21第3章 应用程序范例 233.1 概述 233.2 简单范例:基于Model2的HelloWorld 233.3 范例:宠物商店 243.4 宠物商店的最初版本 253.4.1 model类(公共的接口) 253.4.2 dbmodel类(实现) 263.4.3 数据库模型 273.4.4 Web接口 283.4.5 构建系统 313.5 用测试数据设置数据库:Ant小试牛刀 343.6 完整的代码清单 393.6.1 model包的完整代码清单 393.6.2 dbmodel包的完整代码清单 433.6.3 test包的完整代码清单 493.6.4 JSP和Web.xml的完整代码清单 553.7 小结 60第二部分 掌握工具第4章 使用Ant进行持续整合 624.1 概述 624.2 Ant使用基础 634.3 标准目标 654.3.1 简单的范例 654.3.2 使用特性一起运作 674.3.3 路径设置和fileset设置 684.3.4 条件性目标 704.3.5 使用过滤器 724.3.6 嵌套构建 734.4 小结 73第5章 使用Ant建立Java应用程序 755.1 概述 755.2 Hello World Model项目 755.2.1 model类概览 765.2.2 为Model建立项目目录结构 775.2.3 为共享类库建立构建文件 775.2.4 model项目构建文件的分析 785.2.5 运行Ant构建文件 815.3 Hello World应用程序项目 825.3.1 应用程序的Java类概览 825.3.2 为应用程序建立项目目录结构 835.3.3 为独立应用程序建立清单文件 835.3.4 为独立应用程序建立Ant构建文件 835.4 Hello World主项目 865.4.1 建立主构建文件 865.4.2 关于主构建文件的分析 875.5 applet项目 885.5.1 applet类概览 885.5.2 为applet程序建立构建文件 915.5.3 使用Ant构建applet程序 925.6 Hello World 功能翻新 935.7 小结 93第6章 使用Ant建立J2EE应用程序 946.1 概述 946.2 Hello World 946.3 Web应用程序项目 956.3.1 Web应用程序项目的目录结构 956.3.2 HelloWorldServlet.java 966.3.3 HelloWorldServlet分析 976.3.4 HelloWorld.jsp 986.3.5 HelloWorld Web应用程序的部署描述符 986.3.6 HelloWorld Web应用程序的构建文件 996.3.7 构建和部署Web应用程序 1056.3.8 运行Web应用程序 1076.3.9 HelloWorld.jsp applet 传递 1086.3.10 在WAR文件中包含applet 1096.4 企业级JavaBean 1106.4.1 企业级Bean项目的目录结构 1106.4.2 HelloWorld实体Bean 1116.4.3 会话Bean 1136.4.4 Shadow代理Bean 1166.4.5 企业级JavaBean部署描述符 1186.4.6 企业级Bean的构建文件 1206.4.7 企业级Bean构建文件的分析 1236.4.8 在Web应用程序构建文件中定义ejb特性 1256.4.9 运行构建文件 1266.5 EAR 企业级应用程序 1276.5.1 HelloWorld主项目构建文件 1276.5.2 企业级应用程序构建文件的分析 1296.5.3 企业应用程序部署描述符 1316.6 宠物商店案例学习 1326.7 小结 134第7章 使用JUnit进行单元测试 1367.1 JUnit概述 1377.1.1 编写一个测试案例 1387.1.2 使用Ant整合JUnit 1437.2 案例研究:在宠物商店案例中加入实体Bean 1497.2.1 现有的JUnit测试概述 1497.2.2 在宠物商店案例中加入EJB 1577.2.3 建立一个Ant构建文件用以部署我们的实体Bean 1697.2.4 修改Test构建文件用以测试我们的实体Bean 1757.2.5 学习案例的小结 1777.3 小结 177第8章 使用Cactus测试容器服务 1788.1 概述 1788.2 为什么要做容器内测试 1788.2.1 隔离测试:模拟对象 1788.2.2 上下文测试:整合测试 1798.2.3 一个混合手法 1808.3 为什么使用Cactus 1808.4 安装Cactus 1818.4.1 服务器端安装 1828.4.2 客户端安装 1838.4.3 一个简单的范例 1848.5 Cactus系统架构 1858.5.1 开始执行 1858.5.2 beginXXX()方法 1868.5.3 调用转向器Servlet 1868.5.4 服务器端安装 1868.5.5 服务器端执行 1878.5.6 结果集合和后处理 1878.6 编写Cactus测试 1888.6.1 被测试的代码 1888.6.2 继承适当的类 1908.6.3 beginXXX()方法 1908.6.4 隐含对象 1918.6.5 setUp()和tearDown() 1928.6.6 testXXX() 1938.6.7 endXXX() 1938.7 Cactus与Ant的使用 1958.8 Filter测试 1968.9 JSPTestCase和自定义标记 1988.10 案例学习:使用自定义标记的宠物商店程序 2138.10.1 业务需求 2138.10.2 寻找一个开始点 2138.10.3 测试案例 2148.11 小结 219第9章 使用HttpUnit进行功能测试 2209.1 为什么要做功能测试 2209.2 为什么要使用HttpUnit 2219.3 HttpUnit基础 2229.3.1 WebClient(客户端)功能介绍 2229.3.2 响应检查和多页面处理 2239.4 HttpUnit的高级话题 2319.4.1 DOM检查 2329.4.2 Header和Cookies 2339.4.3 框架页面 2339.4.4 SSL 2349.4.5 HttpUnitOptions 2349.4.6 技术局限性 2349.5 蜘蛛范例程序 2349.5.1 蜘蛛程序开发:第一个循环 2359.5.2 蜘蛛程序开发:二次循环 2369.5.3 蜘蛛工具将来的工作 2409.6 小结 240第10章 使用JMeter测试应用程序性能 24110.1 概述 24110.2 JMeter概述 24210.3 JMeter概念 24210.4 使用JMeter测试Web应用程序浏览程序 24410.5 使用JMeter测试Web应用程序的表单条目 24910.6 使用JMeter测试我们的RDBMS的性能 25510.7 案例学习:宠物商店 25710.7.1 业务需求 25710.7.2 建立测试 25910.7.3 分析 26210.7.4 结论 26310.8 小结 263第11章 使用JUnitPerf进行负载测试 26411.1 概述 26411.2 JUnitPerf概念 26411.3 TimedTest范例 26511.4 LoadTest范例 27211.5 案例学习 27311.5.1 HTTPUnit测试 27311.5.2 JMeter配置 27511.5.3 将它们放在一块 27511.5.4 结论 27811.6 小结 279第三部分 API和标记参考第12章 Ant标记参考 28212.1 Ant命令行选项 28212.2 Ant的父元素 28312.2.1 project标记 28312.2.2 target标记 28312.2.3 path标记 28412.2.4 filter标记 28512.2.5 tstamp标记 28512.3 Ant关键任务 28612.3.1 Ant任务 28612.3.2 antcall任务 28612.3.3 available任务 28712.3.4 echo任务 28812.3.5 fail任务 28812.3.6 property任务 28812.3.7 taskdef任务 28912.4 目录和文件系统任务 28912.4.1 chmod任务 28912.4.2 copy任务 29012.4.3 delete任务 29012.4.4 mkdir任务 29112.4.5 move任务 29112.4.6 touch任务 29212.5 外部执行任务 29212.5.1 apply任务 29212.5.2 exec任务 29312.5.3 execon任务 29412.5.4 java 任务 29512.5.5 javac任务 29512.5.6 sql任务 29612.6 文件库任务 29812.6.1 jar任务 29812.6.2 war任务 29812.6.3 zip任务 29912.6.4 unjar、unzip和unwar任务 30012.7 文件读写和控制 30012.7.1 replace任务 30012.7.2 mail任务 30112.8 源代码控制任务 30112.8.1 cvs任务 30112.8.2 get任务 30212.9 一些关键的可选任务 30212.9.1 junit任务 30212.9.2 junitReport任务 30312.10 常用的嵌套参数和元素 30412.10.1 classpath元素 30412.10.2 mapper元素 30512.10.3 fileset元素 30612.10.4 patternset元素 30612.10.5 zipfileset元素 306第13章 Ant API 参考 30813.1 概述 30813.2 org.apache.tools.ant包 30913.2.1 AntClassLoader类 30913.2.2 BuildEvent类 31013.2.3 BuildException类 31013.2.4 BuildListener接口 31113.2.5 BuildLogger接口 31213.2.6 DefaultLogger类 31313.2.7 DesirableFilter类 31413.2.8 DirectoryScanner类 31413.2.9 FileScanner接口 31613.2.10 IntrospectionHelper类 31713.2.11 Location类 31813.2.12 Main类 31913.2.13 PathTokenizer类 31913.2.14 Project类 31913.2.15 ProjectHelper类 32313.2.16 RuntimeConfigurable类 32413.2.17 Target类 32413.2.18 Task类 32613.2.19 TaskAdapter类 32713.2.20 UnknownElement类 32813.2.21 XmlLogger类 32813.3 小结 329第14章 JUnit API参考 33114.1 junit.framework包 33114.1.1 Assert类 33114.1.2 Protectable接口 33414.1.3 Test接口 33514.1.4 TestCase类 33514.1.5 TestListener接口 33914.1.6 TestFailure类 33914.1.7 TestResult类 34014.1.8 TestSuite类 34214.2 junit.extensions包 34414.2.1 ActiveTestSuite类 34414.2.2 ExceptionTestCase类 34514.2.3 RepeatedTest类 34614.2.4 TestDecorator类 34714.2.5 TestSetup类 348第15章 Cactus API参考 35015.1 概述 35015.2 org.apache.cactus包 35015.2.1 AbstractTestCase类 35015.2.2 Cookie类 35315.2.3 FilterTestCase类 35715.2.4 JspTestCase类 35815.2.5 ServiceDefinition类 35915.2.6 ServiceEnumeration类 35915.2.7 ServletTestCase类 35915.2.8 ServletTestRequest类 不推荐 36215.2.9 ServletURL类 36315.2.10 WebRequest类 36515.2.11 WebResponse类 36715.2.12 WebTestResult类 36815.3 org.apache.cactus.util包 36915.3.1 AssertUtils类 不推荐 36915.3.2 ClientCookie类 不推荐 37015.4 org.apache.cactus.server包 37115.4.1 FilterConfigWrapper类 37115.4.2 HttpServletRequestWrapper类 37215.4.3 PageContextWrapper类 37315.4.4 RequestDispatcherWrapper类 37315.4.5 ServletConfigWrapper类 37315.4.6 ServletContextWrapper类 374第16章 HttpUnit API参考 37516.1 概述 37516.2 com.meterware.httpunit包 37516.2.1 AuthorizationRequired-Exception类 37516.2.2 GetMethodWebRequest类 37616.2.3 HTMLSegment接口 37616.2.4 HttpException类 37916.2.5 HttpInternalErrorException类 37916.2.6 HttpNotFoundException类 38016.2.7 HttpUnitOptions类 38016.2.8 HttpUnitUtils类 38116.2.9 IllegalRequestParameterException类 38216.2.10 MessageBodyWebRequest类 38316.2.11 PostMethodWebRequest类 38316.2.12 PutMethodWebRequest类 38416.2.13 SubmitButton类 38516.2.14 TableCell类 38516.2.15 WebClient类 38616.2.16 WebConversation类 38916.2.17 WebForm类 39016.2.18 WebLink类 39216.2.19 WebRequest类 39316.2.20 WebResponse类 39716.2.21 WebTable类 400第17章 JUnitPerf API参考 40217.1 com.clarkware.junitperf包 40217.1.1 ConstantTimer类 40217.1.2 LoadTest类 40217.1.3 RandomTimer类 40617.1.4 ThreadBarrier类 40617.1.5 ThreadedTest类 40717.1.6 ThreadedTestGroup类 40717.1.7 TimedTest类 40817.1.8 Timer接口 410
飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。