《Java Web开发之道》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:王国辉,卢瀚等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121128035
  • 页数:520 页
图书介绍:本书分为6篇,共计12章内容,全面介绍了学习和应用Java Web进行程序开发的各种陷阱与谬误、技术细节与经验技巧、常用的算法及解决方案。其涉及的技术主要包括JSP、Servlet、JDBC、JavaScript、CSS、AJAX和数据库应用等基础知识,jQuery、报表打印、Java Mail等一些相对高级的技术,同时还包括Spring、Hibernate、Struts1和Struts2主流的框架技术。

第1篇 编程经验与感悟篇 3

第1章 编程经验谈6则 3

经验01乐不思蜀—寻找编程的乐趣 3

经验02水滴石穿—编程学习经验谈 4

经验03举足轻重—代码规范经验谈 6

经验04技高一筹—数据库设计经验谈 8

经验05征战沙场—项目实战经验谈 10

经验06步步高升—面试经验谈 12

第2章 编程感悟6则 15

感悟01脚踏实地—程序员的成长之路 15

感悟02与时俱进—程序员的生存法则 16

感悟03制胜法宝—程序员的必备技能 17

感悟04雾里看花—程序员的认识误区 18

感悟05宏图大业—程序员的生涯规划 19

感悟06机不可失—未来IT发展趋势 20

第2篇 陷阱与谬误篇 24

第3章 细说开发人员不可忽视的20个技术陷阱 24

陷阱01脱缰之马—IF语句的花括号“{”和“}” 24

陷阱02精度缺失—强制转换的负面影响 26

陷阱03缺一不可—反序列化对象的serialVersionUID陷阱 27

陷阱04谨言慎行—被覆盖的父类变量 30

陷阱05无法运行—自定义String方法导致主方法无效 33

陷阱06小心谨慎—字节数组的乱码问题 34

陷阱07控制无效—switch语句的运行控制陷阱 35

陷阱08防不胜防—复合赋值造成精度缺失 37

陷阱09不得不防—long型数据的隐患 39

陷阱10永无休止—while的死循环 40

陷阱11数值转换—八进制数的危害 41

陷阱12莫名其妙—Servlet的页面转发陷阱 41

陷阱13深入理解—请求转发与重定向 44

陷阱14超出控制—Tomcat下单例模式导致的实例并不唯一 46

陷阱15阻止失败—错误阻止浏览器默认行为 49

陷阱16一无可取—操作Cookie取值错误陷阱 50

陷阱17晕头转向—JavaScript嵌套函数指向this对象错误 52

陷阱18线程安全—Servlet的非线程安全 54

陷阱19深藏不漏—frame的多session陷阱 56

陷阱20字符乱码—AJAX的中文乱码 58

第4章 细说开发人员意识中的20个常见谬误 60

谬误01误入歧途—所有的异常都要使用try catch语句捕获 60

谬误02想入非非—所有资源都由垃圾回收器回收 61

谬误03是非真相—默认构造方法都是public的 62

谬误04并非如此—类中不能创建私有构造方法 63

谬误05小心为妙—split()方法可分隔所有字符串 64

谬误06恰恰相反—存储数据HashMap比数组快 65

谬误07必由之路—try语句块中使用return语句,finally语句块将得不到执行 66

谬误08一字之差—重载方法就是重写方法 67

谬误09相差甚远—存储相同数据一维、二维数组占内存基本相同 69

谬误10不知其二—泛型在不被指定的情况下是不确定的类型 71

谬误11恶意猜测—多个线程同时调用静态方法影响运行结果 72

谬误12不知其二—字符串是值类型 73

谬误13易于理解—算法应越简单越好 74

谬误14相差甚远—String与StringBuffer基本上相同 75

谬误15误入歧途—JAVA中没有全局变量 77

谬误16恰恰相反—频繁查询数组比HashMap快 78

谬误17并非如此—DOM属性与元素属性是相同的 80

谬误18片面之词—所有业务逻辑都应由程序实现 80

谬误19并非如此—JavaScript没有私有变量与共有变量之分 81

