《Struts Kick Start中文版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)James Turner,(美)Kevin Bedell著;孙勇译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:7121003023
  • 页数:481 页
图书介绍:本书手把手教您学习使用Jakarta Struts——现今最流行的JSP开发框架——建构应用程序,目标是让您迅速起步并快速掌握和使用Struts框架。本书是一本容易上手的书,包括大量的应用示例和代码片段。全书从对Struts及其Model-View-Controller (MVC) 架构的探讨开始,通过丰富的示例应用演练,本着阐述实用方法、全面覆盖Struts所有组件的原则,展示了Struts的强大功能。主要内容包括实际使用Struts标记库——HTML、JavaBean、逻辑操作等的原则与实践;如何使用Struts和JBoss完成同EJB的集成;如何使用Apache Axis发布并使用Web服务;如何使用JUnit等工具调试和测试Struts应用等Struts开发的方方面面,非常适合Struts开发者初学入门。

1 Struts的来龙去脉 7

1 Struts的来龙去脉 7

1.1 木匠的寓言 7

目录一览 7

目录 7

1.2 Struts是什么? 8

1.2.1框架 8

1.2.2 Web应用 9

1.2.3 Struts框架中的组件 10

1.3 Struts的状况:发展现状 12

1.3.1 Struts版本 12

1.3.2其他可以和Struts一同使用的应用 12

1.4代码背后的面孔:Struts的开发 13

1.4.1核心开发者 13

1.5 Struts将走向何处 14

1.5.1集成JSTL 14

1.5.3 Struts将会被更广泛地接受 14

1.5.2集成JavaServer Faces 14

1.6结论 15

2 Model-View-Controller设计模式:Model 2JSP开发 17

2 Model-View-Controller设计模式:Model 2JSP开发 17

2.1 Model-View-Controller设计模式 18

2.2.1 JSP规范0.92版 20

2.2 Model 1与Model 2的起源 20

2.2.2 JavaWorld,1999 21

2.3 Struts如何实现Model 2模式 21

2.2.3时至Craig McClanahan,Jakarta Tomcat,以及Struts 21

2.3.1 用于Web应用的MVC架构 22

2.3.2 Model组件 23

2.3.3 View组件 24

2.3.4 Controller组件 25

2.4结论 25

3 Hello World!第一个Struts应用 27

3Hello World!第一个Struts应用 27

3.1 Hello World!应用的需求 28

3.2应用Model-View-Controller模式 28

3.3 View组件:HTML表单以及表单Bean 29

3.4 MessageResources和Application.properties文件 33

3.5 Struts表单Bean:HelloForm.java 33

3.6数据验证以及ActionError 36

3.7 Controller组件:HelloAction.java 38

3.7.1 Action类是如何工作的 40

3.7.2在MessageResources中访问特定Locale的文本 41

3.7.3业务逻辑级验证 42

3.7.4与Model组件交互 42

3.7.5向View组件传递数据 43

3.8 Model组件(HelloModeljava) 44

3.7.6跳转到合适的View组件 44

3.9通过使用属性向View传递数据:Constants.java 46

3.10将所有部分整合到一起:struts-config.xml文件 47

3.11 结论 49

4 HTTP协议:Web应用的通信与控制 51

4 HTTP协议:Web应用的通信与控制 51

4.1 HTTP协议以及请求/响应循环 52

4.2控制信息:HTTP头和HTTP响应码 55

4.2.1 HTTP响应码 55

4.2.2 HTTP请求和响应头 57

4.3HTTP Cookies和会话/用户管理 60

4.4结论 63

5 JSP,标记库和JSTL:使用Java扩充页面 65

5 JS P,标记库和JSTL:使用Java扩充页面 65

5.1 Servlets和JSP 65

5.1.1 JSP的威力 67

5.2 JSP中的对象作用范围 70

5.2.1除会话范围之外的其它对象范围 71

5.2.2从JSP中存取范围对象 72

5.3使用Bean来隐藏业务逻辑 73

5.4 JSP自定义标记库 78

5.5 Web应用部署 81

5.5.1WAR文件 83

5.6 JSTL:标准标记库 84

5.6.1通用目的操作 85

5.6.2条件操作 85

5.6.3迭代操作 85

5.6.4 URL相关的操作 85

5.6.5 国际化操作 85

5.6.6格式化操作 85

5.7 JSP与J2EE:一幅宏图 86

5.6.8 XML操作 86

5.6.7 SQL操作 86

5.6.9表达式语言 86

5.8 J2EE与Struts 88

5.9结论 88

6简单的应用:财务投资管理 89

6.1需求:从头到脚覆盖需求 89

6简单的应用:财务投资管理 89

6.2从线框(Wireframes)开始 90

6.2.1 主页面 90

6.2.2创建账号页面 91

6.2.3 交易条目(Transaction Entry) 91

6.3 开发用况(Use Cases) 94

6.3.1 用况:初始页面 95

6.3.2 况:账号创建页面 95

6.3.3 用况:已登录用户的主页面 96

