Linux应用程序开发(Java版)

Linux应用程序开发(Java版)
作 者: 施瓦兹 侯普秀 宋美娜
出版社: 清华大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: Linux
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书提供作译者介绍Carl Atbing是一名出色的程序员,也是一名资深的软件顾问。他拥有二十多年的从业经验,是使用Linux和Java技术构建业务解决方案的高手。他所作的技术发言,遍及美国、加拿大以及欧洲的会议和企业。.Michael Schwarz是Black Dragon软件的工程师,一直从事Linux软件开发方面的工作。他是Linux Journal活跃的撰稿人以及Multitool Linux(Addison-Wesley,2002)的首席作者。...

内容简介

Linux是当前发展最快的Java开发平台。作为一个开发和部署平台,它可以为开发人员节省大量时间和成本。但是当开发人员在一个受控的生产环境里管理和部署Java应用程序时,往往会受到平台的极大限制。本书针对Java和Linux开发人员编写,介绍了Linux平台上完整的Java应用程序开发的生命周期。为了使其他开发人员免于花大量时间反复试验,本书通过实际且容易理解的示例,说明了平台、工具和应用程序的开发。本书使用一个简单的命令行应用程序引入基本工具之后,引导读者了解业务逻辑对象分析、数据库设计、Java Servlet UI、Java Server Pages UI、Swing GUI和Standard Widget Toolkit GUI。当提升到企业级后将有机会使用JBoss Application Server、Apache Geronimo Application Server以及Enterprise JavaBeans(EJB)。本书主要内容:使用Linux上可用的开发工具,例如用于Java的GNU编译器(gnu)、Ant、Concument Versioning System NetBeans IDE和IBM的Eclipse Java IDE,使用Java DataBase Connectivity 开发业务逻辑层,使用Servlet和JSP添加Web接口,使用Sun的Java Foundation Classes和IBM的Standard Widget Toolkit组件,添加GUI,在Linux中部署EJB。

图书目录

第Ⅰ部分 基 础 知 识

第1章 Linux环境 3

1.1 本章内容 3

1.2 命令行 3

1.3 Linux的基本概念和命令 4

1.3.1 重定向I/O 5

1.3.2 ls命令 7

1.3.3 文件名 7

1.3.4 权限 8

1.3.5 文件复制 8

1.3.6 通配符 10

1.3.7 文件内容 11

1.3.8 grep命令 13

1.3.9 find命令 14

1.3.10 再论shell 15

1.3.11 tar和zip命令 19

1.3.12 man命令 20

1.4 本章小结 21

1.5 内容扩展 21

1.6 参考文献 21

第2章 编辑器 22

2.1 概述 22

2.2 了解vi 22

2.2.1 退出 26

2.2.2 查找和替换 27

2.2.3 正则表达式 28

2.2.4 向右缩进:.exrc 29

2.3 品种繁多的编辑器 30

2.3.1 sed或stream edtor 31

2.3.2 简单的图形编辑器 31

2.4 本章小结 32

2.5 有关正则表达式的补充说明 33

2.6 参考文献 33

第3章 Java介绍 34

3.1 本章内容 34

3.2 基本的语言元素 34

3.2.1 数值类型 35

3.2.2 对象类型 38

3.2.3 语句 43

3.2.4 Java风格的错误处理 49

3.2.5 print()、println()和printf() 52

3.3 使用Java API 54

3.3.1 package语句 55

3.3.2 import语句 56

3.4 封装、继承及多态性 57

3.4.1 封装 57

3.4.2 继承 57

3.4.3 多态性 60

3.5 模板 62

3.6 virtually和final关键字 63

3.7 一个简单的应用程序 63

3.8 本章小结 65

3.9 内容扩展 65

3.10 参考文献 65

3.11 练习 66

第4章 执行语境 67

4.1 本章内容 67

4.2 简单的开始 67

4.2.1 命令行参数 67

4.2.2 单元测试 69

4.3 System类 69