谬误20并非如此—JavaScript是顺序解析的 82

第3篇 技术细节篇 87

第5章 细说Java Web技术基础细节50例 87

细节01举足轻重—Java类的对象 87

细节02子承父业—Java的继承 88

细节03多歧亡羊—Java的多态性 90

细节04以简驭繁—Java的接口 92

细节05分毫析厘—Java的变量与常量的区别 93

细节06变幻无常—Java的拆箱与封箱机制 95

细节07减少开销—Java变量的使用原则 98

细节08开枝散叶—DOM分层结构 99

细节09金题玉躞—CSS样式表特点 100

细节10初识JSP—JSP技术特征 101

细节11追根溯源—JSP处理过程 103

细节12有备无患—JSP的3种注释 104

细节13异曲同工—include指令与jsp:<include>的区别 106

细节14雀小脏全—JavaBean的形式和要素 108

细节15二分明月—JavaBean的种类 110

细节16精益求精—JavaBean的设计原则 110

细节17究根问底—JavaBean的作用域 112

细节18一探究竟—JavaBean的属性 113

细节19生老病死—Servlet的生命周期 116

细节20繁枝末节—Servlet的代码结构 117

细节21守望相助—Servlet上下文监听 118

细节22忠诚卫士—Servlet过滤器原理 119

细节23过化存神—Servlet过滤器的配置 120

细节24井井有条—XML文档结构 121

细节25浑然一体—XML规范中的字符集 123

细节26循规蹈矩—DTD文档类型定义 124

细节27自立门户—自定义标签的构成 127

细节28钟灵毓秀—Tag接口解析 129

细节29安全至上—JavaScript的同源策略 131

细节30事件灵魂—JavaScript的event对象 132

细节31量才录用—DOM核心接口 133

细节32借花献佛—限制Cookie在特定的域 135

细节33计功补过—日志记录器Logger 137

细节34连枝比翼—JDBC-ODBC桥技术 138

细节35有条不紊—Resultset结构特点 139

细节36承前启后—连接池技术 140

细节37兵多将广—JDBC的驱动类型 142

细节38按部就班—JDBC数据持久化流程 144

细节39老当益壮—Model1开发模式 146

细节40分守要津—Model2开发模式 147

细节41守正不挠—正则表达式 149

细节42门当户对—正则表达式模式匹配符 150

细节43信而有征—RegExp对象的属性 152

细节44规矩准绳—JavaScript数据类型转换规则 153

细节45随遇而安—JavaScript函数变量作用域 154

细节46井然有序—HTML文档的基本结构 154

细节47得力助手—ActiveX控件剖析 155

细节48必不可少—JavaScript中的document对象 156

细节49必知必会—HTML表单中的常用元素 156

细节50消除隐患—Internet Explorer安全区域 158

第6章 细说Java Wab主流框架技术细节30例 160

细节01深入剖析—Spring框架的组成模块 160

细节02反经行权—Spring的IoC 161

细节03切中时弊—Spring的AOP 162

细节04浅尝辄止—AOP中的术语 164

细节05生生不息—容器中JavaBean生命周期 166

细节06因时制宜—Spring的控制器 167

细节07轻车简从—Spring中DAO框架 169

细节08防患未然—Spring的事务管理器 171

细节09触景生情—Spring视图解析器 173

细节10惺惺相惜—容器与JavaBean的耦合 174

细节11五子登科—Hibernate的核心接口 175

细节12触类旁通—Hibernate命名策略的运用 176

细节13变幻莫测—持久化实例的3种状态 179

细节14合理规划—隔离级别的选择 181

细节15 寻枝摘叶—HQL检索技术 181

细节16重中之重—Struts1.X的MVC设计模式 185

细节17按部就班—Struts 1.X的工作流程 186

细节18强弓劲弩—Struts 1.X中的主要控制器 187

细节19应时对景—Struts 1.X中的视图 191

细节20从容应对—Validator框架和Actionform 192

细节21标新立异—Struts2.X的体系结构 193

细节22举重若轻—Struts2.X的ACTION对象 195

细节23驾轻就熟—Struts2.X的ACTION基本流程 196

