商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
|
在实战中成长:JSP开发之路 |
|
|
|
在实战中成长:JSP开发之路 |
|
基本信息·出版社:电子工业出版社
·页码:360 页
·出版日期:2009年06月
·ISBN:7121087812/9787121087813
·条形码:9787121087813
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
内容简介 《在实战中成长:JSP开发之路》以Eclipse(版本为3.4.1)为开发工具,以JSP 2.0、Servlet 2.4技术为核心,从软件开发项目实践的角度深入地讲解了Web应用程序的基本知识和使用技巧,以小步迭代的方式引领读者一步一步开发直到完成一个完整的项目。《在实战中成长:JSP开发之路》共分为15章,有两个部分,第一部分为第1~4章是项目准备阶段,第二部分为第5~15章,是项目的开发、重构和测试阶段。如果您已经搭建好了开发环境并对JSP的知识略懂一二,可以直接从第5章开始阅读。《在实战中成长:JSP开发之路》适合于JSP的初学者、网站开发爱好者使用。
编辑推荐 《在实战中成长:JSP开发之路》是由电子工业出版社出版的。
◆从项目实战中学习理论,边做边学。
◆从企业项目中精简,切合实际。
◆项目从简单的雏形逐步商业化,循序渐进。《在实战中成长:JSP开发之路》将带领您完成网上书店项目BookStore的开发。如果您从未接触过JSP,请从第1章开始阅读,了解JSP的基础知识,为项目开发做准备。
第1章JSP与servlet简介
第2章安装开发环境
第3章JSP基础
第4章看看效果
如果您有一定的JSP基础。可以直接进入
第5章,开始构建网上书店,并一点点添加功能。使之逐渐生动起来。
第5章BookStore应用程序
第6章图书维护
第7章分类显示
第8章创建购物车
第9来点Ajax
第10章实现结账功能
第11章用户权限管理
第12章优化一下
第13章看看报表吧
第14章扩展服务
第15最后的任务
目录 第一部分 起步 1
第1章 JSP与Servlet简介 2
1.1 JSP技术 2
1.2 HTTP请求模型 3
1.3 Servlet 4
1.3.1 Servlet是什么 4
1.3.2 Servlet生命周期 4
1.4 JSP和Servlet 6
1.5 小结 6
第2章 安装开发环境 7
2.1 Java IDE 7
2.2 动手安装JDK 10
2.2.1 JDK的安装与配置 10
2.2.2 Eclipse的安装 13
2.2.3 Tomcat的安装 16
2.2.4 Eclipse中的Tomcat配置 20
2.2.5 安装配置MySQL数据库 22
2.3 JSP和数据库 26
2.4 小结 27
第3章 JSP基础 28
3.1 JSP执行流程 28
3.2 JSP模板文本 31
3.3 JSP元素 31
3.3.1 指令元素 31
3.3.2 行为元素 35
3.3.3 脚本元素 53
3.3.4 EL表达式语言 54
3.4 JSP隐含对象 57
3.4.1 request对象 57
3.4.2 response对象 58
3.4.3 pageContext对象 59
3.4.4 session对象 60
3.4.5 application对象 61
3.4.6 out对象 61
3.4.7 config对象 61
3.4.8 page对象 62
3.4.9 exception对象 62
3.4.10 隐含对象的使用方法 62
3.5 小结 68
第4章 看看效果 69
4.1 新建一个应用程序 69
4.2 Hello,JSP 72
4.3 Web应用程序 74
4.3.1 Web应用程序剖析 74
4.3.2 Web应用程序开发过程
简介 75
4.4 小结 75
第二部分 构建应用程序 77
第5章 BookStore应用程序 78
5.1 迭代式开发 78
5.2 BookStore能做些什么 79
5.3 开始编码吧 82
第6章 图书维护 83
6.1 JSP和JDBC 83
6.2 DbUtils 87
6.3 创建数据库和表 91
6.3.1 创建数据库 91
6.3.2 创建图书表 91
6.4 常规任务:CRUD 92
6.4.1 CRUD基本流程 93
6.4.2 CRUD的具体实现 95
6.5 运行起来再说(迭代A1) 102
6.6.1 创建应用程序 102
6.6.2 配置数据库连接 103
6.6.3 开发“图书维护”
最初版本 105
6.6 迭代A1中客户所提
问题的处理(迭代A2) 109
6.6.1 来点CSS 109
6.6.2 功能清单 112
6.6.3 解决乱码问题 114
6.6.4 HTML编辑器 118
6.7 添加缺失的字段
(迭代A3) 121
6.7.1 添加日期字段、版次和
销售状态 122
6.7.2 添加图书封面缩图 123
6.8 验证一下(迭代A4) 130
6.9 分页功能(迭代A5) 133
6.10 小结 142
第7章 分类显示 143
7.1 图书后台分类 143
7.2 前台页面布局 149
7.3 前台首页显示 152
7.4 小结 155
第8章 创建购物车 156
8.1 会话管理 156
8.1.1 Cookie 157
8.1.2 Session 157
8.1.3 结合Database 158
8.2 表和模型 159
8.3 创建购物车 161
8.4 清空购物车 172
8.5 小结 173
第9章 来点Ajax 174
9.1 JavaScript自定义对象 175
9.1.1 基本概念 175
9.1.2 语法规则 175
9.2 Ajax简介 181
9.2.1 XMLHttpRequest简介 182
9.2.2 XMLHttpRequest的属性 182
9.2.3 XMLHttpRequest的方法 184
9.2.4 一个简单的Ajax实例 185
9.3 改进版购物车 190
9.3.1 修改商品数量 192
9.3.2 服务器端处理 195
9.4 高亮显示商品信息 197
9.5 小结 199
第10章 实现结账功能 200
10.1 收集订单 200
10.1.1 结账界面 201
10.1.2 订单生成 203
10.2 在付账页面显示购物车
内容 211
10.3 JavaMail API 213
10.3.1 JavaMail API简介 214
10.3.2 相关信息传输协议 214
10.3.3 下载并安装JavaMail 215
10.3.4 JavaMail API核心类 217
10.4 邮件通知 221
10.4.1 邮件的基本信息 222
10.4.2 发送邮件 223
10.4.3 邮件模板 228
10.5 小结 233
第11章 用户权限管理 234
11.1 权限系统 234
11.2 系统登录 236
11.3 访问控制系统 246
11.3.1 权限管理 246
11.3.2 角色管理 254
11.3.3 为角色分配权限 264
11.3.4 为用户分配角色 266
11.4 访问控制 268
11.5 处理错误 274
11.5.1 异常体系设计 274
11.5.2 本系统的异常类 279
11.6 小结 281
第12章 优化一下 282
12.1 缓存 282
12.2 缓存权限信息 289
12.3 页面缓存 293
12.4 小结 294
第13章 看看报表吧 295
13.1 JFreeChart 295
13.2 实现库存统计图表 299
13.3 小结 306
第14章 扩展服务 307
14.1 Web服务简介 307
14.1.1 XML简介 308
14.1.2 SOAP简介 309
14.1.3 WSDL(Web Services
Description Language) 310
14.1.4 UDDI简介 311
14.2 Apache CXF 311
14.2.1 Apache CXF简介 311
14.2.2 CXF框架支持环境 313
14.3 库存查询服务 324
14.4 会员服务 331
14.4.1 会员注册 331
14.4.2 生成注册码 333
14.4.3 会员登录 336
14.5 小结 340
第15章 最后的任务 341
15.1 代码重构(Refactoring) 341
15.2 单元测试 348
15.2.1 JUnit 4 348
15.2.2 订单模块测试 359
15.3 小结 360
……
序言 前几天,应青软实训技术研发中心老师的邀请为青软实训《在实战中成长》丛书写序,让我想起了三年前的这个时候。当时,为了更好地解决大学生的动手实践能力与企业需求之间存在差距的问题,在相关政府、高校、软件企业等各方的协助及大力支持下,成立了青软实训。
现在,从青软实训走出的学员遍布了北京、上海、大连、青岛等全国各地的软件企业,我和我的同仁在体会到快乐的同时,也感受到了深深的责任感。我们发现,虽然学员在实训中学习的时间只有短短的几个月,但我们带给学员的技术课程、对学员进行的综合素养的训练、与学员的沟通交流以及指导学员完成的项目等都有会对他们今后的职业发展产生影响。
正是基于这样的责任感,才让我们不断地思考,通过什么样的方式才能让作为初学者的学员学好软件开发技术。青软实训的讲师都是拥有多年企业级项目开发经验的项目经理及技术专家,在我们日常的讨论及交流中,大家普遍有一个共识,软件技术还是应该在实战中学习、在项目中学习。我们也确实将这样的教学理念运用到了实训的课程设计及教学实践中。
现在大家面前的这一套《在实战中成长》丛书,正是这一教学理念及实践经验的积累及系统体现。这套丛书的编写思路是以实战项目的开发为主线,将项目的开发过程与相关开发技术的讲解有机融合,使得读者在完成项目开发的同时学习相关的开发技术,真正地做到在实战中成长。第一批出版的本套丛书共包含三本:
·《在实战中成长——C++开发之路》
·《在实战中成长——JSP开发之路》
·《在实战中成长——WindowsForms开发之路》
我们希望通过这套丛书帮助软件开发技术的初学者以一种更加高效、直接以及富有成就感的方式学习软件开发技术,同时也希望通过这套丛书把青软实训总结出的一些好的做法分享给更多的人。
这套丛书的策划及编写是由青软实训技术研发中心的各位讲师共同完成的,他们中的很多位老师都为这套丛书的出版付出了辛苦的劳动。特别是负责首批三本图书编写的钟岱晖、高峰、于翔三位老师,他们是在完成大量教学工作的同时,保质保量地完成了图书的编写工作。在此,我也对他们所做的辛苦工作表示感谢。
同时,这套丛书的出版还得到了电子工业出版社的大力帮助及支持。我向在此过程中给予我们大力帮助及指导的李冰、江立及许艳等各位编辑表示感谢。
在这几年实训的过程中,我发现兴趣和方法在软件技术的学习过程中是非常重要的。对技术的兴趣及良好的学习方法可以让技术学习的过程充满乐趣。希望青软实训《在实战中成长》这套丛书带给大家的也是充满乐趣的阅读体验及学习过程。
青软实训CEO刘全
2009年5月于青岛
前言
如今Web应用程序越来越复杂,处理的数据越来越多,应用已经十分广泛,如何有效地编写Web应用程序就显得十分重要了。由于Java本身的优点,使用Java平台进行Web应用开发,无论是官方,例如Sun,IBM等大公司,还是Java开源社区,例如Apache开源社区都提供了庞大的支持,因此开发Web应用程序选择Java平台是比较明智的。
本书以Eclipse(版本为3.4.1)为开发工具,以JSP2.0,Servlet2.4技术为核心,从软件开发项目实践的角度深入地讲解了Web应用程序的基本知识和使用技巧,以小步迭代的方式引领读者一步一步开发,直到完成一个完整的项目。这样的方式不仅能帮助读者掌握开发中的相关技巧,而且为他们提供了分析实际问题的基本方法。
本书特点
本书旨在为JSP初学者搭建一个通向程序员的桥梁,让读者通过实际的项目摆脱枯燥乏味的纯知识点练习的学习方式。本书具有以下特点:
·贴近实际应用。本书通过项目实战的方式引领读者步入软件开发领域,从项目的最初迭代开始,逐步完善,加入比较复杂的功能,最终形成一个商业化产品的雏形。
·在实战中学习。本书不仅仅是简单地帮助读者学习JSP编码,而且帮助读者逐步地掌握软件开发的分析方法,理解软件开发的构成元素。希望能引导初学者走出语法学习的困境,真正地专注于事务逻辑的处理。
·以项目驱动的方式从头至尾引领并帮助读者完成一个完整的项目,其中穿插了软件工程的内容,包括图及数据库表。此外开源组件的应用也是本书一大特色。笔者希望能帮助读者由代码实现逐步过渡到功能实现层面,为成为合格的程序员奠定基础。
本书内容
本书共分为14章,有两个部分:第一部分为第1~3章,介绍项目准备阶段,第二部分为第4~14章,介绍项目的开发、重构和测试阶段。如果您已经搭建好了开发环境并对JSP的知识略懂一二,可以直接从第5章开始阅读。
本书章节概要如下图所示。
文摘 插图:
需要注意的是,在向客户发送所请求文件的同时,服务器并没有存储关于该客户的任何状态信息。即便某个客户在几秒钟内再次请求同一个对象,服务器也不会响应说:自己刚刚给它发送了这个对象。相反,服务器会重新发送这个对象,因为它已经彻底忘记先前做过什么事情。既然HTTP服务器不维护客户的状态信息,我们就称HTTP协议是一个无状态的协议(statelessprotocol)。接下来再简单了解一下Servlet相关的内容。
1.3 Senrvlet
1.3.1 Senrvlet是什么
1997年Servlet作为Web服务器组件被Sun推出。现在,Servlet已成为稳定有效的Web组件,能有效替代Web服务器CGI程序。在1999年12月Servlet2.2 版推出后,Servlet得到广泛运用,Servlet规范也随之发展。2001年9月发布的Servlet2.3 版是Servlet规范发展史上又一里程碑式的事件。到目前为止,Servlet的版本已发展到3.0。
Servlet是运行在Web服务器(更确切地说是Servlet容器,例如:Apache‘Tomcat)上的Java程序,用于响应客户请求。也可以说,Servlet是Java组件,部署在Web服务器上,能在请求/响应通信模式下有效地工作。
HttpServlet就是一个典型的例子,它扩展了Servlet,并将HTTP作为通信协议。
下面的描述重点参照了Servlet2.4 文档的Servlet规范。