4.3.1 Java和标准I/O 69

4.3.2 环境变量 70

4.3.3 Java和环境变量 71

4.4 Properties类 73

4.5 Runtime类 75

4.5.1 exec() 75

4.5.2 可移植性 76

4.6 本章小结 76

4.7 内容扩展 77

4.8 参考文献 77

第5章 Sun Microsystem Java

软件开发包 78

5.1 本章内容 78

5.2 建议 78

5.3 Java编译器 79

5.3.1 编译器行为、默认值和

环境变量 79

5.3.2 javac选项 81

5.4 Java运行库引擎 82

5.4.1 基础 82

5.4.2 java选项 83

5.5 程序文档 83

5.5.1 运行javadoc 83

5.5.2 javadoc命令行选项 85

5.5.3 javadoc注释 87

5.6 applet 89

5.7 本地化 89

5.8 RMI 93

5.8.1 RMI简介 93

5.8.2 rmic工具 97

5.8.3 rmiregistry工具 98

5.8.4 设置服务程序和客户程序 98

5.8.5 RMI概要 100

5.9 Java调试器 100

5.10 Java反编译器 107

5.11 绑定Java程序 110

5.11.1 部署应用程序 110

5.11.2 基本jar操作 112

5.12 其他工具软件 113

5.13 本章小结 114

5.14 内容扩展 114

5.15 参考文献 114

第6章 Linux下的IBM开发工具包,

Java 2技术版 115

6.1 本章内容 115

6.2 多个Java SDK共存 115

6.2.1 链接 115

6.2.2 利用符号链接切换

Java版本 119

6.3 IBM JDK与Sun JDK的

不同之处 120

6.3.1 性能 120

6.3.2 命令上的不同 120

6.3.3 IBM类 121

6.4 “_g”的用途 121

6.5 本章小结 121

6.6 内容扩展 121

6.7 参考文献 121

第7章 GNU编译器 122

7.1 本章内容 122

7.2 GNU的发展 122

7.3 GNU编译器集合 122

7.4 用gcj编译简单应用程序 123

7.4.1 用gcj编译FetchURL 124

7.4.2 编译多类程序 125

7.5 选项和开关 125

7.6 使用gcj的理由 126

7.7 不使用gcj的理由 127

7.8 本章小结 127

7.9 内容扩展 127

7.10 参考文献 127

第8章 CVS 129

8.1 本章内容 129

8.2 源代码控制的原因和方法 130

8.2.1 安装 132

8.2.2 导入 132

8.2.3 一般用法 134

8.2.4 更新 137

8.2.5 合并 137

8.2.6 日志 138

8.2.7 CVS状态 140

8.2.8 cvs tag 140

8.2.9 分支标签 141

8.2.10 cvs export命令 143

8.2.11 效率 143

8.3 jCVS 143

8.4 本章小结 145

8.5 内容扩展 145

8.6 参考文献 146

第9章 ant简介 147

9.1 本章内容 147

9.2 不同创建工具的需求 147

9.3 下载并安装ant 148

9.4 ant buildfile示例 150

9.4.1 XML 150

9.4.2 buildfile标签 151

9.4.3 实际的buildfile 156

9.5 本章小结 158

9.6 内容扩展 159

9.7 参考文献 159

第10章 集成开发环境 160

10.1 本章内容 160

10.2 NetBeans 161

 10.2.1 NetBeans的发展史 161

 10.2.2 安装NetBeans 161

 10.2.3 熟悉NetBeans 163

 10.2.4 与CVS集成 166

 10.2.5 集成ant 168

 10.2.6 其他附加工具 169

10.3 SunONE Studio公共版 170

10.4 Eclipse 170

 10.4.1 选择和安装Eclipse 170

 10.4.2 在新项目里使用Eclipse 172

10.4.3 在已有的项目上使用

Eclipse 174

 10.4.4 使用Eclipse 174

10.5 本章小结 174

10.6 内容扩展 175

10.7 参考文献 175