细节24不法常可—Struts2.X的常量配置 197

细节25不可多得—Struts2.X结果映射的类型 198

细节26神兵利器—Struts2.X的OGNL 199

细节27神通广大—Struts2.X拦截器 201

细节28变化无穷—Struts2.X拦截器栈配置 203

细节29顺藤摸瓜—Struts2.X资源文件加载顺序 204

细节30规矩准绳—Struts2.X验证文件命名规则 205

第7章 细说Java Web其他应用技术细节20例 208

细节01焕然一新—AJAX的开发模式 208

细节02 AJAX灵魂—XMLHttpRequest对象 209

细节03小心谨慎—AJAX开发注意的问题 211

细节04按部就班—AJAX发送请求步骤 212

细节05有求必应—AJAX处理服务器响应 214

细节06避实就虚—数据库的视图 215

细节07灵活多变—创建存储过程的方法 217

细节08迫不得已—数据库的触发器 220

细节09通风报信—邮件传输相关协议 222

细节10知错改错—指令标识的语法错误 223

细节11知错改错—动作标识的语法错误 225

细节12防不胜防—脚本标识中的错误 227

细节13遁入空门—程序的空指针错误 231

细节14解析XML— JDOM介绍 232

细节15 深入细节—JDOM的数据类型 233

细节16解析XML—SAX和DOM比较 235

细节17驾轻就熟—SAX的常用接口 236

细节18电子信使—Java Mail的关键类解析 237

细节19炫目多彩—网页基本配色原则 242

细节20井井有条—页面布局方式 243

第4篇 编程技巧篇 248

第8章 细说Java Web基础技巧70例 248

技巧01精确操作—防止重复提交表单 248

技巧02友好提示—JSP自定义错误页面 249

技巧03杜绝缓存—JSP禁用页面缓存 250

技巧04删除缓存—JSP删除指定Cookie 250

技巧05发送图片—通过JSP发送动态图像 251

技巧06遍历数组—JSP的for/in循环 253

技巧07日期处理—JSP字符串日期转换 253

技巧08路标指示—JSP相对路径设置 254

技巧09遍历文件—JSP遍历指定目录下的文件 255

技巧10火眼金睛—JSP查看文档是否存在 256

技巧11数字处理—JSP正常本地格式化输出 256

技巧12位数控制—JSP控制整数小数输出位数 257

技巧13百分数处理—JSP数字百分比输出 257

技巧14货币处理—JSP货币值输出 258

技巧15 读取web.xml—JSP读取web.xml参数 259

技巧16线程安全—编写线程安全的JSP程序 259

技巧17动作指令—JSP包含动态文件 260

技巧18固定不变—CSS的绝对定位方法 261

技巧19页面居中—CSS垂直居中方法 262

技巧20图文混排—CSS实现的图文混排 263

技巧21只读文本框—设置文本框为只读属性 263

技巧22限制输入—限制编辑框输入文本的长度 264

技巧23格式转换—将数据转换为JSON格式 265

技巧24批量操作—实现复选框的全选和反选 266

技巧25数字格式化—将数字格式化指定位数 267

技巧26正则表达式—验证二进制数 268

技巧27输出HTML—生成版权信息 269

技巧28 Tomcat技巧—修改端口号方法 269

技巧29 Tomcat技巧—常用优化技巧 270

技巧30 Tomcat技巧—清除Tomcat页面缓存 271

技巧31 Tomcat技巧—限制特定IP访问 271

技巧32 Tomcat技巧—配置虚拟主机 271

技巧33 Tomcat技巧—配置DBCP连接池 272

技巧34 Tomcat技巧—设置默认执行页面 273

技巧35预先查看—实现图片上传预览功能 273

技巧36开发技巧—Eclipse自定义菜单项 274

技巧37开发技巧—Eclipse使用中文JavaAPI 274

技巧38 iframe技巧—在父窗体中访问子窗体 275

技巧39 iframe技巧—iframe自适应高度 275

技巧40 Servlet技巧—利用Servlet导出Excel 276

