词条 | 精通Struts基于MVC的Java Web设计与开发 |
释义 | 基本信息作者: 孙卫琴丛书名: 开发专家之Sun ONE 出版社:电子工业出版社 ISBN:7121000520 上架时间:2004-8-17 出版日期:2004 年8月 开本:16开 页码:512 版次:1-1 内容简介struts是目前非常流行的基于mvc的java web框架。本书详细介绍了在最新的struts1.1以及不久将推出的struts1.2版本上设计和开发java web应用的各种技术。本书第1章到第3章为入门篇,通过两个struts应用实例,引导读者把握设计、开发和部署struts应用的整体流程,充分体会 struts框架在开放大型、可扩展的web应用方面发挥的优势。第4章到第7章深入探讨了struts框架的核心组件actionservlet和 requestprocessor的实现原理,详细介绍了开发struts应用的模型、视图和控制器的各种技术,细致的描述了struts配置文件的每个元素的使用方法。第8章到第9章介绍了开发struts应用的一些实用技术,如struts框架的扩展点、struts应用的国际化,validator 验证框架和异常处理机制等。第12章到第16章结合具体的struts应用实例,详细介绍了struts的标签库以及tiles框架的使用方法。第17章和第18章介绍如何采用ejb和web服务来实现struts框架的模型。第19章到第21章介绍了如何采用第三方软件,如apache common logging api、log4j、ant和strutstestcase,来控制struts应用的输出日志、管理以及测试struts应用项目。 作者孙卫琴,1997年毕业于上海交通大学,随后一直从事基于Java的软件开发工作,还从事过J2EE培训和咨询。目前在美国肯特大学作为访问学者,研究课题包括基于Java和XML的电子商务系统、J2EE软件架构、Web服务和网络安全等。代表著作有: 《精通Struts: 基于MVC的Java Web设计与开发》 2004 《Tomcat与Java Web开发技术详解》2004 《Java 2认证考试指南与试题解析》 2002 目录第1章 struts与java web应用简介 1 1.1 java web应用概述 1 1.1.1 servlet组件 2 1.1.2 jsp组件 3 1.1.3 共享数据在web应用中的范围 3 1.1.4 javabean组件及其在web应用中的范围 5 1.1.5 客户化jsp标签 5 1.1.6 ejb组件 6 1.1.7 xml语言 6 1.1.8 web服务器和应用服务器 7 1.2 web组件的三种关联关系 7 1.2.1 请求转发 7 1.2.2 请求重定向 8 1.2.3 包含 9 1.3 mvc概述 9 1.3.1 mvc设计模式 10 1.3.2 jsp model1和jsp model2 11 1.4 struts概述 13 1.4.1 struts实现mvc的机制 13 1.4.2 struts的工作流程 15 .1.5 小结 17 第2章 struts应用:helloapp应用 19 2.1 分析helloapp应用的需求 19 2.2 运用struts框架 19 2.3 创建视图组件 20 2.3.1 创建jsp文件 20 2.3.2 创建消息资源文件 23 2.3.3 创建actionform bean 23 2.3.4 数据验证 25 2.4 创建控制器组件 26 2.4.1 action类的工作机制 28 2.4.2 访问封装在messageresources中的本地化文本 28 2.4.3 业务逻辑验证 28 2.4.4 访问模型组件 29 2.4.5 向视图组件传递数据 30 2.4.6 把http请求转发给合适的视图组件 30 2.5 创建模型组件 30 2.6 创建存放常量的java文件 31 2.7 创建配置文件 32 2.7.1 创建web应用的配置文件 32 2.7.2 创建struts框架的配置文件 33 2.8 发布和运行helloapp应用 35 2.8.1 服务器端装载hello.jsp的流程 37 2.8.2 表单验证的流程 37 2.8.3 逻辑验证失败的流程 39 2.8.4 逻辑验证成功的流程 40 2.9 小结 41 第3章 struts应用的需求分析与设计 43 3.1 收集和分析应用需求 43 3.2 设计数据库 44 3.3 设计应用的业务逻辑 45 3.3.1 访问xml格式的用户信息 45 3.3.2 访问数据库 47 3.4 设计用户界面 49 3.4.1 界面风格 50 3.4.2 使用客户化标签 52 3.5 设计actionform 53 3.6 设计action和action映射 55 3.6.1 设计logonaction 58 3.6.2 设计logoffaction 60 3.6.3 设计insertaction 61 3.6.4 设计searchaction 62 3.6.5 设计displayallaction 63 3.7 设计客户化标签 64 3.7.1 设计validatesessiontag标签 64 3.7.2 设计displaytag标签 66 3.7.3 创建客户化app标签库的tld文件 67 3.8 小结 68 第4章 配置struts应用 71 4.1 web应用的发布描述文件 71 4.1.1 web应用发布描述文件的文档类型定义(dtd) 71 4.2 为struts应用配置web.xml文件 72 4.2.1 配置struts的actionservlet 72 4.2.2 声明actionservlet的初始化参数 73 4.2.3 配置欢迎文件清单 74 4.2.4 配置错误处理 75 4.2.5 配置struts标签库 76 4.3 struts 配置文件 77 4.3.1 org.apache.struts.config包 77 4.3.2 [struts-config]元素 79 4.3.3 [data-sources]元素 80 4.3.4 [form-beans]元素 82 4.3.5 [global-exceptions]元素 83 4.3.6 [global-forwards]元素 84 4.3.7 [action-mappings]元素 85 4.3.8 [controller]元素 87 4.3.9 [message-resources]元素 87 4.3.10 [plug-in]元素 88 4.3.11 配置多应用模块 89 4.4 digester 组件 91 4.5 struts 控制面板工具 91 4.6 重新载入配置文件 93 4.7 小结 94 第5章 struts控制器组件 95 5.1 控制器组件的控制机制 95 5.1.1 actionservlet类 96 5.1.2 requestprocessor类 99 5.1.3 action类 105 5.2 使用内置的struts action类 112 5.2.1 org.apache.struts.actions.forwardaction类 112 5.2.2 org.apache.struts.actions.includeaction类 114 5.2.3 org.apache.struts.actions.dispatchaction类 115 5.2.4 org.apache.struts.actions.lookupdispatchaction类 118 5.2.5 org.apache.struts.actions.switchaction类 121 5.3 利用token解决重复提交 121 5.4 实用类 125 5.4.1 requestutils类 125 5.4.2 tagutils类 125 5.4.3 moduleutils类 126 5.4.4 globals类 126 5.5 小结 127 第6章 struts模型组件 129 6.1 模型在mvc中的地位 129 6.2 模型的概念和类型 130 6.2.1 概念模型 130 6.2.2 设计模型 131 6.3 业务对象(bo) 133 6.3.1 业务对象的特征和类型 133 6.3.2 业务对象的重要性 134 6.4 业务对象的持久化 134 6.4.1 对业务对象进行持久化的作用 135 6.4.2 数据访问对象(dao)设计模式 135 6.4.3 常用的orm软件 136 6.5 创建netstore应用的模型 137 6.5.1 为netstore应用创建模型的步骤 137 6.5.2 创建netstore应用的业务对象 138 6.5.3 创建netstore应用的数据库 142 6.5.4 netstore应用的orm框架 145 6.5.5 联合使用业务代理和dao模式 155 6.6 小结 167 第7章 struts视图组件 169 7.1 视图概述 169 7.2 在视图中使用javabean 170 7.2.1 dto数据传输对象 170 7.2.2 struts框架提供的dto:actionform bean 171 7.3 使用actionform 172 7.3.1 actionform的生命周期 172 7.3.2 创建actionform 174 7.3.3 配置actionform 176 7.3.4 访问actionform 177 7.3.5 处理表单跨页 178 7.4 使用动态actionform 184 7.4.1 配置动态actionform 185 7.4.2 动态actionform的reset()方法 186 7.4.3 访问动态actionform 187 7.4.4 动态actionform的表单验证 187 7.4.5 在netstore应用中使用动态actionform 187 7.5 小结 189 第8章 扩展struts框架 191 8.1 struts插件(plugin) 191 8.2 扩展struts的配置类 194 8.3 控制器扩展点 195 8.3.1 扩展actionservlet类 195 8.3.2 扩展requestprocessor类 196 8.3.3 扩展action类 198 8.4 扩展视图组件 200 8.5 扩展模型组件 200 8.6 小结 204 第9章 struts应用的国际化 205 9.1 本地化与国际化的概念 205 9.2 web应用的中文本地化 206 9.2.1 处理http请求数据编码 207 9.2.2 处理数据库数据编码 207 9.2.3 处理xml配置文件编码 207 9.2.4 处理响应结果的编码 208 9.3 java对i18n的支持 208 9.3.1 locale类 208 9.3.2 resourcebundle类 214 9.3.3 messageformat类和复合消息 214 9.4 struts框架对国际化的支持 216 9.4.1 创建struts的resource bundle 216 9.4.2 访问resource bundle 217 9.5 对helloapp应用实现国际化 220 9.5.1 对jsp文件的文本、图片和按钮进行国际化 220 9.5.2 创建临时中文资源文件 221 9.5.3 对临时资源文件进行编码转换 222 9.5.4 创建英文资源文件 223 9.5.5 采用servlet过滤器设置请求数据的字符编码 223 9.5.6 运行国际化的helloapp应用 225 9.6 异常处理的国际化 226 9.7 小结 226 第10章 validator验证框架 229 10.1 安装和配置validator框架 229 10.1.1 validator-rules.xml文件 229 10.1.2 validation.xml文件 233 10.1.3 validator插件 237 10.2 validator框架和actionform 238 10.3 validator框架和struts客户化标签 240 10.4 在netstore应用中使用validator框架 241 10.5 创建自定义的验证规则 245 10.6 在validator框架中使用javascript 247 10.7 validator框架的国际化 250 10.8 小结 251 第11章 异常处理 253 11.1 java异常处理 253 11.1.1 java异常 253 11.1.2 jvm的方法调用堆栈 254 11.1.3 异常处理对性能的影响 255 11.1.4 系统异常和应用异常 256 11.1.5 使用异常链 256 11.1.6 处理多样化异常 258 11.2 struts框架异常处理机制概述 260 11.3 struts框架异常处理机制的细节 261 11.3.1 java web容器处理异常的机制 261 11.3.2 actionservlet类处理异常的机制 261 11.3.3 requestprocessor类处理异常的机制 262 11.3.4 exceptionhandler类处理异常的机制 263 11.4 在struts应用中处理异常的各种方式 266 11.4.1 创建异常类 266 11.4.2 由java web容器捕获异常 269 11.4.3 以配置方式处理异常 271 11.4.4 以编程方式处理异常 277 11.5 小结 282 第12章 struts html标签库 283 12.1 用于生成基本的html元素的标签 283 12.1.1 [html:html]标签 288 12.1.2 [html:base]标签 288 12.1.3 [html:link]和[html:rewrite]标签 289 12.1.4 [html:img]标签 292 12.2 基本的表单标签 293 12.2.1 [html:form]标签 296 12.2.2 [html:text]标签 296 12.2.3 [html:cancel]标签 297 12.2.4 [html:reset]标签 298 12.2.5 [html:submit]标签 298 12.2.6 [html:hidden]标签 299 12.3 检查框和单选按钮标签 299 12.3.1 [html:checkbox]标签 304 12.3.2 [html:multibox]标签 305 12.3.3 [html:radio]标签 306 12.4 下拉列表和多选列表标签 307 12.4.1 [html:select]标签 311 12.4.2 [html:option]标签 312 12.4.3 [html:options]标签 313 12.4.4 [html:optionscollection]标签 314 12.5 在表单中上传文件标签 315 12.5.1 [html:file]标签 319 12.5.2 在actionform bean中设定formfile属性 319 12.5.3 在action类中处理文件上传 319 12.6 [html:errors]标签 320 12.6.1 错误消息的来源 324 12.6.2 格式化地显示错误消息 326 12.6.3 [html:errors]标签的用法 326 12.7 [html:messages]标签 328 12.8 小结 330 第13章 struts bean标签库 331 13.1 访问http请求信息或jsp隐含对象 331 13.1.1 [bean:header]标签 334 13.1.2 [bean:parameter]标签 334 13.1.3 [bean:cookie]标签 335 13.1.4 [bean:page]标签 336 13.2 访问web应用资源 337 13.2.1 [bean:message]标签 339 13.2.2 [bean:resource]标签 341 13.2.3 [bean:struts]标签 341 13.2.4 [bean:include]标签 342 13.3 定义或输出javabean 342 13.3.1 [bean:define]标签 344 13.3.2 [bean:size]标签 345 13.3.3 [bean:write]标签 346 13.4 小结 347 第14章 struts logic标签库 349 14.1 进行比较运算的logic标签 349 14.2 进行字符串匹配的logic标签 354 14.3 判断指定内容是否存在的logic标签 356 14.3.1 [logic:empty]和[logic:notempty]标签 359 14.3.2 [logic:present]和[logic:notpresent]标签 360 14.3.3 [logic:messagespresent]和[logic:messagesnotpresent]标签 361 14.4 进行循环遍历的logic标签 363 14.4.1 遍历集合 366 14.4.2 遍历map 367 14.4.3 设定被遍历的变量 369 14.5 进行请求转发或重定向的logic标签 369 14.5.1 [logic:forward]标签 369 14.5.2 [logic:redirect]标签 370 14.6 小结 370 第15章 struts nested标签库 373 15.1 [nested:nest]和[nested:writenesting]标签 373 15.2 [nested:root]标签 379 15.3 和其他标签库中的标签功能相同的nested标签 381 15.4 小结 382 第16章 tiles框架 383 16.1 采用基本的jsp语句创建复合式网页 383 16.2 采用jsp的include指令创建复合式网页 387 16.3 采用[tiles:insert]标签创建复合式网页 391 16.4 采用tiles模板创建复合式网页 394 16.5 采用tiles模板和tiles组件创建复合式网页 396 16.5.1 tiles组件的基本使用方法 397 16.5.2 通过struts action来调用tiles组件 399 16.5.3 tiles组件的组合 399 16.5.4 tiles组件的扩展 402 16.6 小结 403 第17章 struts与ejb组件 405 17.1 j2ee体系结构简介 405 17.2 创建ejb组件 406 17.2.1 编写remote接口 407 17.2.2 编写home接口 408 17.2.3 编写enterprise java bean类 408 17.3 在struts应用中访问ejb组件 413 17.3.1 创建业务代理实现类netstoreejbdelegate 413 17.3.2 运用ejbhomefactory模式 416 17.4 发布j2ee应用 419 17.4.1 在jboss-tomcat上部署ejb组件 419 17.4.2 在jboss-tomcat上部署web应用 421 17.4.3 在jboss-tomcat上部署j2ee应用 422 17.5 小结 424 第18章 struts与soap web服务 425 18.1 soap简介 425 18.2 建立apache axis环境 427 18.3 创建和发布soap服务 428 18.3.1 创建实现soap服务的java类 428 18.3.2 创建web服务发布描述文件 429 18.3.3 发布soap服务 432 18.4 在struts应用中访问soap服务 432 18.5 小结 438 第19章 struts与apache通用日志包 439 19.1 apache通用日志包概述 439 19.1.1 log接口 439 19.1.2 logfactory接口 441 19.2 常用的日志实现 441 19.2.1 nooplog日志器 441 19.2.2 simplelog日志器 442 19.2.3 log4j日志器 442 19.3 配置通用日志接口 443 19.3.1 准备jar文件 443 19.3.2 指定日志器 443 19.3.3 设置日志器的属性 444 19.4 配置log4j 444 19.4.1 配置log4j的一般步骤 444 19.4.2 log4j的配置样例 446 19.4.3 log4j对应用性能的影响 447 19.5 在struts应用中访问通用日志接口 447 19.5.1 在action类中访问通用日志接口 448 19.5.2 在jsp中访问通用日志接口 450 19.6 小结 454 第20章 用ant工具管理struts应用 455 20.1 web应用常用的开发目录结构 455 20.2 安装配置ant 455 20.3 创建build.xml文件 456 20.3.1 设置公共属性 462 20.3.2 设置classpath 463 20.3.3 定义help target 463 20.3.4 定义clean-all target 463 20.3.5 定义prepare target 464 20.3.6 定义compile target 464 20.3.7 定义build target 465 20.3.8 定义deploy target 466 20.3.9 定义javadoc target 466 20.4 运行ant 466 20.4.1 运行help target 466 20.4.2 运行deploy target 467 20.4.3 运行javadoc target 468 20.5 小结 468 第21章 用strutstestcase测试struts应用 469 21.1 strutstestcase简介 469 21.2 制订单元测试用例 469 21.3 创建strutstestcase测试类 470 21.4 用ant工具运行测试程序 471 21.4.1 准备必要的jar文件 471 21.4.2 在build.xml文件中定义test target 471 21.4.3 运行测试程序 472 21.5 创建包含多个单元测试用例的测试类 473 21.6 小结 475 附录a struts1.1的uml类框图 476 附录b struts资源 477 b.1 struts邮件列表 477 b.2 struts资源web站点 477 b.3 tiles标签库站点 477 b.4 nested 标签库站点 478 b.5 struts gui工具 478 b.6 easy struts 工程 478 附录c 发布和运行addressbook应用 479 c.1 发布addressbook应用 479 c.2 运行addressbook应用 479 附录d 发布和运行netstore应用 482 d.1 运行netstore所需的软件 482 d.2 netstore应用的目录结构 483 d.3 安装netstore数据库 484 d.4 发布netstore应用 484 d.4.1 在工作模式1下发布netstore应用 484 d.4.2 在工作模式2下发布netstore应用 485 d.4.3 在工作模式3下发布netstore应用 485 d.4.4 在工作模式4下发布netstore应用 486 d.4.5 在工作模式5下发布netstore应用 486 d.5 运行netstore应用 487 附录e 编译本书的java web样例 491 附录f struts 1.2 api的新特征 492 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。