第Ⅱ部分 开发业务逻辑

第11章 平衡的掌握 179

11.1 本章内容 179

11.2 需求 179

11.3 如何开发软件 180

11.4 如何产生好的需求 181

11.5 需求询问的对象 182

11.6 预算应用程序的需求 182

11.6.1 周一早晨10点 182

11.6.2 回到写字台 184

11.7 文档制作、原型设计和项目

干系人的支持认同 184

11.7.1 文档制作 184

11.7.2 项目干系人的支持认同 185

11.7.3 原型制作 186

11.8 本章小结 186

11.9 内容扩展 187

11.10 参考文献 187

11.11 练习 187

第12章 分析与设计:寻找对象 188

12.1 本章内容 188

12.2 起始工作 188

12.3 使用CRC卡 188

12.4 确定对象 189

12.5 寻找方法和属性 190

12.6 本质与非本质 191

12.7 分析停顿 193

12.8 真实的软件工程 193

12.9 核心类 193

12.10 本章小结 197

12.11 内容扩展 197

12.12 参考文献 197

12.13 练习 197

第13章 JUnit:自动单元测试 198

13.1 本章内容 198

13.2 JUnit 198

13.3 设计,再测试,再编码 198

13.4 安装并运行JUnit 200

 13.4.1 下载和解压缩 200

 13.4.2 使用JUnit 202

13.5 编写测试案例 203

 13.5.1 JUnit论断 206

 13.5.2 运行测试案例 207

13.6 运行一组测试程序 208

13.7 本章小结 209

13.8 内容扩展 210

13.9 参考文献 210

13.10 练习 210

第14章 数据存储 211

14.1 本章内容 211

14.2 数据库设计 211

14.3 持久性 211

14.4 独立性 211

14.5 Oracle、PostgreSQL和

MySQL 212

 14.5.1 MySQL 212

 14.5.2 PostgreSQL 212

 14.5.3 Oracle 212

 14.5.4 选择标准 213

14.6 在代码中设置数据库 213

14.7 持久性 214

14.8 持久性并非设计数据库表

的唯一考虑 215

14.9 设置PostgreSQL 215

 14.9.1 安装PostgreSQL 215

 14.9.2 创建postgres用户 216

 14.9.3 创建数据库 216

 14.9.4 JDBC 217

14.10 本章小结 218

14.11 内容扩展 218

14.12 参考文献 218

14.13 练习 218

第15章 数据访问:JDBC 219

15.1 本章内容 219

15.2 JDBC介绍 219

15.3 连接 222

15.4 查询数据 223

15.5 查询结果 224

15.6 更新、插入和删除数据 225

15.7 本章小结 225

15.8 内容扩展 225

15.9 参考文献 226

15.10 练习 226

第Ⅲ部分 开 发 GUI

第16章 GUI设计 229

16.1 本章内容 229

16.2 一个简单的Swing程序 229

16.3 Swing示例 230

16.4 基本的Swing对象 231

16.5 布局管理器 233

16.6 行为、监听器与事件 233

16.7 设计GUI 234

 16.7.1 概况 235

 16.7.2 创建块 236

16.8 本章小结 252

16.9 内容扩展 252

16.10 参考文献 253

16.11 练习 253

第17章 SWT 254

17.1 本章内容 254

17.2 IBM SWT工具包 254

 17.2.1 另一种GUI工具包 254

 17.2.2 介绍SWT的原因? 255

 17.2.3 移植性 255

 17.2.4 本章其他内容 255

 17.2.5 SWT:贴近硬件 256

17.2.6 “Hello, world” SWT

类型 256

17.3 移植BudgetPro到SWT 258

 17.3.1 第1步:转换类成员 260

17.3.2 第2步:转换

main()方法 262

17.3.3 第3步:转换GUI build()

和init()方法 262

17.3.4 完成BudgetPro类

的转换 265

 17.3.5 完成应用程序的转换 265

 17.3.6 SWT和Swing的比较 265

