词条 | Java Web开发学习手册 |
释义 | 图书信息明日科技 朱晓 卢瀚 王国辉 等编著ISBN 978-7-121- 13068-7 2011年4月出版 定价:65.00元(含DVD光盘1张) 16开 548页 宣传语编程成功之路从此开始! 内 容 简 介本书以初学者为对象,全面介绍了使用Java Web开发程序的相关技术。在内容安排上由浅入深,让读者循序渐进地掌握编程技术;在内容讲解上结合丰富的图解和形象的比喻,帮助读者理解晦涩难懂的技术;在内容形式上附有大量的提示、技巧、说明、情景应用和实战练习等栏目,夯实读者编程技术,丰富编程经验。全书共分为4篇,21章,包括JavaWeb概述、搭建开发环境、Java语言基础、JavaScript语言、XML基础、JSP语法、JSP内置对象、JavaBean技术、Servlet技术、EL表达式、JSTL标签库、数据库应用开发、文件上传下载管理、解析XML、Ajax技术、Struts2框架技术、Hibernate技术和Spring技术。最后两章为项目实战练习,分别为论坛和网上商城,它们都应用了目前最流行的3大框架技术。通过这两个练习,希望读者能够更加深刻的理解和运用Struts2、Hibernate和Spring技术。 本书的随附光盘中包括本书所有程序的源代码和重点难点内容的视频录像,其中的源代码全部经过精心测试,能够在Windows 2000、Windows XP、Windows 2003和Windows 7操作系统中编译和运行。 本书适用于JavaWeb的爱好者、初学者和中级开发人员,也可以作为大中专院校和培训机构的教材。 前 言让想要学习编程的人员都能够学会编程! 我可以学会编程吗? 当然可以!即使你没有基础,即使你是非计算机专业毕业,即使你已过而立之年,甚至是只有初中毕业。我国最早的计算机反病毒专家、江民杀毒软件创始人王江民,初中毕业,38岁开始学习计算机,因为英语基础不好,很多人认为他根本没有学会编程的可能。但王江民没有感觉自己不行,硬是克服各种困难,成为我国最成功的程序开发人员之一。 王江民学习编程的诀窍是什么? 是实践。王江民说:“计算机是实践性非常强的学科。我搞计算机是用计算机,不是学计算机。” 王江民首先学的是BASIC语言。当时,为了辅导上小学的孩子,对软件一片空白的王江民竟然决定编写程序代替家长辅导。短短3个月,王江民就边学边实践,编好了一套数学语文教学软件,试过后效果奇佳,参加电脑报软件交流,被评为第2名,誉为“教育软件第一”。因为这次成功,极大激发了王江民对编程的兴趣,使他从此把精力转到了软件领域。 所以说:实践,是学习编程的最好方法,也是培养编程乐趣、捕获发展机遇的最佳途径。值得注意的是,不要等学完全部知识才去实践,要随时学习,随时实践,哪怕只学了一点点。 这本书适合我吗? 非常适合!本书是学习JavaWeb编程的最佳选择。所讲内容通俗易懂,易于学习,贴近实践。对于学习中的难点、重点,注意结合实际开发,采用情景应用的方式进行介绍和练习。本书光盘提供了完整的视频讲座,可以对照本书内容循序渐进进行学习。利用本书,不但可以学会编程,更能激发学习者理论联系实际的热情,开发出符合市场需求的软件和项目。 本书内容本书分为基础篇、核心篇、高级篇和实战篇,共计21章。内容安排按照从零起步,循序渐进的学习顺序,全面提高读者学、练和用的能力。本书的知识结构如下图所示。 本书特色 通易俗懂 为了让初学者易于学习,本书力求内容通俗易懂,讲解寓教于乐。对于初学者较难理解的专业术语,本书都进行了形象的解释,有些还提供了例图。附录中单独将术语解释提炼出来,供读者学习时参考。例如,在讲解Servlet工作流程时,首先详细讲解每一个步骤,并说明每一步中涉及的技术。然后配有图形,如下图所示。 视频讲座 为了方便读者学习,随附光盘中提供了14小时视频讲座。其讲解细腻、层次清楚且互动性强,不但可以加深对书中内容的理解,还可以引导学习者掌握“是什么”、“为什么”、“怎么办”和“应注意些什么”的编程思维能力。视频讲座不仅详细讲解了书中的内容,还有效扩展了相关技术,并且提出了开发过程中易犯的各种错误。 注重实用性 初学者经常会遇到这样的情况,即书中讲解的技术能够理解,但不知道如何应用。例如,在学习JSP指令标记时候弄懂指令标记的作用和指令中包含的属性是一个繁杂的过程。书中通过讲解真实的实例,使读者真正明白指令标记和属性的作用。本书在介绍技术时,注意强调技术的实用性,并且通过实例突出技术的应用价值。对于一些典型的应用,书中通过“情景应用”栏目进行重点介绍。 实战互动练习 要掌握一项技术,最佳的方式就是多练习和多实践。通过各章提供的多个实例任务,读者可以检验知识的掌握程度。每个实例任务分为“题目描述”、“技术指导”和“紧急救援”3个部分,其中“题目描述”给出了实例功能的详细描述和效果图;“技术指导”给出了开发思路和关键技术;“紧急救援”提供了下载实例源码和开发文档的地址链接。 随附光盘为了帮助读者学习和使用书中的实例,本书附赠DVD光盘。其中不仅提供了书中所有实例项目的源代码、素材和光盘使用说明书,还提供了14小时视频专题录像及5个项目源码。该光盘的目录如下图所示。 本书适用人群本书是一部零基础编程图书,非常适合以下人员阅读: 零基础的初学编程人员 初中级程序开发人员 编程爱好者 想学习编程的在职人员 大中专院校的老师和学生 相关培训机构的老师和学员 本书参与作者本书由明日科技组织编写,参加编写的有朱晓、卢瀚、王国辉、赛奎春、陈丹丹、李钟尉、李伟、杨丽、顾丽丽、刘玲玲、孟范胜、董大永、李继业、尹强和张磊等。由于作者水平有限,疏漏和不足之处在所难免,欢迎广大读者提出宝贵意见。 非学无以广才,非志无以成学。 祝大家读书快乐! 明日科技 2010年10月 目 录第1篇 起 步 篇 第1章 JavaWeb概述 2 1.1 初识Java Web 19 1.1.1 概述 19 1.1.2 Java语言的主要特点 19 1.1.3 Java Web 20 1.1.4 Java Web成功案例 20 1.2 Web应用技术 21 1.2.1 客户端应用技术 21 1.2.2 服务器端应用技术 23 1.3 Web应用程序的工作原理 23 1.4 网络程序开发体系结构 24 1.4.1 C/S结构 24 1.4.2 B/S结构 25 1.4.3 B/S与C/S的区别 25 1.5 Java Web网站的基本构建流程 26 1.6 常用网上资源 26 1.6.1 常用资源下载网 26 1.6.2 技术社区 27 1.7 本章小结 27 第2章 搭建开发环境 12 2.1 Java Web开发环境概述 29 2.1.1 开发工具包JDK 29 2.1.2 Web服务器 29 2.1.3 数据库 30 2.1.4 Web浏览器 30 2.2 JDK 30 2.2.1 下载JDK 30 2.2.2 安装JDK 32 2.2.3 配置和测试JDK 33 2.3 安装和配置Tomcat 34 2.3.1 获取Tomcat 34 2.3.2 熟悉Tomcat 35 2.4 Eclipse 36 2.4.1 获取Eclipse 36 2.4.2 运行Eclipse 37 2.4.3 打造中文版Eclipse 37 2.5 做好项目开发的准备工作 38 2.5.1 集成Eclipse与Tomcat 39 2.5.2 完善Web项目开发所需配置 40 2.6 本章小结 40 第3章 数据库基础 25 3.1 初识SQL Server数据库 42 3.1.1 安装SQL Server数据库 42 3.1.2 安装SQL Server SP4补丁 44 3.1.3 创建数据库 45 3.1.4 创建数据表 46 3.2 初识MySQL数据库 47 3.2.1 安装并配置MySQL 47 3.2.2 安装MySQL GUI Tool 49 3.2.3 连接MySQL Administrator 50 3.2.4 创建数据库 51 3.2.5 创建数据表 51 3.2.6 编辑数据表中的数据 51 3.3 本章小结 52 第4章 Java语言基础 37 4.1 面向对象程序设计 54 4.1.1 类和对象 54 4.1.2 定义类 54 4.1.3 定义成员方法 55 4.1.4 定义成员变量与局部变量 56 4.1.5 使用构造方法 57 4.1.6 创建与使用Java对象 58 4.1.7 使用包 59 4.2 数据类型 60 4.2.1 基本数据类型 60 4.2.2 类型之间的转换 60 4.3 常量与变量 61 4.3.1 定义常量 61 4.3.2 定义变量 62 4.4 运算符的应用 62 4.4.1 赋值运算符 62 4.4.2 算术运算符 62 4.4.3 比较运算符 63 4.4.4 逻辑运算符 64 4.4.5 位运算符 64 4.4.6 条件运算符 66 4.4.7 自增自减运算符 66 4.4.8 运算符的优先级 67 4.4.9 情景应用:简单的加密操作 67 4.5 流程控制语句 68 4.5.1 分支语句 68 4.5.2 循环语句 71 4.5.3 合理使用循环语句 74 4.5.4 使用break和continue语句实现程序跳转 74 4.5.5 情景应用:判断数的奇偶性 75 4.6 字符串处理 75 4.6.1 创建字符串对象 76 4.6.2 连接字符串 76 4.6.3 判断字符串对象是否相等 77 4.6.4 字符串替换 78 4.6.5 获取子字符串 78 4.6.6 将字符串转换为数值类型 79 4.6.7 情景应用:格式化当前日期 79 4.7 创建并使用数组 80 4.7.1 数组及其应用 81 4.7.2 创建及遍历一维数组 81 4.7.3 创建及遍历二维数组 82 4.8 应用集合类 82 4.8.1 ArrayList类 83 4.8.2 Vector类 84 4.9 实战练习 85 4.9.1 判断某年是否是闰年 85 4.9.2 在控制台输出杨辉三角形 86 4.10 本章小结 86 第5章 JavaScrip语言 71 5.1 初识JavaScript 88 5.1.1 JavaScript功能 88 5.1.2 在Web页面中引入JavaScript 89 5.1.3 解决浏览器不能执行JavaScript的问题 90 5.2 JavaScript语言基础 92 5.2.1 变量 92 5.2.2 数据类型 92 5.2.3 应用运算符 94 5.2.4 流程控制语句 96 5.3 使用函数 99 5.3.1 定义函数 99 5.3.2 调用函数 100 5.4 事件处理 100 5.4.1 事件 100 5.4.2 指定事件处理程序的方法 101 5.5 DOM常用技术 102 5.5.1 文档的层次结构 103 5.5.2 情景应用:遍历文档树 103 5.6 与DHTML相对应的DOM 105 5.6.1 innerHTML和innerText属性 106 5.6.2 outerHTML和outerText属性 106 5.7 窗口对象 107 5.7.1 有效利用资源——控制状态栏文本 107 5.7.2 打开新的浏览器窗口 108 5.7.3 情景应用:关闭浏览器窗口 109 5.8 使用Date对象 109 5.9 实战练习 111 5.9.1 验证电话号码是否正确 111 5.9.2 将小写金额转换为大写金额 112 5.10 本章小结 112 第6章 初识XML 97 6.1 XML介绍 114 6.1.1 XML文档结构 114 6.1.2 XML语法 115 6.1.3 XML声明 115 6.1.4 元素 115 6.1.5 属性 116 6.1.6 注释 116 6.1.7 字符和实体引用 116 6.2 XML的两种语法规则 117 6.2.1 DTD文档类型定义 117 6.2.2 Schema文档规则 121 6.3 XML的3种显示格式 121 6.3.1 CSS样式表 122 6.3.2 XSL样式语言 122 6.3.3 XML数据岛技术 122 6.3.4 情景应用一:使用CSS显示XML文档内容 122 6.3.5 情景应用二:使用XSL显示XML文档内容 123 6.3.6 情景应用三:应用XML数据岛技术显示XML文档内容 125 6.4 实战练习 126 6.4.1 组合运用XML与CSS 126 6.4.2 组合运用XML与XSL 126 6.5 本章小结 127 第7章 JSP语法 112 7.1 JSP概述 129 7.2 使用JSP指令标识 130 7.2.1 使用页面指令page 130 7.2.2 使用文件包含指令include 132 7.2.3 使用引用标签库指令taglib 133 7.2.4 情景应用: 应用include指令包含其他页面 133 7.3 使用JSP脚本 134 7.3.1 在JSP中应用代码片段 134 7.3.2 使用JSP表达式 135 7.3.3 使用声明标识 136 7.3.4 情景应用:应用JSP声明实现访问统计 136 7.4 注释 137 7.4.1 基本HTML注释 137 7.4.2 隐藏注释 137 7.4.3 代码片段中的注释 138 7.5 常用JSP动作标识 138 7.5.1 使用包含动作标识<jsp:include> 139 7.5.2 使用请求转发的动作标识<jsp:forward> 141 7.5.3 使用子动作标识<jsp:param> 142 7.5.4 使用动作标识<jsp:useBean> 143 7.5.5 使用动作标识<jsp:getProperty> 148 7.5.6 使用动作标识<jsp:setProperty> 149 7.5.7 情景应用:应用JavaBean保存图片信息 150 7.6 实战练习 153 7.6.1 应用Java程序片段动态生成表格 153 7.6.2 将页面转发到用户登录页面 154 7.6.3 在同一页面中提交多个表单 155 7.7 本章小结 155 第2篇 核 心 篇 第8章 JSP内置对象 142 8.1 JSP内置对象概述 159 8.1.1 内置对象的作用 159 8.1.2 内置对象及其应用场合 159 8.2 request请求对象 160 8.2.1 获取请求参数 160 8.2.2 解决中文乱码问题 161 8.2.3 获取客户端数据 162 8.2.4 应用request对象域 163 8.3 response响应对象 164 8.3.1 操作HTTP头信息 165 8.3.2 设置MIME类型 165 8.3.3 实现页面重定向 165 8.4 out输出对象 166 8.4.1 向客户端输出数据 167 8.4.2 管理缓冲区 167 8.5 session会话对象 168 8.5.1 session的生命周期 168 8.5.2 创建与获取会话 168 8.5.3 移除对话中的数据 169 8.5.4 设置会话的有效时间 169 8.5.5 情景应用:应用session对象模拟用户登录 170 8.6 应用application对象 171 8.6.1 application对象的生命周期 171 8.6.2 操作application对象中数据 171 8.6.3 配置Web应用的初始化参数 172 8.6.4 情景应用:实现网页计数器 173 8.7 其他内置对象 174 8.7.1 应答与请求的page对象 174 8.7.2 页面上下文的pageContext对象 174 8.7.3 获取web.xml配置信息的config对象 174 8.7.4 获取异常信息的exception对象 175 8.8 实战练习 175 8.8.1 通过application对象实现网站计数器 175 8.8.2 统计用户在站点的停留时间 176 8.9 本章小结 176 第9章 JavaBean技术 161 9.1 JavaBean概述 178 9.1.1 JavaBean产生背景 178 9.1.2 JavaBean的作用 178 9.1.3 JavaBean的规范 178 9.1.4 Eclipse对JavaBean方法的支持 179 9.2 JavaBean的属性 180 9.2.1 Simple属性 180 9.2.2 Indexed属性 181 9.2.3 Bound属性 181 9.2.4 Constrained属性 182 9.3 JavaBean与JSP的完美结合 182 9.3.1 更加对象化的JSP开发 182 9.3.2 应用<jsp:useBean>标识 184 9.3.3 应用<jsp:getProperty>标识 185 9.3.4 应用<jsp:setProperty>标识 187 9.3.5 情景应用:应用JavaBean录入档案 188 9.4 实战练习 190 9.4.1 判断用户名是否有效 190 9.4.2 计算两个日期相差的天数 191 9.5 本章小结 191 第10章 Servlet技术 176 10.1 Servlet技术 193 10.1.1 Servlet概述 193 10.1.2 Servlet功能 193 10.1.3 Servlet特点 194 10.1.4 Servlet的生命周期 194 10.2 Servlet技术开发 195 10.2.1 Servlet在Java EE中的结构体系 195 10.2.2 Servlet核心API 195 10.2.3 创建第1个Servlet类 196 10.2.4 解析Servlet配置 198 10.2.5 使用Servlet处理业务逻辑 198 10.2.6 Servlet处理流程 200 10.2.7 使用Eclipse快速创建Servlet 200 10.3 Servlet的典型应用 202 10.3.1 处理表单数据 202 10.3.2 页面转发 206 10.3.3 获取当前页的绝对路径 207 10.3.4 操作Cookie 207 10.3.5 情景应用:利用JavaBean由Servlet向JSP传递数据 209 10.4 配置并使用Servlet过滤器 210 10.4.1 过滤器的处理方式 211 10.4.2 过滤器的核心对象 211 10.4.3 创建并配置过滤器 212 10.4.4 字符编码过滤器 215 10.4.5 情景应用一:验证用户身份 219 10.4.6 情景应用二:统计网站流量 221 10.4.7 情景应用三:过滤敏感字符 222 10.5 Servlet监听器 223 10.5.1 Servlet监听器简介 223 10.5.2 Servlet监听器的工作原理 223 10.5.3 监听Servlet上下文 224 10.5.4 监听HTTP会话 224 10.5.5 监听Servlet请求 225 10.5.6 情景应用一:使用监听器查看在线用户 225 10.5.7 情景应用二:利用监听器使服 务器端免登录 228 10.6 实战练习 229 10.6.1 记录用户访问次数 229 10.6.2 将数据导出到Excel表 230 10.7 本章小结 230 第11章 EL表达式 215 11.1 EL概述 232 11.1.1 EL的基本语法 232 11.1.2 EL的特点 232 11.2 与低版本的环境兼容——禁用EL 233 11.2.1 使用斜杠“\\”符号 233 11.2.2 使用page指令 233 11.2.3 在web.xml文件中配置<el-ignored>元素 233 11.3 保留关键字 234 11.4 EL运算符及其优先级 234 11.4.1 通过EL访问数据 235 11.4.2 在EL中执行算术运算 236 11.4.3 在EL中判断对象是否为空 236 11.4.4 在EL中执行逻辑关系运算 237 11.4.5 在EL中执行条件运算 238 11.5 EL的隐含对象 239 11.5.1 页面上下文对象 239 11.5.2 访问作用域范围的隐含对象 240 11.5.3 情景应用:读取page范围内的JavaBean属性值 241 11.5.4 访问环境信息的隐含对象 241 11.6 定义和使用EL函数 244 11.6.1 定义和使用函数 244 11.6.2 情景应用:定义EL函数处理字符串中的回车换行符和空格符 245 11.6.3 定义和使用EL函数时常见的错误 247 11.7 实战练习 248 11.7.1 访问JavaBean属性的典型应用 248 11.7.2 通过EL表达式访问Servlet中的作用域 249 11.8 本章小结 250 第12章 JSTL标签库 235 12.1 JSTL标签库 252 12.2 下载与配置JSTL 253 12.2.1 下载JSTL标签库 253 12.2.2 配置JSTL 254 12.3 表达式标签 255 12.3.1 <c:out>标签 255 12.3.2 <c:set>标签 256 12.3.3 <c:remove>标签 258 12.3.4 <c:catch>标签 259 12.4 URL相关标签 260 12.4.1 <c:import>标签 260 12.4.2 <c:url>标签 262 12.4.3 <c:redirect>标签 263 12.4.4 <c:param>标签 264 12.4.5 情景应用:应用<c:redirect>和 <c:param>标签重定向页面并传递参数 264 12.5 流程控制标签 265 12.5.1 <cif>标签 265 12.5.2 <c:choose>标签 266 12.5.3 <c:when>标签 267 12.5.4 <c:otherwise>标签 268 12.5.5 情景应用:幸运大抽奖 268 12.6 循环标签 269 12.6.1 <c:forEach>标签 269 12.6.2 <c:forTokens>标签 271 12.7 实战练习 272 12.7.1 利用JSTL标签导入用户注册协议 272 12.7.2 根据参数请求显示不同的页面 273 12.8 本章小结 273 第13章 数据库应用开发 258 13.1 JDBC技术 275 13.1.1 JDBC简介 275 13.1.2 JDBC连接数据库的开发流程 275 13.2 JDBC核心API 277 13.2.1 驱动程序管理器DriverManager 277 13.2.2 代表数据库连接的Connection接口 278 13.2.3 执行SQL语句的Statement接口 279 13.2.4 预编译执行SQL语句的PreparedStatement接口 280 13.2.5 结果集ResultSet接口 280 13.2.6 及时关闭连接 282 13.2.7 情景应用:JDBC连接SQL Server 2005数据库 282 13.3 JDBC操作数据库 283 13.3.1 添加数据 283 13.3.2 查询数据 286 13.3.3 修改数据 289 13.3.4 删除数据 291 13.3.5 批处理 293 13.3.6 情景应用:调用存储过程 296 13.4 JDBC在Java Web中的应用 299 13.4.1 开发模式 299 13.4.2 分页查询 299 13.5 实战练习 305 13.5.1 应用存储过程操作数据 305 13.5.2 网站用户注册 306 13.6 本章小结 306 第3篇 高 级 篇 第14章 文件上传组件 292 14.1 jspSmartUpload组件简介 309 14.2 jspSmartUpload组件的核心类 309 14.2.1 保存信息的File类 309 14.2.2 存储文件的Files类 311 14.2.3 提供表单信息的Request类 311 14.2.4 组件的核心SmartUpload类 312 14.2.5 情景应用:采用jspSmartUpload组件操作文件 313 14.3 commons-fileload组件简介 317 14.4 commons-fileupload组件的核心类 317 14.4.1 上传的核心类DiskFileUpload 317 14.4.2 处理的核心类ServletFileUpload 319 14.4.3 限制文件类型的SuffixFvileFilter类 319 14.4.4 情景应用:限制上传文件的类型 320 14.5 实战练习 321 14.5.1 上传中文名文件 321 14.5.2 获取表单的元素值 322 14.6 本章小结 322 第15章 解析XML 307 15.1 DOM技术 324 15.2 DOM编程 324 15.2.1 DOM接口 324 15.2.2 使用DOM读取XML文件 326 15.3 SAX技术 328 15.4 SAX编程 328 15.4.1 SAX常用接口 328 15.4.2 SAX实现方法 331 15.4.3 情景应用:使用SAX解析XML 332 15.5 SAX和DOM比较 335 15.6 选择DOM和SAX 335 15.7 实战练习 336 15.7.1 DOM解析XML 336 15.7.2 SAX解析XML 336 15.8 本章小结 337 第16章 应用Ajax技术 322 16.1 Ajax 简介 339 16.1.1 Ajax概述 339 16.1.2 Ajax的开发模式 339 16.1.3 Ajax的优点 339 16.2 Ajax使用的技术 340 16.2.1 JavaScript脚本语言 340 16.2.2 XMLHttpRequest 340 16.2.3 XML语言 342 16.2.4 DOM技术 342 16.2.5 CSS技术 342 16.3 搭建Ajax开发框架 342 16.4 Ajax的MVC架构设计 343 16.5 Ajax开发需要注意的问题 347 16.5.1 浏览器兼容性问题 347 16.5.2 封装XMLHttpRequest对象 347 16.5.3 性能问题 347 16.5.4 中文编码问题 347 16.6 Ajax技术的典型应用 348 16.6.1 情景应用一:检测用户名 348 16.6.2 情景应用二:级联下拉列表框 350 16.7 实战练习 351 16.7.1 实现无刷新分页 351 16.7.2 检查用户名是否重复 352 16.8 本章小结 353 第17章 Struts 2框架 338 17.1 Struts 2框架 355 17.1.1 理解MVC的原理 355 17.1.2 Struts 2框架的产生 355 17.1.3 Struts 2的结构体系 356 17.2 Struts 2 入门 356 17.2.1 获取与配置Struts 2 356 17.2.2 创建第1个Struts 2程序 357 17.3 Action对象 359 17.3.1 认识Action对象 359 17.3.2 请求参数的注入原理 360 17.3.3 Action的基本流程 360 17.3.4 动态Action 361 17.3.5 应用动态Action 361 17.4 Struts 2的配置文件 364 17.4.1 Struts 2的配置文件类型 364 17.4.2 配置Struts 2包 364 17.4.3 配置名称空间 364 17.4.4 Action的相关配置 365 17.4.5 使用通配符简化配置 366 17.4.6 配置返回结果 367 17.5 Struts 2的开发模式 367 17.5.1 实现与Servlet API的交互 367 17.5.2 域模型DomainModel 368 17.5.3 驱动模型ModelDriven 369 17.6 Struts 2的标签库 370 17.6.1 应用数据标签 370 17.6.2 应用控制标签 372 17.6.3 应用表单标签 374 17.7 Struts 2的拦截器 375 17.7.1 拦截器概述 375 17.7.2 拦截器API 376 17.7.3 情景应用:使用拦截器 377 17.8 数据验证机制 378 17.8.1 手动验证 378 17.8.2 验证文件的命名规则 379 17.8.3 验证文件的编写风格 379 17.9 实战练习 380 17.9.1 Struts 2处理表单数据 380 17.9.2 Struts 2标签下的用户注册 380 17.10 本章小结 381 第18章 Hibernate技术 366 18.1 初识Hibernate 383 18.1.1 ORM原理 383 18.1.2 Hibernate简介 383 18.2 Hibernate入门 384 18.2.1 获取Hibernate 384 18.2.2 Hibernate配置文件 384 18.2.3 编写持久化类 385 18.2.4 Hibernate映射 386 18.2.5 Hibernate主键策略 387 18.3 Hibernate数据持久化 388 18.3.1 Hibernate实例状态 388 18.3.2 Hibernate初始化类 388 18.3.3 保存数据 390 18.3.4 查询数据 391 18.3.5 删除数据 393 18.3.6 修改数据 393 18.3.7 延迟加载 394 18.4 使用Hibernate的缓存 395 18.4.1 情景应用一:使用一级缓存 395 18.4.2 情景应用二:配置和使用二级缓存 396 18.5 实体关联关系映射 397 18.5.1 数据模型与领域模型 398 18.5.2 理解并配置多对一单向关联 398 18.5.3 理解并配置多对一双向关联 399 18.5.4 理解并配置一对一主键关联 401 18.5.5 理解并配置一对一外键关联 403 18.5.6 理解并配置多对多关联关系 404 18.5.7 级联操作 406 18.6 实体继承关系映射 407 18.6.1 类继承树映射为一个表 407 18.6.2 每个子类映射为一个表 409 18.6.3 每个具体类映射为一个表 410 18.7 Hibernate查询语言 411 18.7.1 HQL语言 411 18.7.2 查询实体对象 412 18.7.3 条件查询 413 18.7.4 HQL参数绑定机制 413 18.7.5 排序查询 413 18.7.6 应用聚合函数 414 18.7.7 分组方法 414 18.7.8 联合查询 415 18.7.9 情景应用:利用子查询获取ID值最小的员工信息并显示结果 416 18.8 实战练习 416 18.8.1 修改员工信息 416 18.8.2 员工信息的模糊查询 417 18.9 本章小结 418 第19章 Spring技术 403 19.1 Spring概述 420 19.1.1 Spring组成 420 19.1.2 获取Spring 421 19.1.3 配置Spring 421 19.1.4 使用BeanFactory管理Bean 422 19.1.5 应用ApllicationContext 422 19.2 依赖注入 423 19.2.1 控制反转与依赖注入 423 19.2.2 配置Bean 424 19.2.3 Setter注入 424 19.2.3 构造器注入 425 19.2.5 引用其他Bean 427 19.2.6 创建匿名内部JavaBean 428 19.3 自动装配 428 19.3.1 按Bean名称装配 428 19.3.2 按Bean类型装配 429 19.3.3 自动装配的其他方式 430 19.4 Bean的作用域 431 19.4.1 Spring中的Bean 431 19.4.2 Singleton的作用域 431 19.4.3 Prototype的作用域 432 19.5 bean的特殊处理 432 19.5.1 初始化与销毁 432 19.5.2 自定义属性编辑器 433 19.6 AOP概述 435 19.6.1 AOP术语 435 19.6.2 情景应用:AOP的简单实现 436 19.7 Spring的切入点 437 19.7.1 静态与动态切入点 438 19.7.2 深入静态切入点 439 19.7.3 深入切入点底层 439 19.7.4 Spring中的其他切入点 440 19.8 Aspect对AOP的支持 440 19.8.1 Aspect概述 440 19.8.2 Spring中的Aspect 441 19.8.3 DefaultPointcutAdvisor切入点配置器 441 19.8.4 NameMatchMethodPointcutAdvisor切入点配置器 442 19.9 Spring持久化 442 19.9.1 DAO模式 442 19.9.2 Spring的DAO理念 443 19.9.3 事务管理 445 19.9.4 应用JdbcTemplate操作数据库 448 19.9.5 与Hibernate整合 449 19.9.6 情景应用:整合Spring与Hibernate在tb_user表中添加信息 450 19.10 实战练习 451 19.10.1 登录页面国际化 451 19.10.2 Spring与Hibernate整合批量添加数据 452 19.11 本章小结 452 第4篇 实 战 篇 第20章 技术交流平台——论坛 438 20.1 模块概述 455 20.1.1 开发背景 455 20.1.2 功能结构 455 20.1.3 系统流程 456 20.2 技术攻关 456 20.2.1 Struts 2、Spring 2及Hibernate 3整合流程 456 20.2.2 jQuery常用操作 456 20.3 数据库设计 457 20.3.1 设计E-R图 457 20.3.2 数据库表设计 458 20.4 公共模块设计 459 20.4.1 Spring+Hibernate组合实现持久层 460 20.4.2 使用Struts 2标签分页 461 20.5 主页面设计 463 20.5.1 首页设计 463 20.5.2 论坛页设计 464 20.6 文章维护模块设计 465 20.6.1 添加文章模块 465 20.6.2 浏览文章 467 20.6.3 文章回复 468 20.6.4 修改文章 469 20.6.5 删除文章 469 20.7 文章搜索模块设计 470 20.7.1 搜索我的文章 470 20.7.2 根据关键字搜索文章 471 20.7.3 热门搜索 473 20.7.4 搜索文章作者的所有文章 474 20.7.5 搜索回复作者的所有文章 475 20.8 开发总结 476 20.8.1 文章回复的异步提交难点 476 20.8.2 系统当前位置动态设置的难点 478 第21章 GO购网络商城 465 21.1 GO购网络商城概述 482 21.1.1 开发背景 482 21.1.2 需求分析 482 21.1.3 可行性分析 482 21.1.4 功能结构 482 21.1.5 系统流程 483 21.1.6 系统预览 483 21.2 系统整体设计 484 21.2.1 逻辑分层设计 484 21.2.2 系统文件夹结构 484 21.2.3 页面结构设计 485 21.2.4 开发环境 486 21.3 数据库设计 486 21.3.1 E-R图设计 486 21.3.2 创建数据库及数据表 487 21.4 搭建项目环境 489 21.4.1 配置Struts 2 489 21.4.2 配置Hibernate 491 21.4.3 配置Spring 492 21.4.4 配置web.xml 493 21.5 公共模块设计 494 21.5.1 Hibernate的Session初始化类 494 21.5.2 泛型工具类 496 21.5.3 数据持久化类 496 21.5.4 分页设计 498 21.5.5 字符串工具类 501 21.6 实体映射 502 21.6.1 实体对象设计 502 21.6.2 会员信息 503 21.6.3 订单信息 503 21.6.4 订单条目信息 504 21.6.5 商品信息 505 21.6.6 商品类别信息 506 21.7 登录注册模块设计 507 21.7.1 模块概述 507 21.7.2 实现注册模块 507 21.7.3 实现登录模块 510 21.7.4 单元测试 512 21.8 前台商品信息查询模块设计 513 21.8.1 模块概述 513 21.8.2 实现商品类别分级查询 513 21.8.3 实现商品搜索 515 21.8.4 实现前台查询其他商品 516 21.8.5 单元测试 518 21.9 购物车模块设计 520 21.9.1 模块概述 520 21.9.2 实现购物车的基本功能 520 21.9.3 实现订单的相关功能 523 21.9.4 单元测试 526 21.10 后台商品管理模块设计 526 21.10.1 模块框架 526 21.10.2 实现商品管理功能 526 21.10.3 实现商品类别管理功能 531 21.10.4 单元测试 534 21.11 后台订单管理模块设计 534 21.11.1 模块框架 534 21.11.2 实现后台订单查询 534 21.11.3 实现后台订单状态管理 536 21.11.4 单元测试 538 21.12 系统发布 538 21.12.1 配置Tomcat服务器 538 21.12.2 配置DNS服务器 539 21.13 开发总结 542 附录 术语解释 543 第1章 JavaWeb概述 543 第2章 搭建开发环境 544 第3章 数据库的安装与创建 544 第4章 Java语言基础 544 第5章 JavaScript语言 545 第6章 初识XML 545 第7章 JSP语法 546 第8章 JSP内置对象 546 第10章 Servlet技术 546 第11章 EL表达式 546 第12章 JSTL标签库 546 第13章 数据库应用开发 547 第14章 文件上传组件 547 第15章 解析XML 547 第16章 Ajax简介 547 第18章 邂逅Hibernate技术 548 第19章 解密Spring技术 548 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。