jsp网络编程从入门到精通

前    言


随着当今信息技术的飞速发展和Internet的普及,人们越来越依赖于网络技术来架构自己的个人网站或者组建企业的门户网站,从而实现各种价值、业务和功能,进行网上营销、交流和宣传。在网站开发应用中,JSP占有得天独厚的优势,它基于强大的Java语言,具有良好的可移植性和可扩展性。随着开发JSP网站工具的大量出现,JSP开发在可重用性和安全方面得到了良好的保证,架构JSP网站已经变得越来越方便和快捷。今天,已经有越来越多的人使用JSP技术设计高效的电子商务系统和电子政务系统,开发各种中间交易系统,创建高水平的企业网站。
为了方便广大读者学习,笔者花费半年时间编写了这本书。本书全面地介绍了JSP技术,并以实例介绍了架构JSP站点所采用的工具和组件。学完本书之后,力求让您有项目实践的本领。
本书特点
1.循序渐进,由浅入深
为了方便读者学习,本书首先让读者了解JSP,并掌握开发一个动态网站所需的工具和组件。读者在掌握工具的基础上,逐渐学习JSP,掌握网站系统构建,从而可以边学习、边动手,更快地掌握JSP的各种知识。
2.技术全面,内容充实
笔者花费2~3个月的时间进行前期准备,详细分析了现在JSP各种技术和工具的特点及实际应用。全书包含JSP常用的各种技术和工具,如Eclipse、Lomboz、JavaBean、EL、Servlet、Struts、Hibernate,以及这些技术的结合应用。
3.对比讲解,理解深刻
由于JSP相关技术比较多,很多读者无所适从,无从下手。本书通过对比讲解的方式,帮助读者解决这个问题。本书在第6、7、14、16章分别使用4种技术实现用户登录模块,并进行相应的对比。通过这4章的讲解,读者可以对这几种技术以及相互结合有更深入的理解。
4.案例精讲,深入剖析
根据笔者多年的项目经验,JSP系统开发万变不离其宗,一通百通,所以本书没有像其他书籍使用多个案例讲解,而是选取了最典型的案例——电子购物系统进行讲解。第17章先对系统作整体分析,让读者对系统有整体的把握。然后使用4个章节依次讲解系统开发中最典型的4个模块——用户注册模块、图片管理模块、购物车模块、新闻发布模块。通过这几个章节的讲解,读者可以真正掌握系统开发的精髓。
5.配多媒体视频讲解光盘,加速学习
为了让初学者快速入门,笔者专门制作了多个视频演示动画,并配有声音讲解。通过这些视频讲解,读者可以更快地掌握JSP,同时也可以节省图书的篇幅,从而降低图书的定价,让读者可以得到更多的实惠。
本书内容
第1章:从JSP是什么,它有哪些特征和优势开始讲解,把您带到这门技术当中来。本章还对开发Web站点的技术发展进行了阐述。
第2章:详细介绍开发一个动态网站所需和辅助的开发工具和组件,并深入地讲解它们的安装配置方法以及应该注意的事项。通过本章的学习,您可以比较熟练地掌握这些工具的使用,它们可以使您在开发JSP网站时得心应手。
第3章:创建第一个JSP应用,让您通过对实例的学习,了解JSP的运行原理和机制。有了对本章实例的总体感性认识之后,您在理解下一章的JSP基本语法时会更加容易。
第4章:详细介绍JSP页面构成和创建的基本语言,让您了解JSP程序的编写规则。本章主要对JSP指令元素和标准动作进行详细介绍。
第5章:重点介绍JSP页面中所使用到的各类内置对象。对这些内置对象的熟练掌握,可以大大简化JSP的开发。
第6~7章:以用户登录系统为实例,介绍纯JSP页面开发方式和JavaBean的使用。JavaBean可实现逻辑和显示代码的分离及功能代码的可重用。
第8章:主要介绍JSP开发过程中出现的国际化和本地化问题,并对一直困惑开发者的中文乱码问题进行详细阐述。
第9章:本章属于JSP高级部分,重点介绍JSP自定义标签的开发过程。
第10章:由于自定义标签的广泛应用,必然会存在一些通用和常用功能,将这些功能抽取出来就出现了标准标签库。本章对标准标签库的使用作了重点介绍。
第11章:介绍EL(表达式语言)的使用和语法。EL的使用可以方便在JSP页面中对变量和表达式进行调用。
第12章:主要介绍Servlet的两个高级使用:过滤器功能和监听器功能。
第13~14章:重点介绍MVC框架的概念以及使用Struts简化网站MVC结构的实现。着重对Struts的运行机制、开发过程进行详细介绍。其中,Struts-config.xml配置文件是整个Struts学习的重点。
第15章:介绍轻量级持久层技术——Hibernate。以前非面向对象的数据库设计与程序的面向对象设计一直格格不入,Hibernate持久层技术使开发者从非面向对象的SQL语句中脱离出来,从而统一整体项目的设计思想。
第16章:介绍综合使用Struts和Hibernate技术实现JSP用户登录实例。
第17~21章:通过多个模块的综合实例讲解,让您有实际项目的体会,达到实际开发项目的能力。
读者对象
? 专业网页设计人员
? 网站维护人员
? 网页制作爱好者
? 大中专院校的学生
? 相关社会培训学员
技术支持
本书提供技术论坛,若您有任何问题,都可以到论坛上提问,我们会以最快的速度给您回复。论坛网址:
http://www.douban.com/group/22683/
本书作者
本书由强锋科技组织编著,由邹竹彪主笔。其他参与资料整理和光盘制作的人员有王龙、王拥东、吴善才、徐砚颖、尹健慧、詹涵林、张薇、张小强、张运端、赵玉荣、郑慧、朱博、朱朝坤、邹小红、陈强、陈燕、丁凤霞、丁礼友、范忠诚、黄俊灿、贾伟、李喜彤、林垚、尚文谊、孙亮亮、唐崇敏、陶则熙等。在此对大家的辛苦工作一并表示感谢!