6.3.4用况:添加交易页面 96

6.4数据源与存储 98

6.5选择技术 99

6.5.1 Torque 99

6.6结论 105

7 View组件:最终用户之所见 107

7.1 ActionForm 107

7 View组件:最终用户之所见 107

7.2 JSP文件:Alpha与Omega 116

7.3 自动类型转换的危险 123

7.4 html:errors标记 127

7.5国际化 127

7.6结论 130

8 Controller:导引Action 131

8.1 Action类 131

8 Controller:导引Action 131

8.2访问会话和其它表单Bean 136

8.3用户验证和Struts 150

8.4在应用内部和外部转移控制 152

8.5结论 153

9 Model组件:业务建模 155

9 Model组件:业务建模 155

9.1 设计良好的Model 156

9.2更多增强独立性的技术 159

9.3结论 165

10 struts-config.xml文件:整合所有部件 167

10.1 struts-config的DTD 167

10 struts-config.xml文件:整合所有部件 167

10.1.1数据源 168

10.1.2表单Bean 171

10.1.3全局异常(Global Exceptions) 172

10.1.4全局转发(Global Forwards) 174

10.1.5 Action映射 175

10.1.6 Controller 177

10.1.7消息资源 178

10.1.8 P1ug-in 179

10.1.9动态地访问和改变配置 180

10.2 config文件的前生后世 180

10.3结论 181

1 1 Struts标记库是如何工作的:内部探察 183

11 Struts标记库是如何工作的:内部探察 183

11.1回顾JSP标记库 184

11.2理解Struts标记如何工作:〈bean:page〉标记 184

11.2.1 〈bean:page〉标记的Java代码 185

11.2.2 Struts Bean标记库描述文件(struts-bean.tld) 190

11.2.3使用〈bean:page〉标记:整合所有部件 191

11.3 与Java标准标记库相比较 192

11.4结论 194

12Struts HTML标记:页面构造和表单处理 195

12 Struts HTML标记:页面构造和表单处理 195

12.1 Struts标记、JSP自定义标记以及Java Scriptlets:什么是正确的平衡 196

12.2 使用Struts HTML标记渲染HTML基本元素 197

12.2.2〈html:base〉标记 202

12.2.1 〈html:html〉标记 202

12.2.3 〈html:link〉和〈1html:rewrite〉标记 203

12.2.4 〈html:img〉标记 207

12.3基本的表单处理 208

12.3.1表单的基本知识:〈1html:form〉标记 212

12.3.2〈html:text〉标记 213

12.3.3〈html:cancel〉标记 213

12.3.4〈html:reset〉标记 215

12.3.5〈html:submit〉标记 216

12.3.6〈html:hidden〉标记 216

12.4复选框和单选框 217

12.4.1〈html:checkbox〉标记 223

12.4.2〈html:multibox〉标记 224

12.4.3〈html:radio〉标记 225

12.5下拉和选取/选项列表 225

12.5.1 〈html:select〉标记 231

12.5.2〈html:option〉标记 232

12.5.3〈html:options〉标记 233

12.5.4 〈html:optionsCollection〉标记 235

12.6 输入验证与〈html:errors〉 236

12.6.1 〈html:errors〉标记 240

12.6.2错误处理是如何工作的 241

12.6.3 为错误文本指定资源包,并对文本进行本地化 242

12.6.4指定全局的错误消息,相对于字段相关 243

12.6.5使用参数定制错误消息 243

12.7使用〈html:file〉上传文件 244

12.7.1〈html:file〉标记 249

12.7.2 在JSP文件中使用〈html:file〉 249

12.7.3在表单中指定私有的FormFile属性 250

12.7.4在Action类中处理文件上传 250

12.8结论 251

13 Struts Bean标记:保存与传输数据 253

13.1 使用Struts Bean标记来访问Servlet上下文的有关内容 253

13 Struts Bean标记:保存与传输数据 253

13.1.2〈bean:header〉标记 257

13.1.3〈bean:parameter〉标记 257

13.1.1〈bean:cookie〉标记 257

13.1.4〈bean:page〉标记 258

13.2使用Struts Bean标记来访问Java资源 258

13.2.1〈bean:message〉标记 261

13.2.2 〈bean:resource〉标记 262

13.2.3〈bean:struts〉标记 263

13.2.4〈bean:include〉标记 263

13.3使用Struts Bean标记来访问Bean属性 263

13.3.1〈bean:define〉标记 266

13.3.2〈bean:size〉标记 267

13.3.3〈bean:write〉标记 267

13.4结论 268

14 Struts逻辑标记:条件性表达逻辑 269

14 Struts逻辑标记:条件性表达逻辑 269

14.1 使用Struts逻辑标记进行基于值的条件显示 270

14.1.1 〈logic:equal〉和〈logic:notEqual〉标记 282

14.1.2〈logic:lessThan〉和〈1ogic:greaterThan〉标记 282

14.2使用Struts逻辑标记进行子串匹配 283