技巧41 Servlet技巧—精简web.xml的内容 277

技巧42 Servlet技巧—改变JSP文件后缀 278

技巧43 Servlet技巧—访问数据库连接池 279

技巧44 Servlet技巧—显示出错信息技巧 280

技巧45 Servlet技巧—使用过滤器防止页面缓存 280

技巧46 Servlet技巧—同时支持两种请求协议 281

技巧47系统日志—利用Log4j记录系统活动 282

技巧48遍历Map—利用JSTL遍历Map 282

技巧49自动编号—利用JSTL为信息列表编号 283

技巧50动态表格—JavaScript实现的动态表格 284

技巧51 JavaScript技巧—面向对象的定义方法 284

技巧52 JavaScript技巧—利用split()截取字符串 286

技巧53 JavaScript技巧—实时显示系统时间 286

技巧54 JavaScript技巧—去除字符串中的空格 287

技巧55 JavaScript技巧—阻止事件冒泡传递 288

技巧56 JavaScript技巧—生成随机字符串 289

技巧57 JavaScript技巧—控制表单提交和重置 290

技巧58 JavaScript技巧—表单验证 290

技巧59 JavaScript技巧—容错处理 291

技巧60 JavaScript技巧—代码调试 291

技巧61 JavaScript技巧—对象直接量创建对象 292

技巧62性能优化—JavaScript性能优化 293

技巧63限制访问—WEB-INF文件夹保护页面 293

技巧64限制访问—Web.xml保护页面 294

技巧65限制访问—在Web.xml中配置过滤保护 294

技巧66报表打印—利用WebBrowser打印 295

技巧67长度获取—JSTL获取List长度 296

技巧68时间显示—利用JSTL显示系统时间 296

技巧69资源回收—DBCP自动回收数据库资源 297

技巧70性能优化—JavaBean性能优化 297

第9章 细说Java Web主流框架技巧40例 300

技巧01 Spring技巧—分散配置 300

技巧02 Spring技巧—操作properties属性文件 300

技巧03 Spring技巧—简化格式配置XML 301

技巧04 Spring技巧—监听器自动加载配置文件 302

技巧05 Spring技巧—Servlet自动加载配置文件 302

技巧06 Spring技巧—映射所有hbm.xml文件 303

技巧07 Spring技巧—配置Log4j日志 303

技巧08 Spring技巧—复用Bean定义 304

技巧09 Spring技巧—用type匹配构造函数参数 305

技巧10 Spring技巧—中文乱码处理 306

技巧11 Spring技巧—容器后处理方法 306

技巧12 Spring技巧—获取BeanFactory容器引用 307

技巧13 Spring技巧—匿名内部JavaBean创建 308

技巧14 Spring技巧—定制属性编辑器 308

技巧15 Spring技巧—定时执行任务 310

技巧16 Hibernate技巧—创建安全的Session 311

技巧17 Hibernate技巧—HQL模糊查询 313

技巧18 Hibernate技巧—HQL分批检索对象 313

技巧19 Hibernate技巧—HQL对结果进行排序 313

技巧20 Hibernate技巧—HQL属性查询 314

技巧21 Hibernate技巧—QBC限定条件查询 315

技巧22 Hibernate技巧—QBC分组与统计 315

技巧23 Hibernate技巧—优化批量增删改操作 316

技巧24 Hibernate技巧—充分运用检索策略 317

技巧25 Hibernate技巧—对关联对象进行过滤 318

技巧26 Struts1.X技巧—资源文件的绑定 318

技巧27 Struts1.X技巧—访问其他模块 318

技巧28 Struts1.X技巧—防止重复提交 319

技巧29 Struts1.X技巧—实现跨页表单 321

技巧30 Struts1.X技巧—验证框架使用Java5cript 322

技巧31 Struts2.X技巧—包含配置 322

技巧32 Struts2.X技巧—手动验证 323

技巧33 Struts2.X技巧—通配符配置Action 324

技巧34 Struts2.X技巧—提交按钮的特殊设置 325

技巧35 Struts2.X技巧—带参数的拦截器 325

