《Java Web开发实战》从初学者的角度出发,通过通俗易懂的语言、丰富实用的实例,详细介绍了使用Java语言和开源框架进行Web程序开发应该掌握的各项技术,内容突出“基础”、“全面”、“深入”的特点,同时就像书名所暗示的一样,强调“实战”效果。在介绍技术的同时,书中都会提供示例或稍大一些的实例,同时在结尾安排有实战,通过5~8个实战来综合应用本章所讲解的知识,做到理论联系实际;每篇的最后一章有一个综合实验,通过一个模块综合讲解本篇的知识内容;在本书的最后两章中提供了两个完整的项目实例,讲述从前期规划、设计流程到项目最终实施的整个实现过程。 全书共分5篇25章,包括走进JSP、掌握JSP语法、JSP内置对象、Servlet技术、综合实验(一)——JSP使用Model2实现登录模块、EL表达式语言、JSTL核心标签库、综合实验(二)——结合JSTL与EL技术开发通讯录模块、JSP操作XML、JavaScript脚本语言、综合实验(三)——Ajax实现用户注册模块、Struts 2框架、Hibernate框架、Hibernate高级应用、综合实验(四)——JSP+Hibernate实现留言模块、Spring框架、Spring MVC框架、综合实验(五)——Spring+Hibernate实现用户管理模块、数据分页、文件上传与下载、PDF与Excel组件、动态图表、综合实验(六)——在线投票统计模块、基于SSH2的电子商城网站、基于SSH2的明日论坛等。所有知识都结合具体实例进行介绍,对涉及的程序代码给出了详细的注释,读者可以轻松领会Java Web程序开发的精髓,快速提高开发技能。本书特色及丰富的学习资源包如下: 黄金学习搭配、专业学习视频、重难点精确打击、学习经验分享、学习测试诊断、有趣实践任务、专业资源库、学习排忧解难、获取源程序、提供习题答案、赠送开发案例。 本书适合有志于从事软件开发的初学者、高校计算机相关专业的学生和毕业生,可作为软件开发人员的参考手册,也可作为高校教师的教学参考书。
目录
第1篇 JSP基础
第1章 走进JSP 2 视频讲解:3分钟 1.1 JSP概述 3 1.1.1 什么是JSP 3 1.1.2 项目成功案例 3 1.1.3 如何学好JSP 4 1.2 JSP技术特征 5 1.2.1 跨平台 5 1.2.2 业务代码分离 5 1.2.3 组件重用 5 1.2.4 继承Java Servlet功能 5 1.2.5 预编译 6 1.3 搭建JSP开发环境 6 1.3.1 安装Java开发工具包JDK 6 1.3.2 安装和配置Web服务器 7 1.3.3 安装与使用数据库 9 1.4 Eclipse开发工具的安装与使用 12 1.4.1 Eclipse的下载与安装 13 1.4.2 启动Eclipse 13 1.4.3 安装Eclipse中文语言包 13 1.4.4 Eclipse工作台 14 1.4.5 配置服务器 14 1.4.6 指定Web浏览器 15 1.4.7 设置JSP页面的编码格式 16 1.5 开发第一个JSP程序 16 1.5.1 编写JSP程序 16 1.5.2 运行JSP程序 17 1.6 JSP常用资源 18 1.6.1 JSP资源 18 1.6.2 Eclipse资源 18 1.7 实战 19 1.7.1 修改Tomcat服务器的端口号 19 1.7.2 通过复制Web应用到Tomcat部署Web应用 19 1.7.3 通过在server.xml文件中配置元素部署Web应用 19 1.7.4 设置Eclipse工作空间的字符编码 19 1.7.5 为项目导入所需的Jar包 20 1.8 本章小结 20 第2章 掌握JSP语法 21 视频讲解:50分钟 2.1 了解JSP的基本构成 22 2.2 指令标签 22 2.2.1 page指令 22 2.2.2 include指令 24 2.2.3 taglib指令 25 2.3 嵌入Java代码 26 2.3.1 代码片段 26 2.3.2 声明 27 2.3.3 JSP表达式 27 2.4 注释 27 2.4.1 HTML注释 27 2.4.2 JSP注释 28 2.4.3 动态注释 28 2.4.4 代码注释 28 2.5 JSP动作标签 28 2.5.1 29 2.5.2 30 2.5.3 31 2.5.4 操作JavaBean的动作标签 31 2.6 实战 31 2.6.1 连接数据库并将数据显示在页面表格中 31 2.6.2 根据数据表动态生成下拉列表 32 2.6.3 将3个页面组成一个新的页面 33 2.6.4 导入页面头部和版权信息页 34 2.6.5 在JSP页面中输出星号组成的金字塔 35 2.7 本章小结 36 2.8 学习成果检验 36 第3章 JSP内置对象 37 视频讲解:90分钟 3.1 JSP内置对象的概述 38 3.2 request对象 38 3.2.1 获取请求参数值 38 3.2.2 解决中文乱码 38 3.2.3 获取Form表单的信息 39 3.2.4 获取请求客户端信息 41 3.2.5 在作用域中管理属性 42 3.2.6 cookie管理 42 3.2.7 获取浏览器使用的语言 44 3.3 response对象 44 3.3.1 重定向网页 44 3.3.2 处理HTTP文件头 44 3.3.3 设置输出缓冲 45 3.4 session对象 45 3.4.1 创建及获取session信息 46 3.4.2 从会话中移除指定的绑定对象 46 3.4.3 销毁session 47 3.4.4 会话超时的管理 47 3.4.5 session对象的应用 47 3.5 application对象 49 3.5.1 访问应用程序初始化参数 49 3.5.2 管理应用程序环境属性 50 3.6 out对象 50 3.6.1 管理响应缓冲 51 3.6.2 向客户端输出数据 51 3.7 其他内置对象 51 3.7.1 获取会话范围的pageContext对象 51 3.7.2 读取web.xml配置信息的config对象 52 3.7.3 应答或请求的page对象 52 3.7.4 获取异常信息的exception对象 52 3.8 实战 53 3.8.1 application对象实现网页计数器 53 3.8.2 在提交表单时加入验证码 54 3.8.3 实现自动登录 56 3.8.4 定时刷新页面 57 3.8.5 统计用户在某页停留时间 58 3.9 本章小结 59 3.10 学习成果检验 59 第4章 Servlet技术 60 视频讲解:88分钟 4.1 Servlet基础 61 4.1.1 Servlet与Servlet容器 61 4.1.2 Servlet技术特点 61 4.1.3 Servlet技术功能 62 4.1.4 Servlet与JSP的区别 62 4.1.5 Servlet代码结构 62 4.1.6 简单的Servlet程序 63 4.2 Servlet开发 64 4.2.1 Servlet的创建 64 4.2.2 Servlet配置的相关元素 65 4.3 Servlet API编程常用的接口和类 67 4.3.1 Servlet接口 67 4.3.2 ServletConfig接口 67 4.3.3 HttpServletRequest接口 67 4.3.4 HttpServletResponse接口 68 4.3.5 GenericServlet类 69 4.3.6 HttpServlet类 69 4.4 Servlet过滤器 70 4.4.1 过滤器概述 70 4.4.2 Filter API 70 4.4.3 过滤器的配置 71 4.4.4 过滤器典型应用 72 4.5 实战 74 4.5.1 JSP与Servlet实现用户注册 74 4.5.2 过滤非法文字 77 4.5.3 统计网站的访问量 80 4.5.4 利用Servlet实现个人所得税计算器 81 4.5.5 生成网站表单的验证码 82 4.6 本章小结 84 4.7 学习成果检验 84 第5章 综合实验(一)——JSP使用Model2实现登录模块 85 视频讲解:58分钟 5.1 JavaBean 86 5.1.1 JavaBean简介 86 5.1.2 86 5.1.3 87 5.1.4 89 5.1.5 JavaBean的作用域 90 5.2 Model1模式 92 5.3 Model2模式 94 5.3.1 MVC原理 94 5.3.2 JSP+Servlet+JavaBean 95 5.4 两种模式的比较 96 5.5 登录模块的实现 97 5.5.1 模块介绍 97 5.5.2 关键技术 97 5.5.3 数据库设计 98 5.5.4 JavaBean设计 98 5.5.5 实现过程 102 5.6 运行项目 107 5.7 本章小结 108 5.8 学习成果检验 108
第2篇 高 级 技 术
第6章 EL表达式语言 110 视频讲解:73分钟 6.1 EL概述 111 6.1.1 使用EL表达式的前提条件 111 6.1.2 EL表达式的基本语法 112 6.1.3 EL表达式的特点 112 6.2 EL表达式的存取范围 112 6.3 EL表达式的运算符 113 6.3.1 存取数据运算符“[]”和“.” 113 6.3.2 算术运算符 114 6.3.3 关系运算符 114 6.3.4 逻辑运算符 115 6.3.5 empty运算符 116 6.3.6 条件运算符 116 6.3.7 运算符的优先级 116 6.4 EL表达式中的保留字 117 6.5 EL表达式中的隐含对象 117 6.5.1 PageContext对象的应用 117 6.5.2 param和paramValues对象的应用 117 6.5.3 header和headerValues对象的应用 118 6.5.4 访问作用域范围的隐含对象 118 6.5.5 cookie对象的应用 119 6.5.6 initParam对象的应用 119 6.6 实战 119 6.6.1 应用EL表达式访问JavaBean的属性 119 6.6.2 应用EL表达式显示投票结果 121 6.6.3 判断用户名是否为空,空则显示相应的提示信息 123 6.6.4 显示客户端使用的浏览器 123 6.6.5 判断用户是否登录,并显示不同提示信息 123 6.7 本章小结 124 6.8 学习成果检验 124 第7章 JSTL核心标签库 125 视频讲解:94分钟 7.1 JSTL简介 126 7.1.1 下载和配置JSTL 126 7.1.2 JSTL标签库简介 128 7.2 表达式标签 128 7.2.1 输出标签 128 7.2.2 设置标签 129 7.2.3 移除标签 131 7.2.4 捕获异常标签 131 7.3 条件标签 132 7.3.1 标签 132 7.3.2 、和标签 133 7.4 循环标签 135 7.4.1 标签 135 7.4.2 标签 137 7.5 URL操作标签 138 7.5.1 文件导入标签 138 7.5.2 重定向标签 140 7.5.3 生成URL地址标签 140 7.5.4 参数传递标签 141 7.6 实战 141 7.6.1 应用JSTL显示数据库中的商品信息 141 7.6.2 JSTL在电子商城网站中的应用 146 7.6.3 JSTL导入网站注册协议 148 7.6.4 JSTL标签实现网站计数器 149 7.6.5 应用标签判断用户最喜爱的水果 149 7.7 本章小结 150 7.8 学习成果检验 150 第8章 综合实验(二)——结合JSTL与EL技术开发通讯录模块 151 视频讲解:73分钟 8.1 模块概述 152 8.1.1 功能描述 152 8.1.2 系统流程 152 8.1.3 主页预览 153 8.2 关键技术 153 8.3 数据库设计 153 8.4 实现过程 154 8.4.1 搭建开发环境 154 8.4.2 编写数据库连接及操作的公共类 154 8.4.3 实现用户注册 157 8.4.4 实现用户登录 160 8.4.5 实现通讯录模块主页 162 8.4.6 实现添加联系人 165 8.4.7 实现修改联系人 168 8.4.8 实现删除联系人 170 8.5 运行项目 170 8.6 本章小结 171 第9章 JSP操作XML 172 视频讲解:110分钟 9.1 XML简介 173 9.1.1 XML文档结构 173 9.1.2 XML语法要求 174 9.1.3 为XML文档中的元素定义属性 174 9.1.4 XML的注释 175 9.1.5 处理字符数据 175 9.2 dom4j概述 177 9.2.1 dom4j简介 177 9.2.2 dom4j的下载与配置 177 9.3 创建XML文档 178 9.3.1 创建XML文档对象 178 9.3.2 创建根节点 178 9.3.3 添加注释 179 9.3.4 添加属性 179 9.3.5 创建子节点 179 9.3.6 设置节点的内容 179 9.3.7 设置编码 180 9.3.8 设置输出格式 180 9.3.9 输出XML文档 181 9.4 解析XML文档 182 9.4.1 构建XML文档对象 182 9.4.2 获取根节点 182 9.4.3 获取子节点 182 9.5 修改XML文档 183 9.5.1 修改节点 183 9.5.2 删除节点 184 9.6 实战 185 9.6.1 保存公告信息到XML文件 185 9.6.2 对保存到XML文件中的公告信息进行管理 187 9.6.3 创建以当前日期为名称的XML文件 193 9.6.4 让XML文件动态显示数据 195 9.6.5 在控制台上显示XML文档内容 196 9.7 本章小结 197 9.8 学习成果检验 197 第10章 JavaScript脚本语言 198 视频讲解:216分钟 10.1 了解JavaScript 199 10.1.1 什么是JavaScript 199 10.1.2 JavaScript的主要特点 199 10.1.3 JavaScript与Java的区别 199 10.2 在Web页面中使用JavaScript 200 10.2.1 在页面中直接嵌入JavaScript 200 10.2.2 链接外部JavaScript 200 10.3 JavaScript语言基础 201 10.3.1 JavaScript的语法 201 10.3.2 JavaScript中的关键字 202 10.3.3 了解JavaScript的数据类型 203 10.3.4 变量的定义及使用 204 10.3.5 运算符的应用 205 10.4 流程控制语句 208 10.4.1 if条件判断语句 208 10.4.2 switch多路分支语句 210 10.4.3 for循环语句 212 10.4.4 while循环语句 213 10.4.5 do…while循环语句 214 10.4.6 break语句 215 10.4.7 continue语句 215 10.5 使用正则表达式 216 10.5.1 正则表达式的语法 216 10.5.2 创建正则表达式(RegExp)对象 218 10.5.3 使用RegExp对象执行模式匹配 219 10.6 函数 221 10.6.1 函数的定义 221 10.6.2 函数的调用 222 10.6.3 匿名函数 223 10.7 事件和事件处理程序 223 10.7.1 什么是事件和事件处理程序 223 10.7.2 JavaScript的常用事件 223 10.7.3 事件处理程序的调用 224 10.8 常用对象 225 10.8.1 String对象 225 10.8.2 Math对象 229 10.8.3 Date对象 230 10.8.4 Window对象 233 10.9 DOM技术 236 10.9.1 DOM概述 236 10.9.2 DOM的分层结构 236 10.9.3 遍历文档 237 10.9.4 获取文档中的指定元素 239 10.9.5 操作文档 239 10.9.6 与DHTML相对的DOM 241 10.10 实战 242 10.10.1 检测表单元素是否为空 242 10.10.2 屏蔽鼠标右键和键盘相关事件 243 10.10.3 验证E-mail地址是否合法 244 10.10.4 验证手机号码是否正确 244 10.10.5 计算两个日期相差的天数 245 10.11 本章小结 246 10.12 学习成果检验 246 第11章 综合实验(三)——Ajax实现用户注册模块 247 视频讲解:94分钟 11.1 Ajax简介 248 11.1.1 什么是Ajax 248 11.1.2 Ajax的开发模式 248 11.1.3 Ajax的优点 248 11.2 Ajax使用的技术 249 11.2.1 XMLHttpRequest 249 11.2.2 JavaScript脚本语言 251 11.2.3 DOM 251 11.2.4 XML语言 252 11.2.5 CSS 252 11.3 传统Ajax工作流程 252 11.3.1 发送请求 252 11.3.2 处理服务器响应 253 11.3.3 一个完整的实例 255 11.4 jQuery实现Ajax 256 11.4.1 jQuery简介 256 11.4.2 发送GET和POST请求 258 11.4.3 服务器返回的数据格式 261 11.4.4 使用$.ajax()方法 264 11.5 Ajax开发需要注意的几个问题 266 11.5.1 浏览器兼容性问题 266 11.5.2 安全问题 266 11.5.3 性能问题 267 11.5.4 中文编码问题 267 11.6 开发用户注册模块 268 11.6.1 模块概述 268 11.6.2 系统流程 268 11.6.3 关键技术 269 11.6.4 数据库设计 270 11.6.5 实现过程 270 11.7 本章小结 280 11.8 学习成果检验 280
第3篇 框 架 技 术
第12章 Struts 2框架 282 视频讲解:62分钟 12.1 MVC设计模式 283 12.2 Struts 2框架概述 283 12.2.1 Struts 2框架的产生 283 12.2.2 Struts 2的结构体系 284 12.3 Struts 2 入门 284 12.3.1 获取与配置Struts 2 284 12.3.2 创建第一个Struts 2程序 285 12.4 Action对象 287 12.4.1 认识Action对象 287 12.4.2 请求参数的注入原理 288 12.4.3 Action的基本流程 288 12.4.4 动态Action 289 12.4.5 应用动态Action 289 12.5 Struts 2的配置文件 291 12.5.1 Struts 2的配置文件类型 291 12.5.2 配置Struts 2包 291 12.5.3 配置名称空间 292 12.5.4 Action的相关配置 292 12.5.5 使用通配符简化配置 294 12.5.6 配置返回结果 294 12.6 Struts 2的标签库 295 12.6.1 数据标签 295 12.6.2 控制标签 297 12.6.3 表单标签 298 12.7 Struts 2的开发模式 300 12.7.1 实现与Servlet API的交互 300 12.7.2 域模型DomainModel 300 12.7.3 驱动模型ModelDriven 301 12.8 Struts 2的拦截器 302 12.8.1 拦截器概述 302 12.8.2 拦截器API 303 12.8.3 使用拦截器 304 12.9 数据验证机制 305 12.9.1 手动验证 305 12.9.2 验证文件的命名规则 306 12.9.3 验证文件的编写风格 306 12.10 实战 307 12.10.1 实现用户登录 307 12.10.2 实现简单的计算器 308 12.10.3 Struts 2标签实现的用户注册 309 12.10.4 XML中配置数据验证器验证表单元素 310 12.10.5 级联下拉列表框 311 12.11 本章小结 312 12.12 学习成果检验 312 第13章 Hibernate框架 313 视频讲解:65分钟 13.1 Hibernate简介 314 13.1.1 理解ORM原理 314 13.1.2 Hibernate的结构体系 314 13.1.3 Hibernate实例状态 315 13.1.4 Hibernate的适用性 316 13.2 Hibernate入门 316 13.2.1 Hibernate包的下载与放置 316 13.2.2 Hibernate配置文件 317 13.2.3 编写持久化类 318 13.2.4 编写映射文件 319 13.2.5 编写Hibernate的初始化类 321 13.3 自动建表技术 323 13.4 Hibernate持久化对象 324 13.4.1 添加数据 325 13.4.2 查询数据 325 13.4.3 删除数据 327 13.4.4 修改数据 328 13.5 Hibernate缓存及延迟加载 330 13.5.1 一级缓存 330 13.5.2 二级缓存 331 13.5.3 Lazy策略 333 13.6 实战 334 13.6.1 用户注册 334 13.6.2 修改数据 337 13.6.3 将实体对象保存到数据库 340 13.6.4 更新实体对象 342 13.6.5 批量删除数据 344 13.7 本章小结 345 13.8 学习成果检验 345 第14章 Hibernate高级应用 346 视频讲解:105分钟 14.1 关联关系映射 347 14.1.1 单向关联与双向关联 347 14.1.2 多对一单向关联映射 347 14.1.3 多对一双向关联映射 349 14.1.4 一对一主键关联映射 351 14.1.5 一对一外键关联映射 352 14.1.6 多对多关联映射 353 14.1.7 级联操作在关联中的使用 354 14.2 HQL检索方式 356 14.2.1 HQL的基本语法 356 14.2.2 实体对象与动态实例化对象查询 356 14.2.3 条件查询与别名的使用 357 14.2.4 HQL语句的动态赋值 357 14.2.5 对象导航查询 358 14.2.6 排序查询 358 14.2.7 聚合函数 359 14.2.8 分组操作 359 14.2.9 对日期时间的处理 359 14.2.10 联合查询 360 14.2.11 子查询 361 14.3 实战 362 14.3.1 多对一数据的添加与查询 362 14.3.2 模糊查询药品信息 365 14.3.3 内连接查询图书信息 368 14.3.4 利用多态查询判断用户登录身份 370 14.3.5 HQL排序查询订单信息 372 14.4 本章小结 373 14.5 学习成果检验 373 第15章 综合实验(四)——JSP+Hibernate实现留言模块 374 视频讲解:72分钟 15.1 实例说明 375 15.1.1 实现功能 375 15.1.2 系统流程 375 15.1.3 逻辑分层结构 376 15.2 技术要点 376 15.2.1 确定实体及关系 376 15.2.2 ThreadLocal的使用 376 15.3 实现过程 377 15.3.1 搭建开发环境 377 15.3.2 实体类与映射 379 15.3.3 注册模块 382 15.3.4 用户登录 385 15.3.5 实现留言 387 15.3.6 分页查看留言信息 390 15.3.7 管理员相关操作 395 15.4 运行项目 399 15.5 本章小结 399 第16章 Spring框架 400 视频讲解:92分钟 16.1 Spring概述 401 16.1.1 Spring组成 401 16.1.2 下载Spring 402 16.1.3 配置Spring 402 16.1.4 使用BeanFactory管理Bean 403 16.1.5 应用ApllicationContext 403 16.2 Spring IoC 404 16.2.1 控制反转与依赖注入 404 16.2.2 配置Bean 405 16.2.3 Setter注入 406 16.2.4 构造器注入 406 16.2.5 引用其他Bean 408 16.2.6 创建匿名内部JavaBean 409 16.3 AOP概述 409 16.3.1 AOP术语 410 16.3.2 AOP的简单实现 411 16.4 Spring的切入点 412 16.4.1 静态与动态切入点 412 16.4.2 深入静态切入点 413 16.4.3 深入切入点底层 413 16.4.4 Spring中的其他切入点 414 16.5 Aspect对AOP的支持 414 16.5.1 Aspect概述 414 16.5.2 Spring中的Aspect 415 16.5.3 DefaultPointcutAdvisor切入点配置器 415 16.5.4 NameMatchMethodPointcutAdvisor切入点配置器 416 16.6 Spring持久化 416 16.6.1 DAO模式 416 16.6.2 Spring的DAO理念 417 16.6.3 事务管理 419 16.6.4 应用JdbcTemplate操作数据库 422 16.6.5 与Hibernate整合 423 16.6.6 整合Spring与Hibernate在tb_user表中添加信息 424 16.7 实战 425 16.7.1 使用Spring对员工表进行增、删、改、查操作 425 16.7.2 使用Spring整合Hibernate操作商品库存表 432 16.7.3 利用DAO模式向商品信息表中添加数据 438 16.7.4 Spring AOP实现用户注册 439 16.7.5 利用JdbcTemplate向员工信息表中添加数据 441 16.8 本章小结 443 16.9 学习成果检验 443 第17章 Spring MVC框架 444 视频讲解:88分钟 17.1 Spring MVC简介 445 17.1.1 Spring MVC的特点 445 17.1.2 Spring MVC的不足 445 17.2 Spring MVC中的组件 445 17.2.1 核心控制器 445 17.2.2 业务控制器 446 17.2.3 控制器映射 446 17.2.4 模型与视图 446 17.2.5 视图解析器 446 17.2.6 Command对象 446 17.3 Spring MVC核心控制器 446 17.4 Spring MVC控制器映射 447 17.4.1 配置BeanNameUrlHandlerMapping 447 17.4.2 配置SimpleUrlHandlerMapping 448 17.4.3 多个控制器映射 448 17.5 Spring MVC业务控制器 448 17.5.1 简单控制器 448 17.5.2 参数映射控制器 450 17.5.3 文件名映射控制器 451 17.5.4 表单控制器 451 17.5.5 Spring编码过滤器解决中文乱码 454 17.5.6 多动作控制器 454 17.6 视图解析器 456 17.6.1 视图解析器介绍 456 17.6.2 配置InternalResourceViewResolver 457 17.7 常见的其他第三方MVC框架 457 17.7.1 Struts 458 17.7.2 JSF 458 17.7.3 Struts 2 458 17.8 实战 458 17.8.1 应用参数映射控制器映射JSP页面 458 17.8.2 利用向导控制器实现分步用户注册 459 17.8.3 利用表单控制器实现验证处理 462 17.8.4 利用多动作控制器实现数据查询和删除操作 463 17.8.5 使用Spring MVC编写在线通讯录 465 17.9 本章小结 470 17.10 学习成果检验 470 第18章 综合实验(五)——Spring+Hibernate实现用户管理模块 471 视频讲解:62分钟 18.1 系统功能模块设计 472 18.2 数据库设计 472 18.3 技术要点 472 18.4 文件夹结构设计 473 18.5 实体映射 473 18.5.1 部门信息 473 18.5.2 用户信息 474 18.6 设计操作数据库的接口与类 475 18.6.1 部门信息DAO接口IDeptInfoDao 475 18.6.2 部门信息DAO实现类DeptInfoDao 475 18.6.3 用户信息DAO接口IUserInfoDao 476 18.6.4 用户信息DAO实现类IUserInfoDao 476 18.7 登录子模块 478 18.7.1 登录子模块控制器 478 18.7.2 登录子模块JSP页面 479 18.8 部门管理子模块 481 18.8.1 部门管理子模块控制器 482 18.8.2 部门管理子模块JSP页面 483 18.9 用户管理子模块 484 18.9.1 用户管理子模块文件上传类 485 18.9.2 用户管理子模块控制器类 486 18.9.3 用户管理子模块JSP页面 488 18.10 配置文件 491 18.10.1 在src文件内编写log4j.properties 491 18.10.2 创建Spring配置文件applicationContext.xml 491 18.10.3 配置web.xml 494 18.11 运行项目 494 18.12 本章小结 494
第4篇 实 用 技 术
第19章 数据分页 496 视频讲解:46分钟 19.1 SQL Server数据库分页 497 19.1.1 获取前n条记录 497 19.1.2 获取分页数据 497 19.2 MySQL数据库分页 498 19.2.1 LIMIT函数 498 19.2.2 获取分页数据 498 19.2.3 获取总页数 499 19.3 Hibernate分页 499 19.3.1 HQL分页 499 19.3.2 QBC分页 500 19.4 分页商品信息查询模块 500 19.4.1 模块介绍 500 19.4.2 系统流程 500 19.4.3 关键技术 501 19.4.4 数据库设计 501 19.4.5 实现过程 502 19.5 实战 508 19.5.1 对SQL Server 2008数据库进行分页 508 19.5.2 转到指定页的分页 509 19.5.3 具有页码跳转功能的分页 510 19.5.4 分栏显示 512 19.5.5 应用Hibernate分页 513 19.6 本章小结 516 19.7 学习成果检验 516 第20章 文件上传与下载 517 视频讲解:50分钟 20.1 使用Servlet 3.0的新特性实现文件上传 518 20.2 使用Commons-FileUpload组件实现文件上传 519 20.2.1 添加表单及表单元素 519 20.2.2 创建上传对象 519 20.2.3 解析上传请求 520 20.3 Spring文件上传 522 20.3.1 配置文件上传解析器 522 20.3.2 编写文件上传表单页面 523 20.3.3 编写文件上传控制器 523 20.4 实现文件下载 524 20.4.1 文件类 524 20.4.2 文件字节输入流 525 20.4.3 字节输出流 525 20.5 MP3乐园 527 20.5.1 模块介绍 527 20.5.2 系统流程 527 20.5.3 关键技术 528 20.5.4 数据库设计 528 20.5.5 公共类编写 528 20.5.6 实现系统登录 530 20.5.7 实现用户注册 531 20.5.8 实现文件上传 532 20.5.9 文件下载 535 20.6 本章小结 536 20.7 学习成果检验 536 第21章 PDF与Excel组件 537 视频讲解:64分钟 21.1 PDF概述 538 21.1.1 PDF的优点 538 21.1.2 PDF阅读工具 538 21.2 PDF组件简介 538 21.2.1 iText组件简介 538 21.2.2 iText组件的获取 538 21.2.3 iText组件关键类简介 539 21.3 应用iText组件生成PDF文档 539 21.3.1 创建Document对象的实例 540 21.3.2 获取PdfWrite实例 540 21.3.3 为PDF文档添加内容 540 21.3.4 字体与中文字符的显示 541 21.3.5 创建表格 541 21.3.6 插入图像 542 21.4 应用PDFBox组件解析PDF文档 543 21.4.1 PDFBox组件简介 543 21.4.2 PDFBox组件的获取 543 21.4.3 应用PDFBox组件解析PDF文档 544 21.5 Excel组件简介 545 21.5.1 常用Excel组件 545 21.5.2 POI组件简介 545 21.5.3 POI组件的获取 545 21.5.4 POI组件关键类简介 546 21.6 应用POI组件读写Excel文档 546 21.6.1 创建一个Excel文档 546 21.6.2 设置字体样式 547 21.6.3 合并单元格 548 21.6.4 读取Excel文档内容 549 21.7 实战 550 21.7.1 将数据库中的内容导出为PDF文档 550 21.7.2 将数据库中的内容导出为Excel文档 553 21.7.3 设置Excel文档中的字体样式 554 21.7.4 读取Excel文件的数据到数据库 555 21.7.5 设置Excel文件的打印属性 556 21.8 本章小结 557 21.9 学习成果检验 557 第22章 动态图表 558 视频讲解:75分钟 22.1 JFreeChart简介 559 22.1.1 认识JFreeChart组件 559 22.1.2 JFreeChart的下载与使用 559 22.2 JFreeChart的核心对象 560 22.2.1 制图对象 560 22.2.2 制图工厂对象 560 22.2.3 数据集合对象 561 22.2.4 绘图区对象 562 22.2.5 坐标轴对象 563 22.2.6 图片渲染对象 565 22.3 JFreeChart的应用 565 22.3.1 如何获取图片 565 22.3.2 创建数据集合与JFreeChart实例 566 22.3.3 图表相关属性的设置 568 22.3.4 JFreeChart内置JDBC的使用 569 22.3.5 中文乱码的解决方案 571 22.4 实战 572 22.4.1 JFreeChart绘制折线图 572 22.4.2 JFreeChart绘制区域图 575 22.4.3 JFreeChart绘制时序图 577 22.4.4 利用柱状图显示某网站的访问量 579 22.4.5 利用饼图显示不同编程语言的市场占有率 580 22.5 本章小结 581 22.6 学习成果检验 581 第23章 综合实验(六)——在线投票统计模块 582 视频讲解:64分钟 23.1 系统功能模块设计 583 23.1.1 功能描述 583 23.1.2 系统流程 583 23.2 数据库设计 583 23.3 关键技术 584 23.3.1 双击鼠标展开图片技术 584 23.3.2 判断IP所属地区技术 585 23.4 公共模块设计 586 23.4.1 数据库操作类的设计与实现 586 23.4.2 投票过滤器类的设计与实现 589 23.5 实现投票功能 590 23.6 实现柱形图统计功能 591 23.7 实现饼形图统计功能 594 23.8 运行项目 596 23.9 本章小结 596
第5篇 项 目 实 战
第24章 基于SSH2的电子商城网站 598 视频讲解:48分钟 24.1 需求分析 599 24.2 系统设计 599 24.2.1 系统目标 599 24.2.2 系统功能结构 599 24.2.3 系统流程图 600 24.3 项目开发及运行环境 600 24.3.1 服务器最低配置 600 24.3.2 客户端最低配置 600 24.4 系统文件夹组织结构 601 24.5 数据库与数据表设计 601 24.5.1 E-R图设计 601 24.5.2 创建数据库及数据表 602 24.6 搭建项目环境 604 24.6.1 配置Struts 2 604 24.6.2 配置Hibernate 606 24.6.3 配置Spring 607 24.6.4 配置web.xml 608 24.7 公共类设计 609 24.7.1 泛型工具类 609 24.7.2 数据持久化类 610 24.7.3 分页设计 612 24.7.4 字符串工具类 615 24.8 登录与注册模块设计 616 24.8.1 注册 616 24.8.2 登录 618 24.9 前台商品信息查询模块设计 620 24.9.1 商品类别分级查询 620 24.9.2 商品搜索 621 24.9.3 前台查询其他商品 622 24.10 购物车模块设计 624 24.10.1 购物车的基本功能 624 24.10.2 订单的相关功能 627 24.11 后台商品管理模块设计 629 24.11.1 商品管理功能 629 24.11.2 实现商品类别管理功能 632 24.12 后台订单管理模块设计 635 24.12.1 实现后台订单查询 635 24.12.2 实现后台订单状态管理 637 24.13 运行项目 639 24.14 本章小结 639 第25章 基于SSH2的明日论坛 640 视频讲解:32分钟 25.1 开发背景 641 25.2 系统设计 641 25.2.1 系统目标 641 25.2.2 系统功能结构 641 25.2.3 系统流程图 641 25.3 项目开发及运行环境 642 25.3.1 服务器最低配置 642 25.3.2 客户端最低配置 642 25.4 系统文件夹组织结构 642 25.5 数据库与数据表设计 643 25.5.1 E-R图设计 643 25.5.2 数据库表设计 644 25.6 公共类设计 645 25.6.1 Spring+Hibernate组合实现持久层 645 25.6.2 使用Struts 2标签分页 647 25.7 主页面设计 648 25.7.1 文章搜索首页设计 649 25.7.2 论坛页设计 650 25.8 文章维护模块设计 651 25.8.1 添加文章模块 651 25.8.2 浏览文章 653 25.8.3 文章回复 654 25.8.4 修改文章 655 25.8.5 删除文章 655 25.9 文章搜索模块设计 656 25.9.1 搜索我的文章 656 25.9.2 根据关键字搜索文章 657 25.9.3 热门搜索 659 25.9.4 搜索文章作者的所有文章 659 25.9.5 搜索回复作者的所有文章 661 25.10 运行项目 661 25.11 本章小结 661 |