14.1.3〈logic:lessEqual〉和〈logic:greaterEqual〉标记 283

14.2.1〈logic:match〉与〈logic:notMatch〉标记 285

14.3使用Struts逻辑标记来迭代 285

14.3.1〈logic:iterate〉标记 287

14.4使用Struts逻辑标记来检测值是否存在 288

14.4.1〈logic:empty〉和〈logic:notEmpty〉标记 291

14.4.2〈logic:present〉和〈logic:notPresent〉标记 292

14.4.3〈logic:messagesPresent〉和〈logic:messagesNotPresent〉标记 292

14.5使用Struts逻辑标记来转移控制 292

14.5.1〈logic:forward〉标记 292

14.5.2〈logic:redirect〉标记 293

14.6结论 293

15 Struts嵌套与模板标记库:子属性处理与内容插入处理 295

15 Struts嵌套与模板标记库:子属性处理与内容插入处理 295

15.1使用Struts嵌套标记 296

15.2使用Struts模板标记 304

15.3结论 309

16 Struts Tiles标记库:创建主文档模板 311

16 Struts Tiles标记库:创建主文档模板 311

16.1Tiles总览 311

16.2启用Tiles 312

16.3定义之配置文件(Definitions Configuration File) 312

16.4为Tiles编写JSP文件 313

16.5修改Action 316

16.7Tiles的其它方面 317

16.6把所有部分整合到一起 317

16.8结论 318

17 DynaForm和验证器 319

17 DynaForm和验证器 319

17.1 DynaForm:不使用Java的表单 319

17.2 DynaBean和Struts 320

17.2.1〈form-property〉标记 326

17.3验证器:自动字段检验 328

17.3.1为NewUserAddress添加Validator 332

17.3.2最新的validator相关新闻 335

17.3.3定义新的验证 336

17.4结论 340

18结合EJB使用Struts 341

18.1 EJB适配Model组件 341

18结合EJB使用Struts 341

18.2 EJB技术的快速回顾 342

18.2.1 EJB存活在EJB容器中 342

18.2.2 EJB剖析 343

18.3.1 Entity Bean 344

18.3结合Struts使用不同的EJB类型 344

18.3.2无状态会话Bean(Stateless Session Bean) 345

18.3.3有状态会话Bean(Stateful Session Bean) 346

18.3.4消息驱动Bean(Message-Driven Bean) 346

18.3.6 Struts和EJB的未来方向 347

18.3.5结合EJB使用Struts的规则总结 347

18.4 Struts/EJB应用示例 348

18.4.1 应用示例:更新用户信息 348

18.4.2配置和建立应用 349

18.4.3检视示例应用的源文件 358

18.5结论 374

19结合Web服务使用Struts 375

19结合Web服务使用Struts 375

19.1 Web适配Struts的Model组件 376

19.2.1 Web服务通信如何工作 377

19.2快速回顾Web服务技术 377

19.2.2比较EJB和Web服务方法 378

19.2.3剖析Web服务 379

19.3如何结合Web服务使用Struts 380

19.4 Struts/Web服务的应用示例 381

19.4.1 应用:更新客户信息 381

19.4.2安装示例应用文件 382

19.4.3在构建环境中配置Axis 388

19.5结论 415

20构建、部署和测试Struts应用 417

20.1集成和渐增式的构建/测试循环:It s Extreme! 417

20构建、部署和测试Struts应用 417

20.2使用Jakarta Ant来构建和部署Struts应用 418

20.2.1推荐的开发目录结构 419

20.2.2被部署的应用(以及.war文件)所需的目录结构 420

20.3编写build.xml文件来使用Ant构建Struts应用 421

20.4使用集成和即时测试的Struts极限开发 429

20.4.1测试方法和工具的概述 429

20.4.2 JUnit:驱动即时测试(OngoingTesting)的引擎 430

20.4.3 Cactus:一个容器内测试框架 430

20.4.4 StrutsTestCase:用于测试Struts应用的JUnit扩展 431

20.5使用JUnit、StrutsTestCase和Ant进行模拟对象测试 431

20.5.1配置你的系统以运行模拟对象测试 433

20.5.2运行模拟测试用例并查看结果 436

20.5.3 在模拟测试用例中测试附加的Struts功能 437

20.5.4运行模拟测试用例并查看结果 439

20.6 使用Cactus、JUnit、StrutsTestCase和Ant进行容器内测试 440

20.6.1修改测试用例,以使用Cactus进行容器内测试 441

20.6.2修改你的系统配置来使用Cactus进行容器内测试 442

20.6.3运行容器内测试并查看结果 446

20.7结论 447

附录A从CD中安装Struts和示例应用 449

A.1 附带CD-ROM中包含的软件列表 449

附录A 从CD中安装Struts和示例应用 449

A.2第1步:安装JDK和Tomcat 450

A.3第2步:安装MySQL 450

A.4将WAR文件拷贝到Tomcat的webapps目录中 451

A.5重新启动Tomcat 452

索引 453

索引 453