但愿本书能让您学到真正有用的知识,能消除您在学习JSP过程中的种种烦恼。如果这样,我们也就心满意足了。若您发现本书中存在任何疏漏请及时和笔者或本书编辑联系,我们会在本书再版时改正。联系方式:[email protected]

目    录
第一篇  JSP基础开发
第1章  初识JSP 3
1.1  创建Web应用的技术发展过程 4
1.1.1  传统Web服务器模式的不足 4
1.1.2  CGI实现动态生成HTML 5
1.1.3  Servlet——改进的CGI 6
1.2  JSP简介 7
1.2.1  JSP的优点 8
1.2.2  JSP与ASP和PHP的比较 8
1.2.3  为什么选择JSP 10
1.3  本章小结 10
第2章  所需工具安装和配置 11
2.1  安装和配置JDK 12
2.1.1  安装JDK 12
2.1.2  配置JDK环境变量 13
2.2  安装和配置Web服务器Tomcat 13
2.2.1  安装Tomcat服务器 14
2.2.2  启动和配置Tomcat服务器 15
2.2.3  测试Tomcat 17
2.3  安装和配置MySQL数据库 18
2.3.1  下载MySQL及其相关工具 18
2.3.2  安装MySQL数据库 19
2.3.3  管理MySQL数据库 21
2.4  安装Eclipse和Lomboz插件 22
2.4.1  安装Eclipse 22
2.4.2  安装Lomboz插件 23
2.5  安装Dreamweaver工具 24
2.6  本章小结 25
第3章  第一个Web应用——HelloWorld 27
3.1  构架JSP网站 28
3.1.1  设置Java的构建路径 28
3.1.2  Lomboz环境设置 28
3.1.3  创建一个J2EE项目 30
3.1.4  在Eclipse中启动Tomcat服务器 32
3.1.5  发布helloworld模块 32
3.1.6  在Tomcat中添加helloworld模块路径 34
3.2  建立动态网站 35
3.2.1  设置JDBC连接包 35
3.2.2  创建MySQL数据库和表 36
3.2.3  连接数据库 36
3.3  本章小结 38
第4章  JSP基本语法 39
4.1  JSP指令元素 40
4.1.1  容器处理JSP文件的3个阶段 40
4.1.2  page指令 40
4.1.3  include指令 45
4.1.4  taglib指令 47
4.2  JSP标准动作元素 48
4.2.1  JSP标准动作:内置标记 48
4.2.2  处理JavaBean的标准动作 49
4.2.3  标准动作 53
4.2.4  标准动作 54
4.2.5  标准动作 54
4.2.6  处理插件的标准动作 54
4.3  脚本元素 57
4.3.1  JSP表达式 57
4.3.2  JSP小脚本(scriptlet) 58
4.3.3  声明(declaration) 58
4.4  JSP注释 59
4.4.1  HTML中注释 59
4.4.2  JSP注释标记 59
4.4.3  在JSP脚本正文部分注释 59
4.4.4  综合使用实例 59
4.5  本章小结 60
第5章  JSP的内置对象 61
5.1  request内置对象 62
5.2  response内置对象 63
5.3  page内置对象 66
5.4  session内置对象 67
5.5  application内置对象 70
5.6  out内置对象 72
5.7  exception内置对象 73
5.8  config内置对象 73
5.9  pageContext内置对象 73
5.10  本章小结 75
第6章  用户登录应用实例 77
6.1  选择用户登录应用实例的原因 78
6.2  创建实例项目 78
6.3  实现用户登录应用 78
6.3.1  最终实现的效果 78
6.3.2  系统功能图 79
6.3.3  数据库设计 80
6.3.4  用户登录应用的实现 81
6.3.5  项目发布 86
6.4  本章小结 87
第7章  JavaBean实现用户登录应用 89
7.1  JavaBean环境配置 90
7.2  创建JavaBean 90
7.2.1  数据库操作DBConnect类 91
7.2.2  创建用户对象类User和SqlUser 95
7.2.3  用户对象操作类UserFactory和SqlUserFactory 97
7.2.4  创建工厂类Factory和SqlFactory 99
7.3  实现登录验证码 101
7.4  修改前台的JSP文件 102
7.5  使用数据库连接池技术 104
7.5.1  传统连接模式的不足以及连接池技术的优点 105
7.5.2  Tomcat连接池配置 106
7.5.3  实现连接池 107
7.6  本章小结 108
第8章  JSP开发中的常见问题 109
8.1  JSP程序的国际化以及本地化 110
8.1.1  日期的国际化 110
8.1.2  实现多国语言版本的JSP程序 111
8.2  中文乱码问题 115
8.2.1  字符集介绍 115
8.2.2  产生乱码的原因 116
8.2.3  解决方法 117
8.2.4  小结 118
8.3  本章小结 119
第二篇  JSP高级开发
第9章  自定义标签的开发 123
9.1  标签库的体系结构 124
9.1.1  自定义标签库的概念 124
9.1.2  自定义标签与JavaBean之间的区别 127
9.2  自定义标签的开发实例 127
9.2.1  简单格式的标签开发 127
9.2.2  定义带有属性的标签 130
9.2.3  自定义带有体的标签 132
9.2.4  标签体中嵌套其他子标签 135
9.3  JSP2.0新特性——简单标签处理类的开发 138
9.3.1  简单标签简介 138
9.3.2  简单标签实例 139
9.4  标签文件 140
9.5  本章小结 143
第10章  标准标签库JSTL 145
10.1  JSTL简介 146
10.2  JSTL的安装 147
10.3  核心标签库 149
10.3.1  表达式操作标签 149
10.3.2  流程控制标签 155
10.3.3  URL相关的标签 160
10.4  国际化(I18N)标签库 163
10.4.1  各国际化标签的介绍 164
10.4.2  综合实例 166
10.4.3  格式化日期、货币 168
10.5  XML标签库 171
10.5.1  XPath介绍 171
10.5.2  XML核心动作标签 173
10.5.3  XML的流程控制动作 177
10.5.4  XML的转换动作 181
10.6  函数(function)标签库 185
10.7  SQL标签库 186
10.8  本章小结 189
第11章  EL表达式语言 191
11.1  EL表达式语言简介 192
11.2  EL语法 193
11.2.1  在EL中可以包含的文字 193
11.2.2  操作符“[]”和“.” 194
11.2.3  EL中的基本算术操作符 194
11.2.4  EL中的关系操作符 197
11.2.5  逻辑操作符 201
11.2.6  empty操作符 202
11.2.7  其他操作符 202
11.3  EL中的隐含对象 203
11.4  EL中调用自定义函数 209
11.5  本章小结 210
第12章  使用Servlet 2.4过滤器和监听器 211
12.1  Servlet过滤器 212
12.1.1  过滤器的简介 212
12.1.2  Servlet过滤器的体系结构 213
12.1.3  实现一个Servlet过滤器 213
12.1.4  过滤器的应用 216
12.1.5  使过滤器适应MVC体系结构 216
12.2  Servlet事件监听器 217
12.2.1  Servlet上下文监听器实例 218
12.2.2  Http会话监听器实例 219
12.2.3  客户端请求监听器实例 222
12.3  本章小结 223
第13章  使用Struts控制器简化MVC开发 225
13.1  什么是框架 226
13.2  Model1和Model2模式比较 226
13.2.1  Model1模式 226
13.2.2  什么是MVC(Model2)开发模式 228
13.3  Struts的应用 229
13.3.1  Struts的体系结构 229
13.3.2  为什么使用Struts 231
13.3.3  Struts的安装和配置 232
13.3.4  使得Dreamweaver支持Struts标签 235
13.4  本章小结 236
第14章  Struts实现用户登录应用 237
14.1  Struts的实现 238
14.1.1  修改index.jsp页面 238
14.1.2  修改logon.jsp页面 240
14.1.3  创建LogonForm.java类 242
14.1.4  创建LogonAction.java类 244
14.1.5  创建LogoutAction.java类 246
14.1.6  构造Constants类 247
14.1.7  struts-config.xml文件配置 248
14.1.8  资源文件 251
14.2  Struts-config.xml配置文件 252
14.2.1  标记 252
14.2.2  标记 253
14.2.3  标记 253
14.2.4  项 254
14.2.5  标记 254
14.2.6  标签 255
14.2.7  标签 255
14.2.8  标签 255
14.2.9  同一模块中使用多个配置文件 256
14.3  Struts标签库 257
14.3.1  Bean标签库 257
14.3.2  逻辑标签Logic 260
14.3.3  HTML标签 263
14.4  使用DispatchAction类 269
14.5  本章小结 270
第15章  Hibernate持久层技术 271
15.1  概述 272
15.1.1  持久层技术 272
15.1.2  Hibernate简介 272
15.2  Hibernate的安装和配置 273
15.2.1  下载Hibernate 273
15.2.2  安装和配置Hibernate 274
15.3  Hibernate的实例讲解 276
15.3.1  创建HibernateUtil类 277
15.3.2  创建model.hbm.xml映射文件 278
15.3.3  创建HibernateTest类进行数据库操作 280
15.3.4  创建页面显示hibernateTest.jsp文件 281
15.3.5  总结 282
15.4  深入XML映射文件 283
15.4.1  继承映射 283
15.4.2  集合映射 286
15.4.3  实体映射 292
15.5  HQL语句 300
15.5.1  from子句 301
15.5.2  连接(joins)查询 301
15.5.3  select子句 301
15.5.4  统计函数 302
15.5.5  多态查询 302
15.5.6  where子句 302
15.5.7  表达式(Expressions) 302
15.5.8  order by子句 304
15.5.9  group by子句 304
15.5.10  子查询 305
15.6  本章小结 305
第16章  Struts+Hibernate实现用户登录应用 307
16.1  功能说明 308
16.1.1  实现的功能 308
16.1.2  文件的结构 308
16.2  实现功能 309
16.2.1  创建实体类 309
16.2.2  XML配置文件 311
16.2.3  创建数据库表 314
16.2.4  创建相应的操作类 315
16.2.5  创建Struts的Action和ActionForm类 319
16.2.6  创建页面JSP文件 321
16.2.7  运行此Web应用 324
16.3  Hibernate的自动生成工具 324
16.4  本章小结 325
第三篇  项目实践:网上购物系统
第17章  动态网站项目实战 329
17.1  实例项目介绍 330
17.1.1  软件开发的基本过程 330
17.1.2  创建实例项目MyWebProject 331
17.1.3  项目开发环境 332
17.2  功能分析与设计 332
17.2.1  用户注册模块 333
17.2.2  购物车模块 333
17.2.3  图片管理模块 334
17.2.4  新闻管理模块 334
17.3  数据库分析与设计 335
17.3.1  商品表product 335
17.3.2  商品分类表board 336
17.3.3  新闻表news 336
17.3.4  新闻分类表newsboard 337
17.3.5  图片表pic 337
17.3.6  用户表userinfo 338
17.3.7  用户商品关系表shop 339
17.4  数据库连接 340
17.4.1  配置poolman.xml文件 340
17.4.2  创建数据库连接和操作类DBConnect.java 342
17.5  创建工厂类Factory和SqlFactory 345
17.5.1  Factory抽象类的创建 345
17.5.2  SqlFactory类的创建 346
17.6  CVS安装和配置 348
17.6.1  CVS服务器端的安装和配置 348
17.6.2  CVS客户端配置 350
17.7  本章小结 352
第18章  用户注册模块 353
18.1  注册功能的说明 354
18.1.1  需要创建的文件 354
18.1.2  创建文件之间的关系 355
18.2  创建前台JSP文件 356
18.2.1  注册页面zhuce.jsp 356
18.2.2  处理注册页面zhuceok.jsp 361
18.2.3  注册信息查询页面userinfo.jsp 363
18.2.4  修改用户注册信息页面edituser.jsp 364
18.2.5  处理用户注册信息修改页面edituserok.jsp 367
18.2.6  密码修改页面editpassword.jsp 369
18.2.7  处理密码修改页面editpasswordok.jsp 370
18.3  创建后台JSP文件 371
18.3.1  显示所有用户信息页面showalluser.jsp 371
18.3.2  删除用户信息页面deluser.jsp 372
18.4  创建相应的JavaBean类 373
18.4.1  获取参数封装类ParameterUtils.java 373
18.4.2  用户接口类User.java 375
18.4.3  用户实现类SqlUser.java类 376
18.4.4  用户操作抽象类UserFactory.java类 377
18.4.5  用户操作实现类SqlUserFactory.java类 377
18.4.6  Session管理类SessionManager.java 381
18.4.7  字符编码类MD5.java 383
18.5  本章小结 389
第19章  图片管理模块 391
19.1  图片管理模块的介绍 392
19.1.1  需要创建的文件 392
19.1.2  创建文件之间的逻辑关系 392
19.2  图片上传功能的实现 393
19.2.1  图片上传页面uploadpic.jsp 393
19.2.2  处理图片上传页面uploadpicok.jsp 399
19.3  图片管理功能的实现 402
19.3.1  图片统一管理页面picmanagement.jsp 402
19.3.2  图片信息修改页面editpic.jsp 410
19.3.3  处理图片信息修改页面editpicok.jsp 414
19.3.4  图片删除页面deletepic.jsp 416
19.4  图片选择功能实现 416
19.5  创建JavaBean类 423
19.5.1  图片接口类Pic.java 423
19.5.2  图片实现类SqlPic.java 424
19.5.3  图片操作抽象类PicFactory.java 424
19.5.4  图片操作实现类SqlPicFactory.java 425
19.6  本章小结 429
第20章  购物车模块 431
20.1  购物车模块的介绍 432
20.1.1  需要创建的文件 432
20.1.2  创建文件之间的关系 433
20.2  创建购物车前台JSP文件 434
20.2.1  展示商品的页面showProduct.jsp 434
20.2.2  购买商品的页面buyproduct.jsp 438
20.2.3  处理商品购买的页面buyproductok.jsp 441
20.2.4  显示用户购物车的页面shoppingcar.jsp 444
20.2.5  用户查看订单的页面myorder.jsp 444
20.3  创建后台JSP页面 447
20.3.1  添加商品分类的页面addboard.jsp 448
20.3.2  处理版块添加的页面addboardok.jsp 449
20.3.3  删除商品版块的页面delboard.jsp 450
20.3.4  发布新商品的页面addproductinfo.jsp 450
20.3.5  处理新商品发布的页面addproductinfook.jsp 454
20.3.6  查看订单的页面checkorderlist.jsp 455
20.3.7  处理订单的页面checkedorder.jsp 456
20.4  创建相关的JavaBean类 457
20.4.1  商品分类接口类Board.java 457
20.4.2  商品分类实现类SqlBoard.java 458
20.4.3  商品分类操作抽象类BoardFactory.java 458
20.4.4  商品分类操作实现类SqlBoardFactory.java 458
20.4.5  商品接口类Product.java 461
20.4.6  商品实现类SqlProduct.java 461
20.4.7  商品操作抽象类ProductFactory.java 462
20.4.8  商品操作实现类SqlProductFactory.java 462
20.4.9  购物接口类Shop.java 470
20.4.10  购物实现类SqlShop.java 470
20.4.11  购物操作抽象类ShopFactory.java 471
20.4.12  购物操作实现类SqlShopFactory.java 471
20.4.13  购物表单输出类ShopUtil.java 478
20.4.14  日期操作类GetDate.java 479
20.4.15  页面地址获取类Gethttpreferer.java 481
20.4.16  临时用户ID获取类GetUserID.java 482
20.5  本章小结 483
第21章  新闻发布模块 485
21.1  新闻发布模块的介绍 486
21.1.1  需要创建的文件 486
21.1.2  文件之间的逻辑关系 487
21.2  添加新闻分类版块的实现 488
21.2.1  添加信息版块的页面addnewsboard.jsp 488
21.2.2  处理新闻版块添加的页面addnewsboardok.jsp 491
21.3  新闻版块的管理 492
21.3.1  修改新闻版块的页面editnewsboard.jsp 492
21.3.2  处理新闻版块修改的页面editnewsboardok.jsp 493
21.3.3  删除新闻版块的页面delnewsboard.jsp 494
21.4  新闻发布功能的实现 495
21.4.1  新闻发布的页面publishnews.jsp 495
21.4.2  处理新闻发布的页面publishnewsok.jsp 499
21.4.3  文本编辑页面editpaper.jsp 502
21.4.4  文本编辑操作的JavaScript文件editpaper.js 508
21.4.5  图片新闻的发布页面publishphotonews.jsp 513
21.4.6  处理图片新闻发布的页面publishphotonewsok.jsp 517
21.5  新闻管理功能的实现 520
21.5.1  新闻管理页面newsmanagement.jsp 520
21.5.2  修改新闻头条和热点的页面changetophot.jsp 522
21.5.3  新闻移动的页面movenews.jsp 523
21.5.4  处理新闻移动的页面movenewsok.jsp 526
21.5.5  实现新闻重发的页面republishnews.jsp 527
21.5.6  删除新闻的页面delnews.jsp 528
21.6  创建新闻模板文件news.template 529
21.7  JavaBean类的创建 531
21.7.1  新闻版块抽象类NewsBoard.java 532
21.7.2  新闻版块实现类SqlNewsBoard.java 532
21.7.3  新闻版块操作抽象类NewsBoardFactory.java 533
21.7.4  新闻版块操作实现类SqlNewsBoardFactory.java 533
21.7.5  新闻接口类News.java 535
21.7.6  新闻实现类SqlNews.java 536
21.7.7  新闻操作抽象类NewsFactory.java 536
21.7.8  新闻操作实现类SqlNewsFactory.java 537
21.7.9  新闻模板读取类ReadTemplates.java 546
21.7.10  字符替代操作类ReplaceAll.java 547
21.7.11  新闻静态页面生成类WriteHtml.java 547
21.8  本章小结 548

你可能感兴趣的:(jsp网络编程从入门到精通)