Java Web开发是目前最流行的网络开发技术之一。本书由浅入深,结合大量的实例系统地讲解了关于Java Web开发方面的知识。全书内容包括Java Web开发的基础知识、Java Web开发环境的搭建、JSP技术详解、Servlet技术详解、JSP+Servlet+JavaBean开发模式、JDBC接口的使用方法、Hibernate持续层的使用方法、Struts 2技术详解、Spring框架详解、Spring+Hibernate+Struts 2开发实例等。为了便于读者理解,本书在讲解知识点时引用了大量的实例,并且通过一个在线购物系统的开发实例让读者对Java Web项目的开发有了更全面、深入的认识。 本书适合Java Web初、中级读者,如大中专院校学生、 培训学校学员、网站开发爱好者、Java程序开发人员等。同时本书配以PPT教案,非常适合大中专院校作为教材使用。 第1篇 Java Web开发基础篇 1 第1章 Java Web开发概述 2 1.1 Java语言简介 2 1.1.1 Java语言概述 2 1.1.2 Java语言的特性 2 1.1.3 Java语言的发展历程 3 1.1.4 Java语言的发展前景 4 1.2 Java Web开发基本知识 4 1.2.1 Web应用程序的运行原理 4 1.2.2 Web服务器汇总 4 1.2.3 Java Web开发中的组件简介 5 1.3 .NET与J2EE两大主流平台简介 6 1.3.1 介绍.NET平台 7 1.3.2 介绍J2EE(Java的企业级版本) 7 1.4 常见问题及解答 7 1.5 小结 8 1.6 习题 8 第2章 搭建Java Web开发环境 9 2.1 下载安装JDK并配置环境变量 9 2.1.1 下载安装JDK 9 2.1.2 环境变量设置 10 2.2 用HelloWorld例子体验Java编译和运行 11 2.3 下载安装并测试Tomcat服务器 12 2.3.1 下载apache-tomcat-6.0.16 12 2.3.2 安装Tomcat 12 2.3.3 通过一个JSP文件测试Tomcat 12 2.4 安装MySQL数据库 13 2.4.1 下载MySQL 5.0 13 2.4.2 安装MySQL 5.0 14 2.4.3 安装MySQL数据库的JDBC驱动程序 15 2.5 Ant入门 15 2.5.1 下载并安装Ant 16 2.5.2 设置环境变量 16 2.5.3 分析Ant工程模板中的build.xml文件 17 2.5.4 分析Ant工程模板的目录结构 18 2.6 本章实例 20 2.6.1 编写一个JSP+MySQL的Java Web程序 20 2.6.2 使用Ant编译、部署示例2-3 22 2.7 上机实践 24 2.8 常见问题及解答 25 2.9 小结 26 2.10 习题 26 第3章 Eclipse入门 27 3.1 Eclipse概述 27 3.2 Eclipse开发环境的建立 27 3.2.1 Eclipse的下载和安装 27 3.2.2 下载和安装Tomcat插件 28 3.2.3 在Eclipse中集成Ant 29 3.3 用Eclipse开发一个简单的Java Web应用程序 31 3.4 上机实践 34 3.5 常见问题及解答 34 3.6 小结 35 3.7 习题 35 第2篇 JSP技术应用开发篇 37 第4章 JSP技术概述 38 4.1 动态网页技术 38 4.1.1 ASP技术 38 4.1.2 PHP技术 39 4.1.3 JSP技术 40 4.2 JSP的运行原理 41 4.2.1 使用JSP出现的现象 41 4.2.2 根据现象揭示JSP的工作原理 43 4.3 为什么要使用JSP技术 45 4.4 开发第一个JSP页面 46 4.5 上机实践 48 4.6 常见问题及解答 49 4.7 小结 49 4.8 习题 49 第5章 JSP语法及应用分析 50 5.1 JSP文件的构成元素分析 50 5.1.1 一个典型的JSP文件 50 5.1.2 分析JSP文件中的注释 51 5.1.3 模板元素 52 5.1.4 脚本元素 53 5.1.5 指令元素 53 5.1.6 动作元素 54 5.2 脚本元素详解 54 5.2.1 脚本元素中的声明(Declaration) 54 5.2.2 脚本元素中的表达式(Expression) 55 5.2.3 脚本元素中的Scriptlet 55 5.3 指令元素详解 57 5.3.1 页面(page)指令元素 57 5.3.2 包含(include)指令元素 59 5.3.3 自定义标签(taglib)指令元素 61 5.4 动作元素详解 62 5.4.1 参数元素 62 5.4.2 包含元素 62 5.4.3 转发元素 64 5.4.4 属性设置元素 65 5.4.5 属性获取元素 66 5.4.6 JavaBean调用元素 67 5.5 创建一个完整的JSP文件 69 5.6 上机实践 71 5.7 常见问题及解答 72 5.8 小结 72 5.9 习题 73 第6章 JSP内建对象讲解及实例讲解 74 6.1 内建对象介绍 74 6.1.1 使用out对象 74 6.1.2 使用request对象 75 6.1.3 使用response对象 76 6.1.4 使用sessioin对象 78 6.1.5 使用pageContext对象 80 6.1.6 使用application对象 82 6.1.7 使用exception对象 84 6.2 内建对象使用实例 85 6.2.1 不同页面数据共享 85 6.2.2 不同用户之间通信 87 6.3 上机实践 88 6.4 常见问题及解答 89 6.5 小结 89 6.6 习题 90 第7章 初步认识JavaBean 91 7.1 JavaBean基础 91 7.1.1 什么是JavaBean 91 7.1.2 JavaBean的特点 91 7.1.3 JavaBean的属性 92 7.1.4 JavaBean的方法 94 7.2 在JSP中使用JavaBean 94 7.3 使用JavaBean连接数据库 97 7.4 上机实践 101 7.5 常见问题及解答 102 7.6 小结 102 7.7 习题 102 第3篇 Servlet技术与Tomcat服务器篇 103 第8章 Servlet基础 104 8.1 Servlet介绍 104 8.1.1 什么是Servlet 104 8.1.2 Servlet的特点 105 8.1.3 JSP与Servlet的关系 106 8.2 Servlet的生命周期 109 8.3 开发、部署一个简单的Servlet程序 110 8.4 上机实践 113 8.5 常见问题及解答 114 8.6 小结 115 8.7 习题 115 第9章 Servlet的配置与使用 116 9.1 Servlet的基本配置 116 9.1.1 Servlet的名字、类和其他杂项的设置 116 9.1.2 Servlet初始化参数的设置 117 9.1.3 启动装入优先级的设置 119 9.1.4 Servlet的映射 120 9.2 使用HttpServlet处理客户端请求 121 9.2.1 处理Get请求doGet 121 9.2.2 处理Post请求doPost 122 9.2.3 HttpServlet的高级处理方法 123 9.3 使用Servlet监听 123 9.3.1 监听Servlet上下文信息 124 9.3.2 监听HTTP会话信息 125 9.3.3 监听客户端请求信息 127 9.4 开发Web应用过滤器 129 9.5 使用Servlet开发一个编码过滤器 131 9.6 上机实践 132 9.7 常见问题及解答 133 9.8 小结 134 9.9 习题 134 第10章 JSP、JavaBean和Servlet的配合使用 135 10.1 两种模式的分工方法 135 10.1.1 模式一(JSP+JavaBean)分工方法 135 10.1.2 模式二(JSP+JavaBean+Servlet)分工方法 135 10.2 两种模式的比较 136 10.2.1 两种模式的特点 136 10.2.2 应用特征的比较 137 10.3 JSP+JavaBean实例分析 137 10.3.1 案例说明 137 10.3.2 表示留言数据的JavaBean 138 10.3.3 用于执行数据库操作的JavaBean 140 10.3.4 填写留言板的界面 142 10.3.5 处理添加留言的JSP页面 143 10.3.6 查看留言消息的JSP 144 10.3.7 使用Ant编译和部署程序 145 10.3.8 运行 146 10.4 JSP+JavaBean+Servlet实例分析 146 10.5 上机实践 152 10.6 常见问题及解答 155 10.7 小结 155 10.8 习题 155 第4篇 数据库技术与Hibernate篇 157 第11章 数据库技术基本知识 158 11.1 主流数据库及常用SQL语句介绍 158 11.1.1 创建和删除数据库 158 11.1.2 创建和删除数据表 159 11.1.3 更改表的结构 160 11.1.4 向表中插入一条数据 160 11.1.5 从表中删除数据 160 11.1.6 更新表中的数据 161 11.1.7 创建和删除视图 161 11.2 JDBC技术及驱动程序概述 161 11.2.1 介绍JDBC 162 11.2.2 数据库驱动程序介绍 162 11.3 JDBC API使用介绍 163 11.3.1 使用Driver接口 163 11.3.2 使用DriverManager接口 164 11.3.3 使用Connection接口 165 11.3.4 使用Statement和PrepareStatement 165 11.3.5 使用ResultSet接口 166 11.4 本章实例 167 11.4.1 使用JDBC连接到MySQL 168 11.4.2 使用JDBC连接到SQL Server 2005 169 11.4.3 使用JDBC连接到SQL Server 2000 169 11.4.4 使用JDBC连接到Oracle 170 11.5 上机实践 170 11.6 常见问题及解答 171 11.7 小结 171 11.8 习题 171 第12章 使用JSP和Servlet调用JDBC 172 12.1 在JSP中使用JDBC访问数据库 172 12.1.1 JSP插入数据操作 172 12.1.2 JSP查询数据库操作 174 12.1.3 JSP更新数据操作 175 12.1.4 JSP删除数据操作 176 12.1.5 JSP其他数据库操作 176 12.2 JSP调用JavaBean访问数据库 177 12.3 在Servlet中使用JDBC访问数据库 180 12.4 使用JDBC实现数据分页显示 183 12.4.1 编写Servlet:PageCustomerServlet 183 12.4.2 编写JavaBean:PageBean、CustomerBean 184 12.4.3 编写JSP:pageContent、pagePlugin 186 12.4.4 运行分页显示实例 188 12.5 上机实践 188 12.6 常见问题及解答 189 12.7 小结 189 12.8 习题 189 第13章 Hibernate概述及实例分析 190 13.1 什么是数据持久化和ORM 190 13.2 Hibernate简介 191 13.3 配置Hibernate的开发环境 191 13.4 在线购物系统开发概述 192 13.5 开发在线购物系统 193 13.5.1 需求分析 193 13.5.2 概念机构设计 193 13.5.3 逻辑机构设计 194 13.6 创建JavaBean组件 195 13.7 创建Hibernate映射文件 197 13.8 创建Hibernate配置文件 199 13.9 创建数据库操作类:DBOperator 199 13.10 测试系统功能 203 13.11 上机实践 205 13.12 常见问题及解答 205 13.13 小结 206 13.14 习题 206 第14章 Hibernate的体系结构及接口 207 14.1 熟悉Hibernate的体系结构 207 14.2 掌握Hibernate实体对象的生命周期 208 14.2.1 瞬态(Transient) 208 14.2.2 持久态(Persistent) 208 14.2.3 游离态(Detached) 209 14.2.4 实体对象的状态转换 209 14.3 学会使用Hibernate API 212 14.3.1 使用Configuration类 212 14.3.2 使用SessionFactory接口 213 14.3.3 使用Session接口 213 14.3.4 使用Transaction接口 214 14.3.5 使用Query接口 214 14.3.6 使用Criteria接口 216 14.4 本章实例 216 14.5 上机实践 218 14.6 常见问题及解答 218 14.7 小结 219 14.8 习题 219 第15章 Hibernate的映射技巧 220 15.1 映射文件的配置 220 15.1.1 映射文件的格式 220 15.1.2 装载映射文件 223 15.2 映射一对多关联关系 224 15.2.1 多对一单向关联 224 15.2.2 实现双向关联 227 15.3 映射多对多关联关系 230 15.3.1 映射单向多对多关联 230 15.3.2 映射双向多对多关联 233 15.4 映射一对一关联关系 234 15.5 映射继承关系 237 15.6 本章实例 240 15.7 上机实践 242 15.8 常见问题及解答 243 15.9 小结 243 15.10 习题 244 第16章 Hibernate事务处理和缓存管理 245 16.1 Hibernate的事务处理 245 16.1.1 数据库事务的概念 245 16.1.2 数据库的隔离级别 246 16.1.3 了解Hibernate中的事务处理 247 16.1.4 并发控制 248 16.2 管理Hibernate缓存 249 16.2.1 缓存的基本原理 249 16.2.2 Hibernate的二级缓存结构 250 16.2.3 管理Hibernate的第一级缓存 251 16.2.4 管理Hibernate的第二级缓存 252 16.3 本章实例 255 16.3.1 在Hibernate中使用悲观锁 256 16.3.2 在Hibernate中使用乐观锁 259 16.4 上机实践 260 16.5 常见问题及解答 261 16.6 小结 262 16.7 习题 262 第5篇 Struts 2架构详解篇 263 第17章 MVC模式与Struts 2框架 264 17.1 MVC模式概述 264 17.1.1 MVC设计模式的思想 264 17.1.2 MVC处理请求的过程 265 17.1.3 MVC的优点 265 17.1.4 MVC和模式二(JSP+JavaBean+Servlet) 266 17.2 Struts 1简介 266 17.2.1 Struts 1的框架结构 266 17.2.2 Struts 1的处理流程 268 17.2.3 Struts 1的优缺点 268 17.3 Struts 2框架介绍 269 17.3.1 Struts 2的历史 269 17.3.2 Struts 2框架结构 269 17.3.3 Struts 2的配置文件 270 17.3.4 Struts 2控制器 272 17.3.5 Struts 2标签库 273 17.3.6 Struts 2和Struts 1的比较 273 17.4 常见问题及解答 274 17.5 小结 274 17.6 习题 274 第18章 Struts 2实例分析 275 18.1 搭建Struts 2开发环境 275 18.1.1 安装Struts 2 275 18.1.2 测试Struts 2是否正常工作 276 18.1.3 Struts 2和Eclipse集成 277 18.2 项目简介 278 18.3 编写配置文件 279 18.3.1 配置web.xml文件 279 18.3.2 配置struts.xml文件 280 18.4 创建控制器(Action类) 280 18.5 创建视图层 282 18.5.1 用于注册的register.jsp文件 282 18.5.2 用于显示注册成功的success.jsp 283 18.6 运行程序 283 18.7 使用ActionSupport类实现数据验证 284 18.8 运行验证 286 18.9 上机实践 286 18.10 常见问题及解答 287 18.11 小结 288 18.12 习题 288 第19章 Struts 2核心剖析 289 19.1 Struts 2的工作流程 289 19.2 Struts 2配置文件详解 295 19.2.1 web.xml的配置 295 19.2.2 struts.xml的配置 296 19.2.3 struts.properties配置文件 305 19.3 Struts 2的Action类 305 19.3.1 业务控制器Action的实现类 305 19.3.2 使用Struts 2框架提供的接口 307 19.3.3 使用Action类访问Servlet API 309 19.3.4 Action的配置 310 19.3.5 Action类方法的动态调用 311 19.4 拦截器 313 19.4.1 拦截器的思想 314 19.4.2 使用拦截器 314 19.5 Struts 2中使用ONGL 318 19.5.1 对象导航语言ONGL简介 318 19.5.2 Struts 2中使用ONGL 319 19.6 本章实例 321 19.7 上机实践 322 19.8 常见问题及解答 323 19.9 小结 323 19.10 习题 324 第20章 Struts 2框架技术 325 20.1 Struts 2的国际化操作 325 20.1.1 Struts 2实现国际化的原理 325 20.1.2 Struts 2实现国际化的一般步骤 326 20.1.3 使用不同范围的资源文件 331 20.1.4 加载资源文件的顺序 333 20.2 Struts 2的类型转换 334 20.2.1 预定义类型和日期类型的转换 334 20.2.2 复合类型的转换 336 20.2.3 复合类型集合的转换 339 20.2.4 Struts 2类型转换异常处理 341 20.3 Struts 2数据验证 341 20.3.1 使用validate()方法进行验证 341 20.3.2 使用配置文件进行验证 344 20.4 数据验证时国际化操作的实例分析 347 20.5 上机实践 349 20.6 常见问题及解答 351 20.7 小结 351 20.8 习题 351 第21章 Struts 2标签库 352 21.1 Struts 2标签库概述 352 21.1.1 什么是Struts 2标签 352 21.1.2 Struts 2标签库的组成 352 21.1.3 Struts 2标签库的使用 353 21.1.4 Struts 2和Struts 1标签的区别 354 21.2 Struts 2控制标签 354 21.2.1 循环标签iterator 354 21.2.2 选择标签if/elseif/else 357 21.2.3 集合连接标签append 358 21.2.4 子集标签subset 360 21.2.5 排序标签sort 361 21.3 数据标签 362 21.3.1 控制器调用标签action 362 21.3.2 JavaBean调用标签bean 364 21.3.3 值栈置顶标签push 366 21.3.4 调试标签debug 366 21.3.5 包含标签include 367 21.3.6 参数传递标签param 367 21.3.7 变量赋值标签set 367 21.3.8 地址标签url 368 21.3.9 值输出标签property 369 21.4 表单标签 369 21.4.1 复选框标签checkbox 369 21.4.2 复选框集合标签checkboxlist 370 21.4.3 组合框标签combobox 371 21.4.4 日期选择标签datetimepicker 372 21.4.5 下拉列表框标签select 373 21.4.6 单选框标签radio 374 21.4.7 选项组标签optgroup 374 21.4.8 其他常用表单标签 374 21.5 非表单标签 375 21.5.1 信息显示标签actionerrror和actionmessage 375 21.5.2 树形结构标签tree和treenode 376 21.6 本章实例 377 21.7 上机实践 379 21.8 常见问题及解答 379 21.9 小结 380 21.10 习题 380 第6篇 Spring框架及其使用篇 381 第22章 Spring基础 382 22.1 Spring架构概述 382 22.2 Spring的特点 383 22.3 Spring开发环境的简单配置 384 22.3.1 下载Spring 384 22.3.2 简单介绍Spring包 384 22.3.3 在Eclipse中配置Spring 385 22.4 开发一个简单的Spring应用程序 387 22.4.1 编写接口文件Hello.Java 387 22.4.2 编写实现接口的类 388 22.4.3 创建Spring的配置文件config.xml 389 22.4.4 创建用于主函数类 389 22.4.5 运行程序 390 22.5 常见问题及解答 391 22.6 小结 391 22.7 习题 391 第23章 Spring的Web架构 392 23.1 第一个Spring MVC例子 392 23.1.1 配置web.xml文件 392 23.1.2 编写用于输出的页面 393 23.1.3 创建控制器 393 23.1.4 创建Spring的配置文件 394 23.1.5 运行Spring MVC示例 395 23.1.6 使用JSTL视图技术 395 23.1.7 使用Ant实现这个例子 396 23.2 Spring MVC的控制器 398 23.2.1 核心控制器DispatcherServlet 398 23.2.2 控制器接口Controller 399 23.2.3 表单控制器SimpleFormController 399 23.3 Spring MVC视图 401 23.3.1 模型视图类ModelAndView 402 23.3.2 支持不同的视图 403 23.4 使用拦截器 404 23.5 数据验证 407 23.6 Spring和Struts 2整合 408 23.6.1 整合原理 408 23.6.2 整合步骤 409 23.7 一个Spring+Struts 2的开发实例 410 23.8 上机实践 412 23.9 常见问题及解析 413 23.10 小结 414 23.11 习题 414 第24章 使用Spring操作数据库 415 24.1 Spring框架的事务处理 415 24.1.1 传统的JDBC事务处理 415 24.1.2 Spring框架的事务处理 416 24.2 数据源DataSource的注入 421 24.3 PlatformTransactionManager接口的作用 422 24.4 使用JdbcTemplate访问数据 424 24.4.1 Template模式简介 424 24.4.2 JdbcTemplate的实现方式 425 24.5 Spring+Hibernate实例分析 427 24.6 上机实践 431 24.7 常见问题及解答 433 24.8 小结 433 24.9 习题 433 第25章 Spring+Hibernate+Struts 集成实例分析 434 25.1 项目需求和系统框架 434 25.1.1 项目需求概述 434 25.1.2 系统框架 434 25.2 数据库的设计 436 25.3 配置开发环境 436 25.3.1 web.xml文件的配置 436 25.3.2 Spring配置文件applicationContext.xml的配置 437 25.3.3 Struts 2配置文件struts.xml的配置 438 25.3.4 其他文件的配置 438 25.4 编写JavaBean组件 439 25.5 建立数据库访问组件(DBOperator) 439 25.5.1 定义接口Shopping 439 25.5.2 定义接口的实现类HibernateShopping 440 25.5.3 在Action类中调用HibernateShopping类 441 25.6 创建业务控制器 442 25.6.1 业务控制器的执行流程 442 25.6.2 在线购物系统Action类分析 445 25.7 创建视图组件 446 25.7.1 用户注册界面 446 25.7.2 修改用户信息界面 447 25.7.3 浏览商品详细信息界面 448 25.7.4 显示用户订单列表界面 449 25.8 运行在线购物系统 449 25.9 上机实践 450 25.10 常见问题及解答 450 25.11 小结 450 25.12 习题 451 培训学校学员、网站开发爱好者、Java程序开发人员等。同时本书配以PPT教案,非常适合大中专院校作为教材使用。 第1篇 Java Web开发基础篇 1 第1章 Java Web开发概述 2 1.1 Java语言简介 2 1.1.1 Java语言概述 2 1.1.2 Java语言的特性 2 1.1.3 Java语言的发展历程 3 1.1.4 Java语言的发展前景 4 1.2 Java Web开发基本知识 4 1.2.1 Web应用程序的运行原理 4 1.2.2 Web服务器汇总 4 1.2.3 Java Web开发中的组件简介 5 1.3 .NET与J2EE两大主流平台简介 6 1.3.1 介绍.NET平台 7 1.3.2 介绍J2EE(Java的企业级版本) 7 1.4 常见问题及解答 7 1.5 小结 8 1.6 习题 8 第2章 搭建Java Web开发环境 9 2.1 下载安装JDK并配置环境变量 9 2.1.1 下载安装JDK 9 2.1.2 环境变量设置 10 2.2 用HelloWorld例子体验Java编译和运行 11 2.3 下载安装并测试Tomcat服务器 12 2.3.1 下载apache-tomcat-6.0.16 12 2.3.2 安装Tomcat 12 2.3.3 通过一个JSP文件测试Tomcat 12 2.4 安装MySQL数据库 13 2.4.1 下载MySQL 5.0 13 2.4.2 安装MySQL 5.0 14 2.4.3 安装MySQL数据库的JDBC驱动程序 15 2.5 Ant入门 15 2.5.1 下载并安装Ant 16 2.5.2 设置环境变量 16 2.5.3 分析Ant工程模板中的build.xml文件 17 2.5.4 分析Ant工程模板的目录结构 18 2.6 本章实例 20 2.6.1 编写一个JSP+MySQL的Java Web程序 20 2.6.2 使用Ant编译、部署示例2-3 22 2.7 上机实践 24 2.8 常见问题及解答 25 2.9 小结 26 2.10 习题 26 第3章 Eclipse入门 27 3.1 Eclipse概述 27 3.2 Eclipse开发环境的建立 27 3.2.1 Eclipse的下载和安装 27 3.2.2 下载和安装Tomcat插件 28 3.2.3 在Eclipse中集成Ant 29 3.3 用Eclipse开发一个简单的Java Web应用程序 31 3.4 上机实践 34 3.5 常见问题及解答 34 3.6 小结 35 3.7 习题 35 第2篇 JSP技术应用开发篇 37 第4章 JSP技术概述 38 4.1 动态网页技术 38 4.1.1 ASP技术 38 4.1.2 PHP技术 39 4.1.3 JSP技术 40 4.2 JSP的运行原理 41 4.2.1 使用JSP出现的现象 41 4.2.2 根据现象揭示JSP的工作原理 43 4.3 为什么要使用JSP技术 45 4.4 开发第一个JSP页面 46 4.5 上机实践 48 4.6 常见问题及解答 49 4.7 小结 49 4.8 习题 49 第5章 JSP语法及应用分析 50 5.1 JSP文件的构成元素分析 50 5.1.1 一个典型的JSP文件 50 5.1.2 分析JSP文件中的注释 51 5.1.3 模板元素 52 5.1.4 脚本元素 53 5.1.5 指令元素 53 5.1.6 动作元素 54 5.2 脚本元素详解 54 5.2.1 脚本元素中的声明(Declaration) 54 5.2.2 脚本元素中的表达式(Expression) 55 5.2.3 脚本元素中的Scriptlet 55 5.3 指令元素详解 57 5.3.1 页面(page)指令元素 57 5.3.2 包含(include)指令元素 59 5.3.3 自定义标签(taglib)指令元素 61 5.4 动作元素详解 62 5.4.1 参数元素 62 5.4.2 包含元素 62 5.4.3 转发元素 64 5.4.4 属性设置元素 65 5.4.5 属性获取元素 66 5.4.6 JavaBean调用元素 67 5.5 创建一个完整的JSP文件 69 5.6 上机实践 71 5.7 常见问题及解答 72 5.8 小结 72 5.9 习题 73 第6章 JSP内建对象讲解及实例讲解 74 6.1 内建对象介绍 74 6.1.1 使用out对象 74 6.1.2 使用request对象 75 6.1.3 使用response对象 76 6.1.4 使用sessioin对象 78 6.1.5 使用pageContext对象 80 6.1.6 使用application对象 82 6.1.7 使用exception对象 84 6.2 内建对象使用实例 85 6.2.1 不同页面数据共享 85 6.2.2 不同用户之间通信 87 6.3 上机实践 88 6.4 常见问题及解答 89 6.5 小结 89 6.6 习题 90 第7章 初步认识JavaBean 91 7.1 JavaBean基础 91 7.1.1 什么是JavaBean 91 7.1.2 JavaBean的特点 91 7.1.3 JavaBean的属性 92 7.1.4 JavaBean的方法 94 7.2 在JSP中使用JavaBean 94 7.3 使用JavaBean连接数据库 97 7.4 上机实践 101 7.5 常见问题及解答 102 7.6 小结 102 7.7 习题 102 第3篇 Servlet技术与Tomcat服务器篇 103 第8章 Servlet基础 104 8.1 Servlet介绍 104 8.1.1 什么是Servlet 104 8.1.2 Servlet的特点 105 8.1.3 JSP与Servlet的关系 106 8.2 Servlet的生命周期 109 8.3 开发、部署一个简单的Servlet程序 110 8.4 上机实践 113 8.5 常见问题及解答 114 8.6 小结 115 8.7 习题 115 第9章 Servlet的配置与使用 116 9.1 Servlet的基本配置 116 9.1.1 Servlet的名字、类和其他杂项的设置 116 9.1.2 Servlet初始化参数的设置 117 9.1.3 启动装入优先级的设置 119 9.1.4 Servlet的映射 120 9.2 使用HttpServlet处理客户端请求 121 9.2.1 处理Get请求doGet 121 9.2.2 处理Post请求doPost 122 9.2.3 HttpServlet的高级处理方法 123 9.3 使用Servlet监听 123 9.3.1 监听Servlet上下文信息 124 9.3.2 监听HTTP会话信息 125 9.3.3 监听客户端请求信息 127 9.4 开发Web应用过滤器 129 9.5 使用Servlet开发一个编码过滤器 131 9.6 上机实践 132 9.7 常见问题及解答 133 9.8 小结 134 9.9 习题 134 第10章 JSP、JavaBean和Servlet的配合使用 135 10.1 两种模式的分工方法 135 10.1.1 模式一(JSP+JavaBean)分工方法 135 10.1.2 模式二(JSP+JavaBean+Servlet)分工方法 135 10.2 两种模式的比较 136 10.2.1 两种模式的特点 136 10.2.2 应用特征的比较 137 10.3 JSP+JavaBean实例分析 137 10.3.1 案例说明 137 10.3.2 表示留言数据的JavaBean 138 10.3.3 用于执行数据库操作的JavaBean 140 10.3.4 填写留言板的界面 142 10.3.5 处理添加留言的JSP页面 143 10.3.6 查看留言消息的JSP 144 10.3.7 使用Ant编译和部署程序 145 10.3.8 运行 146 10.4 JSP+JavaBean+Servlet实例分析 146 10.5 上机实践 152 10.6 常见问题及解答 155 10.7 小结 155 10.8 习题 155 第4篇 数据库技术与Hibernate篇 157 第11章 数据库技术基本知识 158 11.1 主流数据库及常用SQL语句介绍 158 11.1.1 创建和删除数据库 158 11.1.2 创建和删除数据表 159 11.1.3 更改表的结构 160 11.1.4 向表中插入一条数据 160 11.1.5 从表中删除数据 160 11.1.6 更新表中的数据 161 11.1.7 创建和删除视图 161 11.2 JDBC技术及驱动程序概述 161 11.2.1 介绍JDBC 162 11.2.2 数据库驱动程序介绍 162 11.3 JDBC API使用介绍 163 11.3.1 使用Driver接口 163 11.3.2 使用DriverManager接口 164 11.3.3 使用Connection接口 165 11.3.4 使用Statement和PrepareStatement 165 11.3.5 使用ResultSet接口 166 11.4 本章实例 167 11.4.1 使用JDBC连接到MySQL 168 11.4.2 使用JDBC连接到SQL Server 2005 169 11.4.3 使用JDBC连接到SQL Server 2000 169 11.4.4 使用JDBC连接到Oracle 170 11.5 上机实践 170 11.6 常见问题及解答 171 11.7 小结 171 11.8 习题 171 第12章 使用JSP和Servlet调用JDBC 172 12.1 在JSP中使用JDBC访问数据库 172 12.1.1 JSP插入数据操作 172 12.1.2 JSP查询数据库操作 174 12.1.3 JSP更新数据操作 175 12.1.4 JSP删除数据操作 176 12.1.5 JSP其他数据库操作 176 12.2 JSP调用JavaBean访问数据库 177 12.3 在Servlet中使用JDBC访问数据库 180 12.4 使用JDBC实现数据分页显示 183 12.4.1 编写Servlet:PageCustomerServlet 183 12.4.2 编写JavaBean:PageBean、CustomerBean 184 12.4.3 编写JSP:pageContent、pagePlugin 186 12.4.4 运行分页显示实例 188 12.5 上机实践 188 12.6 常见问题及解答 189 12.7 小结 189 12.8 习题 189 第13章 Hibernate概述及实例分析 190 13.1 什么是数据持久化和ORM 190 13.2 Hibernate简介 191 13.3 配置Hibernate的开发环境 191 13.4 在线购物系统开发概述 192 13.5 开发在线购物系统 193 13.5.1 需求分析 193 13.5.2 概念机构设计 193 13.5.3 逻辑机构设计 194 13.6 创建JavaBean组件 195 13.7 创建Hibernate映射文件 197 13.8 创建Hibernate配置文件 199 13.9 创建数据库操作类:DBOperator 199 13.10 测试系统功能 203 13.11 上机实践 205 13.12 常见问题及解答 205 13.13 小结 206 13.14 习题 206 第14章 Hibernate的体系结构及接口 207 14.1 熟悉Hibernate的体系结构 207 14.2 掌握Hibernate实体对象的生命周期 208 14.2.1 瞬态(Transient) 208 14.2.2 持久态(Persistent) 208 14.2.3 游离态(Detached) 209 14.2.4 实体对象的状态转换 209 14.3 学会使用Hibernate API 212 14.3.1 使用Configuration类 212 14.3.2 使用SessionFactory接口 213 14.3.3 使用Session接口 213 14.3.4 使用Transaction接口 214 14.3.5 使用Query接口 214 14.3.6 使用Criteria接口 216 14.4 本章实例 216 14.5 上机实践 218 14.6 常见问题及解答 218 14.7 小结 219 14.8 习题 219 第15章 Hibernate的映射技巧 220 15.1 映射文件的配置 220 15.1.1 映射文件的格式 220 15.1.2 装载映射文件 223 15.2 映射一对多关联关系 224 15.2.1 多对一单向关联 224 15.2.2 实现双向关联 227 15.3 映射多对多关联关系 230 15.3.1 映射单向多对多关联 230 15.3.2 映射双向多对多关联 233 15.4 映射一对一关联关系 234 15.5 映射继承关系 237 15.6 本章实例 240 15.7 上机实践 242 15.8 常见问题及解答 243 15.9 小结 243 15.10 习题 244 第16章 Hibernate事务处理和缓存管理 245 16.1 Hibernate的事务处理 245 16.1.1 数据库事务的概念 245 16.1.2 数据库的隔离级别 246 16.1.3 了解Hibernate中的事务处理 247 16.1.4 并发控制 248 16.2 管理Hibernate缓存 249 16.2.1 缓存的基本原理 249 16.2.2 Hibernate的二级缓存结构 250 16.2.3 管理Hibernate的第一级缓存 251 16.2.4 管理Hibernate的第二级缓存 252 16.3 本章实例 255 16.3.1 在Hibernate中使用悲观锁 256 16.3.2 在Hibernate中使用乐观锁 259 16.4 上机实践 260 16.5 常见问题及解答 261 16.6 小结 262 16.7 习题 262 第5篇 Struts 2架构详解篇 263 第17章 MVC模式与Struts 2框架 264 17.1 MVC模式概述 264 17.1.1 MVC设计模式的思想 264 17.1.2 MVC处理请求的过程 265 17.1.3 MVC的优点 265 17.1.4 MVC和模式二(JSP+JavaBean+Servlet) 266 17.2 Struts 1简介 266 17.2.1 Struts 1的框架结构 266 17.2.2 Struts 1的处理流程 268 17.2.3 Struts 1的优缺点 268 17.3 Struts 2框架介绍 269 17.3.1 Struts 2的历史 269 17.3.2 Struts 2框架结构 269 17.3.3 Struts 2的配置文件 270 17.3.4 Struts 2控制器 272 17.3.5 Struts 2标签库 273 17.3.6 Struts 2和Struts 1的比较 273 17.4 常见问题及解答 274 17.5 小结 274 17.6 习题 274 第18章 Struts 2实例分析 275 18.1 搭建Struts 2开发环境 275 18.1.1 安装Struts 2 275 18.1.2 测试Struts 2是否正常工作 276 18.1.3 Struts 2和Eclipse集成 277 18.2 项目简介 278 18.3 编写配置文件 279 18.3.1 配置web.xml文件 279 18.3.2 配置struts.xml文件 280 18.4 创建控制器(Action类) 280 18.5 创建视图层 282 18.5.1 用于注册的register.jsp文件 282 18.5.2 用于显示注册成功的success.jsp 283 18.6 运行程序 283 18.7 使用ActionSupport类实现数据验证 284 18.8 运行验证 286 18.9 上机实践 286 18.10 常见问题及解答 287 18.11 小结 288 18.12 习题 288 第19章 Struts 2核心剖析 289 19.1 Struts 2的工作流程 289 19.2 Struts 2配置文件详解 295 19.2.1 web.xml的配置 295 19.2.2 struts.xml的配置 296 19.2.3 struts.properties配置文件 305 19.3 Struts 2的Action类 305 19.3.1 业务控制器Action的实现类 305 19.3.2 使用Struts 2框架提供的接口 307 19.3.3 使用Action类访问Servlet API 309 19.3.4 Action的配置 310 19.3.5 Action类方法的动态调用 311 19.4 拦截器 313 19.4.1 拦截器的思想 314 19.4.2 使用拦截器 314 19.5 Struts 2中使用ONGL 318 19.5.1 对象导航语言ONGL简介 318 19.5.2 Struts 2中使用ONGL 319 19.6 本章实例 321 19.7 上机实践 322 19.8 常见问题及解答 323 19.9 小结 323 19.10 习题 324 第20章 Struts 2框架技术 325 20.1 Struts 2的国际化操作 325 20.1.1 Struts 2实现国际化的原理 325 20.1.2 Struts 2实现国际化的一般步骤 326 20.1.3 使用不同范围的资源文件 331 20.1.4 加载资源文件的顺序 333 20.2 Struts 2的类型转换 334 20.2.1 预定义类型和日期类型的转换 334 20.2.2 复合类型的转换 336 20.2.3 复合类型集合的转换 339 20.2.4 Struts 2类型转换异常处理 341 20.3 Struts 2数据验证 341 20.3.1 使用validate()方法进行验证 341 20.3.2 使用配置文件进行验证 344 20.4 数据验证时国际化操作的实例分析 347 20.5 上机实践 349 20.6 常见问题及解答 351 20.7 小结 351 20.8 习题 351 第21章 Struts 2标签库 352 21.1 Struts 2标签库概述 352 21.1.1 什么是Struts 2标签 352 21.1.2 Struts 2标签库的组成 352 21.1.3 Struts 2标签库的使用 353 21.1.4 Struts 2和Struts 1标签的区别 354 21.2 Struts 2控制标签 354 21.2.1 循环标签iterator 354 21.2.2 选择标签if/elseif/else 357 21.2.3 集合连接标签append 358 21.2.4 子集标签subset 360 21.2.5 排序标签sort 361 21.3 数据标签 362 21.3.1 控制器调用标签action 362 21.3.2 JavaBean调用标签bean 364 21.3.3 值栈置顶标签push 366 21.3.4 调试标签debug 366 21.3.5 包含标签include 367 21.3.6 参数传递标签param 367 21.3.7 变量赋值标签set 367 21.3.8 地址标签url 368 21.3.9 值输出标签property 369 21.4 表单标签 369 21.4.1 复选框标签checkbox 369 21.4.2 复选框集合标签checkboxlist 370 21.4.3 组合框标签combobox 371 21.4.4 日期选择标签datetimepicker 372 21.4.5 下拉列表框标签select 373 21.4.6 单选框标签radio 374 21.4.7 选项组标签optgroup 374 21.4.8 其他常用表单标签 374 21.5 非表单标签 375 21.5.1 信息显示标签actionerrror和actionmessage 375 21.5.2 树形结构标签tree和treenode 376 21.6 本章实例 377 21.7 上机实践 379 21.8 常见问题及解答 379 21.9 小结 380 21.10 习题 380 第6篇 Spring框架及其使用篇 381 第22章 Spring基础 382 22.1 Spring架构概述 382 22.2 Spring的特点 383 22.3 Spring开发环境的简单配置 384 22.3.1 下载Spring 384 22.3.2 简单介绍Spring包 384 22.3.3 在Eclipse中配置Spring 385 22.4 开发一个简单的Spring应用程序 387 22.4.1 编写接口文件Hello.Java 387 22.4.2 编写实现接口的类 388 22.4.3 创建Spring的配置文件config.xml 389 22.4.4 创建用于主函数类 389 22.4.5 运行程序 390 22.5 常见问题及解答 391 22.6 小结 391 22.7 习题 391 第23章 Spring的Web架构 392 23.1 第一个Spring MVC例子 392 23.1.1 配置web.xml文件 392 23.1.2 编写用于输出的页面 393 23.1.3 创建控制器 393 23.1.4 创建Spring的配置文件 394 23.1.5 运行Spring MVC示例 395 23.1.6 使用JSTL视图技术 395 23.1.7 使用Ant实现这个例子 396 23.2 Spring MVC的控制器 398 23.2.1 核心控制器DispatcherServlet 398 23.2.2 控制器接口Controller 399 23.2.3 表单控制器SimpleFormController 399 23.3 Spring MVC视图 401 23.3.1 模型视图类ModelAndView 402 23.3.2 支持不同的视图 403 23.4 使用拦截器 404 23.5 数据验证 407 23.6 Spring和Struts 2整合 408 23.6.1 整合原理 408 23.6.2 整合步骤 409 23.7 一个Spring+Struts 2的开发实例 410 23.8 上机实践 412 23.9 常见问题及解析 413 23.10 小结 414 23.11 习题 414 第24章 使用Spring操作数据库 415 24.1 Spring框架的事务处理 415 24.1.1 传统的JDBC事务处理 415 24.1.2 Spring框架的事务处理 416 24.2 数据源DataSource的注入 421 24.3 PlatformTransactionManager接口的作用 422 24.4 使用JdbcTemplate访问数据 424 24.4.1 Template模式简介 424 24.4.2 JdbcTemplate的实现方式 425 24.5 Spring+Hibernate实例分析 427 24.6 上机实践 431 24.7 常见问题及解答 433 24.8 小结 433 24.9 习题 433 第25章 Spring+Hibernate+Struts 集成实例分析 434 25.1 项目需求和系统框架 434 25.1.1 项目需求概述 434 25.1.2 系统框架 434 25.2 数据库的设计 436 25.3 配置开发环境 436 25.3.1 web.xml文件的配置 436 25.3.2 Spring配置文件applicationContext.xml的配置 437 25.3.3 Struts 2配置文件struts.xml的配置 438 25.3.4 其他文件的配置 438 25.4 编写JavaBean组件 439 25.5 建立数据库访问组件(DBOperator) 439 25.5.1 定义接口Shopping 439 25.5.2 定义接口的实现类HibernateShopping 440 25.5.3 在Action类中调用HibernateShopping类 441 25.6 创建业务控制器 442 25.6.1 业务控制器的执行流程 442 25.6.2 在线购物系统Action类分析 445 25.7 创建视图组件 446 25.7.1 用户注册界面 446 25.7.2 修改用户信息界面 447 25.7.3 浏览商品详细信息界面 448 25.7.4 显示用户订单列表界面 449 25.8 运行在线购物系统 449 25.9 上机实践 450 25.10 常见问题及解答 450 25.11 小结 450 25.12 习题 451