17.4 SWT和gcj 266

17.5 本章小结 267

17.6 内容扩展 267

17.7 参考文献 267

17.8 练习 268

第Ⅳ部分 开发Web接口

第18章 servlet 271

18.1 本章内容 271

18.2 servlet 271

18.3 深入理解与servlet的交互 272

18.4 如何编写servlet 274

18.5 输入与输出 277

18.6 状态问题:cookie、隐藏

变量以及“后退”按钮 278

18.7 设计BudgetPro servlet 280

18.7.1 原型 280

18.7.2 设计 280

18.8 本章小结 283

18.9 内容扩展 283

18.10 参考文献 283

18.11 练习 283

第19章 JSP 285

19.1 本章内容 285

19.2 JSP 285

19.3 如何编写JSP应用程序 287

 19.3.1 scriptlet 287

 19.3.2 声明 289

 19.3.3 表达式 289

 19.3.4 指令 291

 19.3.5 新语法 292

 19.3.6 JSP中的JavaBeans 292

 19.3.7 标记库 294

19.4 在BudgetPro应用程序

中使用JSP 295

19.5 本章小结 296

19.6 内容扩展 296

19.7 参考文献 296

19.8 练习 297

第20章 开源代码的Web应用

程序服务器 298

20.1 本章内容 298

20.2 下载JBoss 298

20.3 软件系统的管理 299

 20.3.1 无需root权限安装软件 299

 20.3.2 出色的粒度访问控制 302

20.4 安装JBoss 302

20.5 开源应用程序服务器与系统

的集成 303

 20.5.1 System V的init系统 303

20.5.2 RedHat/Fedora的

chkconfig程序 308

 20.5.3 其他发行版 312

 20.5.4 IDE集成 312

20.6 部署 312

20.7 Apache Geronimo 314

20.8 安装Geronimo 314

20.9 运行Geronimo服务器 315

20.10 本章小结 315

20.11 内容扩展 316

20.12 参考文献 316

第Ⅴ部分 开发企业级可

扩展软件

第21章 Enterprise JavaBeans

介绍 319

21.1 本章内容 319

21.2 EJB扩展 319

 21.2.1 EJB概念 319

 21.2.2 bean类型 321

 21.2.3 EJB的内幕 324

21.3 JNDI介绍 324

21.3.1 命名以及目录系统

的概念 324

 21.3.2 通用目录服务 325

 21.3.3 JNDI 327

 21.3.4 通过JBoss使用JNDI 330

21.4 本章小结 330

21.5 内容扩展 330

21.6 参考文献 330

第22章 建立EJB 331

22.1 本章内容 331

22.2 了解bean 331

 22.2.1 SessionBean 332

 22.2.2 EJBObject 334

 22.2.3 EJBHome 335

22.2.4 会话bean、远程接口

以及home接口小结 335

22.2.5 EJBLocalHome与

EJBLocalObject 335

 22.2.6 编译bean 336

22.3 本章小结 337

22.4 内容扩展 338

22.5 参考文献 339

第23章 部署EJB 339

23.1 本章内容 339

23.2 Enterprise打包与部署 339

 23.2.1 EJB-JAR文件的内容 341

 23.2.2 使用bean 343

 23.2.3 打包servlet 344

23.3 部署EAR 346

 23.3.1 JBoss 346

 23.3.2 Geronimo 346

23.4 维护分布式应用程序 346

 23.4.1 And与 CVS 347

 23.4.2 XDoclet 348

23.5 抽象传统的应用程序 348

23.6 本章小结 348

23.7 内容扩展 348

23.8 参考文献 349

第24章 临别赠言 350

24.1 未来如此光明,但我有些

迷惑 350

24.2 欢迎您的参与 350

24.3 到来的革命 350

24.4 内容扩展 351

24.5 参考文献 351

附录A ASCII图表 353

附录B BudgetPro的Java

Swing GUI 355

附录C GNU通用公共许可证 365