技巧36 Struts2.X技巧—配置文件中定义变量 327

技巧37 Struts2.X技巧—防止重复提交 328

技巧38 Struts2.X技巧—输出树控件 329

技巧39 Struts2.X技巧—将字符串转换为List 330

技巧40 Struts2.X技巧—连接多个List 330

第10章 细说Java Web其他应用技巧30例 333

技巧01 jQuery技巧—隔行换色表格 333

技巧02 jQuery技巧—解决类库的冲突问题 333

技巧03 jQuery技巧—DOM对象与jQue对象的转换 334

技巧04 jQuery技巧—扩展j Que功能 334

技巧05 jQuery技巧—为动态创建元素绑定事件 335

技巧06 jQuery技巧—序列化对象 335

技巧07 jQuery技巧—页面加载响应事件 336

技巧08 jQuery技巧—模拟用户操作 336

技巧09 jQuery技巧—输入框文字的消失 337

技巧10 jQuery技巧—事件委派 338

技巧11安全技术—禁止复制网页 339

技巧12安全技术—防止网页另存为 339

技巧13安全技术—屏蔽鼠标右键 340

技巧14安全技术—防止页面盗链 341

技巧15 安全技术—屏蔽IE主菜单 341

技巧16 SQL语句技巧—按月查询数据 342

技巧17 SQL语句技巧—日期型数据模糊查询 343

技巧18 SQL语句技巧—不显示重复记录 344

技巧19 SQL语句技巧—查询重复记录和记录数 345

技巧20 SQL语句技巧—使用表的别名 346

技巧21 SQL语句技巧—用子查询做派生的表 347

技巧22 SQL语句技巧—用子查询做表达式 348

技巧23 SQL语句技巧—自连接查询 348

技巧24 SQL语句技巧—查询反向的数据 349

技巧25 SQL语句技巧—嵌套查询 350

技巧26 Eclipse技巧—高级调试技术 351

技巧27 Eclipse技巧—单步调试程序 355

技巧28 Eclipse技巧—从CVS资源库检出项目和模块 358

技巧29 Eclipse技巧—JUnit的设置 359

技巧30 Eclipse技巧—启用和禁用断点 361

第5篇 算法和效率篇 364

第11章 细说Java Web常用算法20例 364

算法01单线联系—单向链表算法 364

算法02双线联系—双向链表算法 367

算法03先进后出—堆栈 371

算法04前出后进—队列 378

算法05层层相连—树 381

算法06步步为营—起泡排序 387

算法07只要最小—选择排序 390

算法08见缝插针—插入排序 394

算法09分分合合—归并排序 397

算法10算法应用—MD5加密 399

算法11算法应用—SHA加密 406

算法12算法应用—百钱买百鸡 407

算法13算法应用—韩信点兵 408

算法14算法应用—斐波那契数列 409

算法15算法应用—水仙花数 410

算法16从头开始—顺序查找 411

算法17中间的选择—二分查找 415

算法18趋近理想的查找—散列技术 416

算法19算法应用—素数 420

算法20算法应用—汉诺塔 421

第6篇 解决方案篇 425

第12章 细说Java Web技术解决方案20例 425

方案01程序优化—JSP与JavaBean优化 425

方案02程序优化—Hibernate持久层的优化 430

方案03程序优化—数据库优化 430

方案04数据库操作—数据库的备份与还原 440

方案05数据库操作—利用视图进行查询 446

方案06数据库操作—利用存储过程进行查询 449

方案07程序安全—文件上传安全 453

方案08程序安全—程序线程安全 457

方案09报表打印—打印Word报表 461

方案10报表打印—打印Excel报表 465

方案11报表打印—打印分组报表 469

方案12安全策略—用户登录 473

方案13安全策略—系统日志记录 477

方案14网络通信—发送文本格式的E-mail 481

方案15 网络通信—接收E-mail 484

方案16文件管理—文件的压缩与解压缩 492

方案17页面设计—导航条 495

方案18页面设计—DIV+CSS布局的实现 500

方案19页面设计—多媒体应用 506

方案20网站发布—DNS服务器发布带域名网站 512