词条 | Java Web整合开发王者归来 |
释义 | 图书信息出版社: 清华大学出版社; 第1版 (2010年1月1日) 平装: 1010页 正文语种: 简体中文 开本: 16 ISBN: 9787302209768 条形码: 9787302209768 尺寸: 26.2 x 17.5 x 4.3 cm 重量: 1.5 Kg 作者简介刘京华,毕业于山东大学计算机科学与技术学院。先后任职于用友软件、IBM中国研究院、Symbian中国研究院等公司或机构。毕业后一直从事Java开发,有超过10年的Java开发经验。精通JavaWeb开发的各种技术与框架,对图形化开发、Eclipse插件开发等各种技术也有深入研究。曾经开发过大型的分布式Web系统。参与开发过中国移动、中国联通、中国电信的网关系统。参与开发过物流管理系统、供应链处理系统、联想公司的RMS系统、IBM的SmartSCOR和Nokia Carbide平台。 内容简介《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》全面介绍了Java Web开发中的各种相关技术及知识。全书分为9篇,内容层次清晰,难度循序渐进。第1篇为入门篇,内容包括Java Web开发概述等;第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为Struts框架篇,内容不仅包括Struts 1.x的内容,也包括Struts 2.x中的内容;第5篇为Hibernate框架篇;第6篇为Spring框架篇;第7篇为EJB与Web服务篇,内容包括EJB 3概述、JPA规范Web服务框架XFire等;第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛系统(Spring+Struts+Hibernate)、宠物商店(EJB 3+JPA+Struts 2)。 《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》附1张DVD光盘,内容为《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》汲及的源代码和Java Web学习视频。 《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》内容全面,结构清晰,注重实战,非常适合Java Web开发人员学习使用,同时也可以作为软件公司的案头必备参考书。 目录第1篇 入门篇 第1章 Java Web开发概述 2 1.1 Web相关概念 2 1.1.1 胖客户端程序RCP 2 1.1.2 瘦客户端程序TCP 2 1.1.3 B/S与C/S结构 3 1.2 Web开发背景知识 3 1.2.1 Web访问基本原理 3 1.2.2 HTTP超文本传输协议 4 1.2.3 Web浏览器 5 1.2.4 Web服务器 5 1.3 Web开发技术发展历史 6 1.3.1 传统的Web服务器模式开发 6 1.3.2 动态展现页面技术 6 1.3.3 CGI实现页面的动态生成 6 1.3.4 Java Servlet:改进的CGI 7 1.3.5 JSP:Servlet的模板 8 1.3.6 JSP基本原理 9 1.4 本章小结 10 第2章 搭建Java Web开发环境 11 2.1 Java Web开发环境概述 11 2.1.1 开发工具包JDK 11 2.1.2 集成开发环境IDE 12 2.1.3 Java服务器 12 2.2 下载安装Java环境 13 2.2.1 下载JDK 13 2.2.2 安装JDK 15 2.2.3 配置环境变量 15 2.3 下载解压Eclipse 17 2.3.1 下载Eclipse 17 2.3.2 解压Eclipse 17 2.4 下载MyEclipse插件 18 2.4.1 下载MyEclipse插件 18 2.4.2 安装MyEclipse插件 19 2.4.3 启动MyEclipse 19 2.5 下载Tomcat服务器 20 2.5.1 下载Tomcat 20 2.5.2 解压配置Tomcat 21 2.5.3 设置端口号 22 2.5.4 设置临时域名 22 2.5.5 设置虚拟主机 23 2.6 第一个Java Web程序 24 2.6.1 新建Java Web项目 24 2.6.2 新建Servlet 25 2.7 部署到Tomcat 27 2.7.1 手工部署 27 2.7.2 MyEclipse自动部署 28 2.7.3 导出为WAR包 29 2.7.4 在MyEclipse中启动Tomcat 30 2.7.5 调试程序debug模式 31 2.8 本章小结 34 第2篇 基础篇 第3章 深入Servlet技术 36 3.1 HTTP协议 36 3.1.1 HTTP协议简介 36 3.1.2 Telnet演示HTTP协议 36 3.1.3 GET方式查询 37 3.1.4 HTTP头数据 38 3.1.5 POST方式提交数据 38 3.1.6 其他访问方式 38 3.2 Servlet概述 39 3.2.1 Servlet工作流程 39 3.2.2 Servlet接口 39 3.2.3 Java Web目录结构 40 3.3 编写Servlet 41 3.3.1 实现Servlet 41 3.3.2 配置 43 3.3.3 配置 44 3.3.4 部署Web程序 44 3.4 请求与响应 45 3.4.1 获取request的变量 45 3.4.2 response生成图片验证码 48 3.5 读取web.xml参数 51 3.5.1 初始化参数(init-param) 52 3.5.2 上下文参数(context-param) 54 3.5.3 资源注射(@Resource) 57 3.5.4 使用JNDI获取资源 59 3.5.5 注射数据源 59 3.6 提交表单信息 59 3.6.1 GET实现搜索引擎 60 3.6.2 POST提交个人信息 64 3.6.3 上传文件客户端 69 3.6.4 上传文件服务器端 70 3.7 带进度条的文件上传 72 3.7.1 工作原理 73 3.7.2 上传进度条 73 3.7.3 上传监听器 74 3.7.4 监听上传进度 75 3.7.5 读取上传进度 76 3.7.6 显示上传进度 77 3.8 Servlet生命周期 81 3.8.1 Servlet生命周期 81 3.8.2 个税计算器 82 3.8.3 注解@PostConstruct与注解@PreDestroy 85 3.9 Servlet之间的跳转 86 3.9.1 转向(Forward) 87 3.9.2 重定向(Redirect) 89 3.9.3 自动刷新(Refresh) 91 3.10 Servlet与线程安全 92 3.10.1 一个实例 92 3.10.2 线程不安全 93 3.11 本章小结 94 第4章 深入JSP技术 95 4.1 JSP简介 95 4.1.1 JSP概述 95 4.1.2 显示问候语 95 4.1.3 JSP工作原理 97 4.1.4 JSP生命周期 98 4.2 JSP语法 98 4.2.1 JSP元素与模板数据 98 4.2.2 JSP脚本 99 4.2.3 JSP输出 99 4.2.4 JSP注释 100 4.2.5 JSP方法:查询IP地址 100 4.2.6 JSP的if语句 102 4.2.7 JSP的for循环 104 4.2.8 while循环:显示邮件列表 105 4.2.9 JSP的return语句 106 4.2.10 JSP的break语句 107 4.3 JSP指令 108 4.3.1 page指令 109 4.3.2 include指令 110 4.3.3 taglib指令 113 4.4 JSP行为 113 4.4.1 行为 113 4.4.2 使用Java Bean(POJO) 114 4.4.3 scope实现各种计数器 117 4.4.4 嵌入Applet 119 4.4.5 行为 122 4.4.6 行为 123 4.5 JSP隐藏对象 123 4.5.1 out输出流对象 123 4.5.2 request请求对象 124 4.5.3 response响应对象 124 4.5.4 config配置对象 125 4.5.5 session会话对象 125 4.5.6 application应用程序对象 126 4.5.7 page页面对象 126 4.5.8 pageContext页面上下文对象 126 4.5.9 exception异常对象 127 4.6 JSP配置 128 4.6.1 JSP配置 128 4.6.2 标签 128 4.7 EL表达式 129 4.7.1 EL表达式 129 4.7.2 隐藏对象 130 4.7.3 EL表达式运算 131 4.8 本章小结 133 第5章 会话跟踪 134 5.1 Cookie机制 134 5.1.1 什么是Cookie 134 5.1.2 记录用户访问次数 135 5.1.3 Cookie的不可跨域名性 138 5.1.4 Unicode编码:保存中文 139 5.1.5 BASE64编码:保存二进制图片 140 5.1.6 设置Cookie的所有属性 142 5.1.7 Cookie的有效期 144 5.1.8 Cookie的修改、删除 145 5.1.9 Cookie的域名 145 5.1.10 Cookie的路径 146 5.1.11 Cookie的安全属性 146 5.1.12 JavaScript操作Cookie 147 5.1.13 案例:永久登录 149 5.2 Session机制 152 5.2.1 什么是Session 152 5.2.2 实现用户登录 153 5.2.3 Session的生命周期 155 5.2.4 Session的有效期 155 5.2.5 Session的常用方法 156 5.2.6 Session对浏览器的要求 156 5.2.7 URL地址重写 157 5.2.8 Session中禁止使用Cookie 158 5.3 Session与Cookie的比较 158 5.3.1 从存取方式上比较 159 5.3.2 从隐私安全上比较 159 5.3.3 从有效期上比较 159 5.3.4 从对服务器的负担上比较 159 5.3.5 从浏览器支持上比较 160 5.3.6 从跨域名上比较 160 5.4 本章小结 160 第6章 过滤器Filter 161 6.1 Filter概述 161 6.1.1 Filter概述 161 6.1.2 Filter接口 162 6.1.3 Filter配置 163 6.2 Filter经典案例 164 6.2.1 防盗链Filter 164 6.2.2 字符编码Filter 165 6.2.3 日志记录Filter 167 6.2.4 异常捕捉Filter 169 6.2.5 权限验证Filter 172 6.2.6 内容替换Filter 174 6.2.7 GZIP压缩Filter 177 6.2.8 图像水印Filter 182 6.2.9 缓存Filter 186 6.2.10 XSLT转换Filter 191 6.2.11 文件上传Filter 194 6.3 本章小结 197 第7章 监听器Listener 198 7.1 Listener概述 198 7.1.1 Listener的概述 198 7.1.2 Listener的使用 198 7.2 Listener的分类 199 7.2.1 监听对象的创建与销毁 199 7.2.2 实例:监听Session、request与servletContext 200 7.2.3 监听对象的属性变化 201 7.2.4 监听Session内的对象 203 7.3 Listener使用案例 205 7.3.1 单态登录 205 7.3.2 显示在线用户 209 7.4 本章小结 214 第3篇 高级篇 第8章 JSTL标签库 216 8.1 JSTL概述 216 8.1.1 什么是标签 216 8.1.2 一个标签实例 216 8.1.3 为什么使用标签 217 8.1.4 JSTL标签库 218 8.2 JSTL的core标签库 218 8.2.1 标签 218 8.2.2 标签 219 8.2.3 、、标签 220 8.2.4 显示偶数 221 8.2.5 标签遍历List 222 8.2.6 标签遍历Map对象 223 8.2.7 标签的varStatus属性 224 8.2.8 标签 225 8.2.9 实现计数器 226 8.2.10 标签 228 8.2.11 捕捉异常 228 8.2.12 导入网络资源 228 8.2.13 标签 230 8.2.14 标签 231 8.2.15 标签 231 8.3 JSTL的fmt标签库 231 8.3.1 设置编码 232 8.3.2 显示所有地区的数据格式 232 8.3.3 显示全球时间 234 8.3.4 设置时区 236 8.3.5 、、资源国际化 236 8.3.6 标签 238 8.3.7 显示不同地区的各种数据格式 238 8.3.8 解析数字 240 8.3.9 格式化日期 241 8.3.10 解析日期 241 8.4 JSTL的fn方法库 242 8.4.1 fn:contains()显示用户浏览器、操作系统 242 8.4.2 fn:containsIgnoreCase()方法 243 8.4.3 fn:endsWith()显示文件格式 243 8.4.4 fn:startsWith()方法 244 8.4.5 fn:escapeXml()实现HTML编码 245 8.4.6 fn:indexOf()方法 245 8.4.7 fn:split()分割字符 246 8.4.8 fn:join()联合字符 247 8.4.9 fn:length()方法 247 8.5 JSTL的SQL标签库 248 8.5.1 设置数据源 248 8.5.2 查询表数据 249 8.5.3 分页显示 250 8.5.4 结果集的动态遍历 251 8.5.5 更新表数据 253 8.5.6 , 设置日期参数 254 8.5.7 事务管理 255 8.6 JSTL的XML标签库 257 8.6.1 获取新浪RSS新闻 257 8.6.2 输出指定元素 259 8.6.3 遍历新浪RSS新闻 260 8.6.4 标签 261 8.6.5 、、标签 261 8.6.6 标签 262 8.6.7 转化XML为HTML 262 8.7 本章小结 264 第9章 自定义标签 265 9.1 编写自定义标签 265 9.1.1 版权标签 265 9.1.2 tld标签库描述文件 267 9.1.3 方法的调用顺序 268 9.1.4 使用TagSupport 269 9.1.5 带参数的标签 270 9.1.6 带多个参数的标签 271 9.1.7 带标签体的自定义标签 272 9.1.8 多次执行的循环标签 274 9.1.9 带动态属性的自定义标签 276 9.2 嵌套的自定义标签 277 9.2.1 实例:表格标签 277 9.2.2 嵌套标签的配置 278 9.2.3 table父标签 279 9.2.4 column子标签 281 9.2.5 运行效果 282 9.3 JSP 2.x标签 282 9.3.1 SimpleTag接口 282 9.3.2 带标签体的JSP 2.x标签 283 9.3.3 带多个标签体的JSP 2.x标签 285 9.4 编写自定义方法 287 9.4.1 自定义方法 287 9.4.2 方法描述文件 288 9.5 本章小结 290 第10章 资源国际化 291 10.1 资源国际化简介 291 10.1.1 I18N 291 10.1.2 I10N 291 10.2 资源国际化 291 10.2.1 资源国际化示例 292 10.2.2 资源文件编码 292 10.2.3 显示所有Locale代码 294 10.2.4 带参数的资源 297 10.2.5 ResourceBundle类 297 10.2.6 Servlet的资源国际化 298 10.2.7 显示所有Locale的数字格式 298 10.2.8 显示全球时间 301 10.3 本章小结 302 第11章 数据库概述 303 11.1 数据库简介 303 11.1.1 发展历史 303 11.1.2 数据库模型 304 11.1.3 SQL、DDL与DML 304 11.2 MySQL数据库 305 11.2.1 MySQL安装与配置 305 11.2.2 MySQL启动与关闭 305 11.2.3 bin目录下的程序 306 11.2.4 登录MySQL 306 11.2.5 MySQL控制台 307 11.2.6 控制台信息 307 11.3 DDL SQL语句 309 11.3.1 列出数据库模式 309 11.3.2 切换数据库模式 309 11.3.3 列出数据表 310 11.3.4 查看表结构 310 11.3.5 创建数据库模式 310 11.3.6 删除数据库模式 311 11.3.7 修改数据库模式 311 11.3.8 创建表 311 11.3.9 删除表 312 11.3.10 修改表 312 11.4 DML SQL语句 313 11.4.1 插入数据 313 11.4.2 查询数据 313 11.4.3 删除数据 314 11.4.4 修改数据 314 11.4.5 创建,删除,授权用户 315 11.4.6 批量执行SQL语句 315 11.5 MySQL客户端工具 316 11.5.1 MySQL图形界面工具 316 11.5.2 MyEclipse管理工具 318 11.6 Apache Derby 319 11.6.1 Derby概述 319 11.6.2 Derby的使用 320 11.6.3 使用嵌入式Derby记录日志 320 11.7 本章小结 322 第12章 JDBC详解 323 12.1 JDBC简介 323 12.1.1 查询实例:列出人员信息 323 12.1.2 各种数据库的连接 326 12.2 MySQL的乱码解决 327 12.2.1 MySQL的乱码解决 327 12.2.2 从控制台修改编码 327 12.2.3 从配置文件修改编码 328 12.2.4 利用图形界面工具修改 328 12.2.5 URL中指定编码方式 329 12.3 JDBC基本操作:CRUD 329 12.3.1 查询数据库 329 12.3.2 插入人员信息 329 12.3.3 注册数据库驱动 331 12.3.4 获取自动插入的ID 332 12.3.5 删除人员信息 333 12.3.6 修改人员数据 334 12.3.7 使用PreparedStatement 340 12.3.8 Statement批处理SQL 341 12.3.9 PreparedStament批处理SQL 342 12.4 处理结果集 344 12.4.1 查询多个结果集 344 12.4.2 可以滚动的结果集 344 12.4.3 Pagination分页显示 344 12.4.4 带条件的查询 350 12.4.5 ResultSetMetaData元数据 354 12.4.6 直接显示中文列名 355 12.5 JDBC高级应用 356 12.5.1 DAO模式与Java Bean 356 12.5.2 事务实例:转账 362 12.5.3 抛出异常自动回滚 364 12.5.4 存储二进制数据 365 12.5.5 读取二进制数据 368 12.5.6 数据源(连接池) 369 12.6 本章小结 371 第13章 XML概述 372 13.1 初识XML 372 13.1.1 什么是XML 372 13.1.2 XML的用途 373 13.1.3 XML的技术架构 374 13.1.4 XML开发工具 375 13.2 XML基本语法 375 13.2.1 XML文档的基本结构 375 13.2.2 标记必须闭合 376 13.2.3 必须合理地嵌套 376 13.2.4 XML 元素 377 13.2.5 XML 属性 377 13.2.6 只有一个根元素 378 13.2.7 大小写敏感 378 13.2.8 空白被保留 378 13.2.9 注释的写法 379 13.2.10 转义字符的使用 379 13.2.11 CDATA的使用 379 13.3 JDK中的XML API 380 13.4 XML解析模型 380 13.4.1 DOM解析 380 13.4.2 SAX解析 383 13.5 XML与Java类映射JAXB 385 13.5.1 什么是XML与Java类映射 385 13.5.2 JAXB的工作原理 386 13.5.3 Java对象转化成XML(marshal) 387 13.5.4 XML转化为Java对象(unmarshal) 389 13.5.5 更为复杂的映射 390 13.6 本章小结 392 第4篇 Struts框架篇 第14章 Struts 1.x概述 394 14.1 Struts简介 394 14.1.1 Struts概述 394 14.1.2 MVC概述 395 14.2 第一个Struts 1.x实例 395 14.2.1 添加Struts特性 395 14.2.2 创建HelloAction 397 14.2.3 完成HelloAction 400 14.2.4 添加输入页JSP 400 14.2.5 添加输出页 402 14.3 Struts工作流程 403 14.4 Struts配置文件 404 14.4.1 Struts配置文件详解 404 14.4.2 多个struts-config.xml 405 14.4.3 配置命名空间 406 14.5 Form Bean实例:提交用户信息 406 14.5.1 用户信息对应的Form Bean 406 14.5.2 用户信息输入页面 407 14.5.3 用户信息校验 409 14.5.4 Form Bean中使用Person实体类 411 14.6 Action的配置 412 14.6.1 Action与ActionForward配置 412 14.6.2 把JSP配置为Action 413 14.7 Action实例:保存用户信息到数据库 414 14.7.1 在struts-config.xml中配置数据源 414 14.7.2 Person类代码 415 14.7.3 数据表设计 416 14.7.4 Action代码:保存用户信息 416 14.7.5 Form Bean代码:用户信息表单 418 14.7.6 Action代码:列出用户信息 418 14.7.7 DAO层代码:保存、列出用户信息 419 14.7.8 JSP代码:添加、列出用户信息 421 14.8 Struts 1.x的线程安全 423 14.8.1 Action是线程不安全的 424 14.8.2 Form Bean是线程安全的 424 14.9 本章小结 424 第15章 Struts 1.x高级应用 425 15.1 Struts 1.x标签库 425 15.1.1 html标签库 425 15.1.2 bean标签库 428 15.1.3 logic标签库 429 15.1.4 nested标签库 430 15.1.5 tiles标签库 433 15.2 DispatchAction 438 15.2.1 利用action参数分发 438 15.2.2 DispatchAction 438 15.2.3 配置DispatchAction 439 15.3 上传文件 439 15.3.1 FormFile类型 439 15.3.2 保存FormFile 440 15.4 Validator自动校验数据 442 15.4.1 支持自动校验的ValidatorForm 442 15.4.2 Validate规则配置 442 15.4.3 错误信息配置 443 15.4.4 配置到struts-config.xml中 444 15.4.5 配置客户端JavaScript校验 444 15.5 动态属性Form Bean 445 15.5.1 动态属性表单DynaActionForm 445 15.5.2 Action中获取动态属性 446 15.5.3 JSP中使用动态属性 446 15.6 异常处理 447 15.6.1 异常捕捉ExceptionHandler 447 15.6.2 配置ExceptionHandler 447 15.7 struts-config.xml中使用通配符 448 15.8 本章小结 448 第16章 Struts 2.x概述 450 16.1 Struts 2.x简介 450 16.1.1 Struts 2简介 450 16.1.2 Struts 2与WebWork 2的关系 450 16.2 第一个Struts 2实例 451 16.2.1 下载Struts 2类库 451 16.2.2 登录功能Action 451 16.2.3 Struts 2配置文件 452 16.2.4 JSP登录页面 453 16.2.5 配置web.xml 454 16.2.6 更改.action后缀 455 16.3 Struts 2工作流程 455 16.3.1 Struts 2工作流程 456 16.3.2 Struts 2的线程安全 456 16.3.3 程序入口FilterDispatcher 456 16.4 Struts 2配置文件 457 16.4.1 struts.properties 457 16.4.2 struts.xml 457 16.4.3 配置package 458 16.4.4 配置命名空间 458 16.5 Action详解 459 16.5.1 ActionSupport类 459 16.5.2 Action接口 459 16.5.3 不继承任何类的Action 460 16.5.4 Action的可执行方法 460 16.5.5 通过URL执行Action的方法 461 16.5.6 将执行方法配置到Action 461 16.6 Struts 2的零配置 462 16.6.1 通过@注解实现Action零配置 462 16.6.2 web.xml中指定Action目录 463 16.6.3 零配置的Action访问方式 463 16.7 Action中使用POJO 464 16.7.1 图书管理Action 464 16.7.2 图书实体Book类 465 16.7.3 通配符配置Action 465 16.7.4 JSP添加、列表页面 466 16.8 本章小结 467 第17章 Struts 2.x高级应用 469 17.1 数据类型转换器 469 17.1.1 实例:日期转换器 469 17.1.2 配置转换器 470 17.1.3 Action代码示例 471 17.1.4 为Action配置转换器 472 17.2 获取request、response 473 17.2.1 利用ServletActionContext的静态方法 473 17.2.2 利用相关的Aware接口 474 17.3 使用Validator校验数据 475 17.3.1 使用XML配置数据校验Validator 475 17.3.2 配置客户端Validator 476 17.3.3 常用的Validator 477 17.3.4 使用@Java注解配置Validator 477 17.4 本章小结 478 第18章 Struts 2.x标签 479 18.1 Struts 2.x标签 479 18.1.1 Struts 2标签与EL表达式 479 18.1.2 Struts 2标签tld文件 479 18.2 OGNL语言 479 18.2.1 OGNL概述 479 18.2.2 “#”声明OGNL表达式 480 18.2.3 “%”显式声明OGNL表达式 483 18.2.4 “$”在资源文件中引用OGNL表达式 483 18.3 控制标签 483 18.3.1 if、elseif、else标签控制流程 483 18.3.2 append标签连接多个List 485 18.3.3 generator标签将字符转化为List 486 18.3.4 iterator标签遍历集合 486 18.3.5 merge标签取集合的并集 487 18.3.6 subset标签过滤集合元素 487 18.4 数据标签 488 18.4.1 action标签包含action页面 489 18.4.2 bean标签引用Java Bean 489 18.4.3 date标签输出日期 489 18.4.4 i18n、text标签声明资源国际化 490 18.4.5 include标签包含JSP页面 491 18.4.6 param标签传递参数 491 18.4.7 set标签设置变量值 491 18.4.8 property标签输出变量值 492 18.5 表单UI标签 492 18.5.1 form标签输出表单 492 18.5.2 textfield、textarea、file、checkbox、radio标签 493 18.5.3 select、autocomplete标签下拉框 494 18.5.4 使用动态数据的autocomplete标签 495 18.5.5 checkboxlist标签多选框组 497 18.5.6 combobox标签复合框 498 18.5.7 datetimepicker标签日期选择器 498 18.5.8 doubleselect标签联动选择框 499 18.5.9 optiontransferselect标签 500 18.5.10 optgroup标签选项组 502 18.6 非表单UI标签 503 18.6.1 debug标签输出调试信息 503 18.6.2 fielderror、actionerror、actionmessage标签错误信息 504 18.6.3 div、submit、a标签实现无刷新获取数据 505 18.6.4 无刷新实现登录、注销 508 18.6.5 tabbedPanel标签页 510 18.6.6 tree标签输出树 512 18.6.7 使用tree显示文件结构 513 18.6.8 使用tree动态加载数据 515 18.7 本章小结 517 第19章 Struts 2.x拦截器与文件上传 519 19.1 使用拦截器 519 19.1.1 timer计时拦截器 519 19.1.2 token防重复提交拦截器 520 19.1.3 execAndWait执行等待拦截器 522 19.1.4 自定义的权限验证拦截器 524 19.2 上传文件 525 19.2.1 上传文件的Action 525 19.2.2 上传文件的JSP表单 527 19.2.3 上传文件相关的设置 528 19.2.4 错误信息设置 529 19.2.5 上传多个文件 529 19.3 本章小结 530 第5篇 Hibernate框架篇 第20章 Hibernate入门 532 20.1 Hibernate简介 532 20.1.1 ORM概述 532 20.1.2 认识Hibernate 532 20.1.3 Hibernate的原理 533 20.2 第一个Hibernate程序 533 20.2.1 添加Hibernate特性 533 20.2.2 添加Hibernate的Jar 535 20.2.3 配置Cat实体类 535 20.2.4 修改Hibernate配置文件 536 20.2.5 修改Hibernate工具类 537 20.2.6 初始化MySQL数据库 538 20.2.7 配置Log4J 538 20.2.8 执行Hibernate程序 539 20.3 第一个Hibernate Web程序 541 20.3.1 DAO层代码 541 20.3.2 Servlet层代码 543 20.3.3 列出所有的Cat 544 20.3.4 添加Cat 546 20.3.5 修改Cat 548 20.3.6 删除Cat 549 20.4 本章小结 550 第21章 从宏观上把握Hibernate 551 21.1 Hibernate体系结构 551 21.2 Hibernate的相关概念 551 21.3 可持久化对象的状态 552 21.4 Hibernate配置参数 552 21.4.1 配置文件hibernate.properties、hibernate.cfg.xml 552 21.4.2 编程式配置、运行时配置 553 21.4.3 获取SessionFactory 554 21.4.4 获取、断开数据库连接 554 21.4.5 可选的配置参数 555 21.4.6 Hibernate日志 557 21.5 本章小结 558 第22章 Hibernate实体映射 559 22.1 实体类映射 559 22.1.1 @注解配置 559 22.1.2 XML文件配置 560 22.1.3 配置到hibernate.cfg.xml中 561 22.2 主键映射 561 22.2.1 @配置主键 561 22.2.2 XML配置主键 562 22.3 主键生成规则 562 22.3.1 @主键生成规则 562 22.3.2 XML主键生成规则 563 22.4 普通属性映射 564 22.4.1 @配置普通属性 564 22.4.2 XML配置普通属性 565 22.5 日期属性配置 565 22.5.1 @配置日期属性 565 22.5.2 XML配置日期属性 566 22.6 临时属性映射 566 22.7 版本属性配置 566 22.7.1 乐观锁与悲观锁 566 22.7.2 @配置乐观锁 567 22.7.3 XML配置乐观锁 567 22.8 本章小结 567 第23章 Hibernate实体关系映射 568 23.1 单边的一对多关系:电子邮件管理 568 23.1.1 UML、数据库关系 568 23.1.2 @配置Person2类 568 23.1.3 @配置Email类 569 23.1.4 配置到Hibernate.cfg.xml中 570 23.1.5 运行代码 570 23.1.6 延迟加载与即时加载 572 23.1.7 延迟加载异常 572 23.1.8 XML配置Person类 574 23.1.9 XML配置Email类 575 23.1.10 加载XML配置的实体 575 23.1.11 配置String类型的实体 576 23.2 单边的多对一关系:论文管理 578 23.2.1 UML、数据库关系 578 23.2.2 @配置Type类 578 23.2.3 @配置Article类 579 23.2.4 配置到Hibernate.cfg.xml 579 23.2.5 运行代码 580 23.2.6 XML配置Type类 581 23.2.7 XML配置Article类 581 23.3 双边的多对一、一对多关系:学生属性 582 23.3.1 UML、数据库关系 582 23.3.2 @配置Clazz类 583 23.3.3 @配置Student类 584 23.3.4 配置到Hibernate.cfg.xml 584 23.3.5 运行代码 585 23.3.6 XML配置Clazz类 586 23.3.7 XML配置Student类 587 23.4 单边的多对多关系:论坛文章管理 588 23.4.1 UML、数据库关系 588 23.4.2 @配置Tag类 588 23.4.3 @配置Post类 589 23.4.4 运行代码 590 23.4.5 XML配置Tag类 592 23.4.6 XML配置Post类 592 23.5 双边的多对多关系 593 23.5.1 @配置Tag类 593 23.5.2 XML配置Tag类 593 23.6 单边的一对一关系:舰船管理 594 23.6.1 UML、数据库关系 594 23.6.2 @配置Ship类 594 23.6.3 @配置Sailor类 595 23.6.4 运行代码 596 23.6.5 XML配置Ship类 597 23.6.6 XML配置Sailor类 598 23.7 双边的一对一关系 598 23.7.1 @配置Ship类 599 23.7.2 XML配置Ship类 599 23.8 主键相同的一对一关系:客户地址管理 599 23.8.1 UML、数据库关系 599 23.8.2 @配置Customer类 600 23.8.3 @配置Address类 600 23.8.4 运行代码 601 23.8.5 XML配置Customer类 603 23.8.6 XML配置Address类 603 23.9 Map映射 604 23.9.1 @ MapKey配置Map 604 23.9.2 XML配置Map 604 23.10 本章小结 605 第24章 Hibernate查询语言HQL 606 24.1 HQL基础查询 606 24.1.1 HQL语法 606 24.1.2 HQL大小写不敏感 606 24.1.3 使用Package名 606 24.2 返回类型 607 24.2.1 查询单个的对象 607 24.2.2 返回集合属性 607 24.3 同时返回多个对象 608 24.3.1 返回Object[]数组 608 24.3.2 返回List类型 608 24.3.3 返回Map类型 608 24.3.4 返回Java实体对象 609 24.4 条件查询 609 24.4.1 where子句语法 609 24.4.2 HQL支持的运算符 609 24.5 统计函数 610 24.6 HQL分页显示 611 24.7 HQL级联查询 611 24.7.1 跨表查询 611 24.7.2 级联查询 611 24.8 使用SQL数据库 612 24.8.1 使用SQLQuery 612 24.8.2 返回实体类型 612 24.9 命名常用的查询 612 24.9.1 @配置命名查询 613 24.9.2 设置查询扩展 613 24.9.3 设置多个命名查询 613 24.9.4 XML配置命名查询 614 24.10 本章小结 615 第25章 Hibernate高级查询 616 25.1 单一实体类的查询 616 25.1.1 员工实体类Employee查询 616 25.1.2 员工管理EmployeeServlet 619 25.1.3 查询员工的JSP代码 621 25.1.4 JSP显示页面 624 25.1.5 使用参数查询 626 25.2 实体间关系的查询 627 25.2.1 部门实体类Department类 628 25.2.2 部门管理DepartmentServlet 629 25.2.3 显示部门的JSP代码 631 25.2.4 添加部门代码(Ajax方式查询经理) 633 25.2.5 修改员工时选择部门 638 25.3 join级联查询 642 25.3.1 SQL中的join 643 25.3.2 Hibernate中的join 645 25.4 本章小结 648 第6篇 Spring框架篇 第26章 Spring概述 650 26.1 Spring框架 650 26.1.1 Spring背景 650 26.1.2 Spring容器 650 26.2 一个依赖注入的例子 650 26.2.1 一个普通程序的例子 651 26.2.2 Dao接口及实现 652 26.2.3 Service接口及实现 652 26.2.4 组装DAO与Service 653 26.2.5 运行代码 654 26.2.6 反向控制的原理 654 26.2.7 面向切面编程的原理 654 26.3 一个切面编程的例子 655 26.3.1 实现拦截器接口 655 26.3.2 AOP配置拦截器 655 26.3.3 运行代码 656 26.4 Spring框架的组成 657 26.5 本章小结 658 第27章 Spring的Core模块 659 27.1 BeanFactory工厂 659 27.1.1 实例化BeanFactory 659 27.1.2 XmlBeanFactory配置格式 660 27.2 配置Java Bean 660 27.2.1 基本配置 660 27.2.2 工厂模式factory-method 661 27.2.3 构造函数 661 27.2.4 单态模式singleton 662 27.2.5 配置属性 662 27.2.6 设置对象属性 663 27.2.7 配置List属性 663 27.2.8 配置Set属性 664 27.2.9 配置Map属性 664 27.2.10 配置Properties属性 664 27.2.11 与的区别 665 27.2.12 设置destroy-method销毁方法 665 27.2.13 设置depends-on依赖对象 665 27.2.14 初始化方法init-method 665 27.3 属性自动装配autowire 666 27.3.1 配置autowire自动装配 666 27.3.2 autowire取值范围 666 27.4 依赖检查dependency 667 27.4.1 配置dependency依赖检查 667 27.4.2 dependency属性取值范围 667 27.5 Bean的高级特性 667 27.5.1 BeanNameAware接口获取Bean的id 668 27.5.2 BeanFactoryAware接口获取BeanFactory 668 27.5.3 InitializingBean接口执行初始化方法 668 27.5.4 DisposableBean接口执行销毁方法 669 27.6 BeanFactory高级特性 669 27.7 属性覆盖器 669 27.7.1 配置PropertyOverrideConfigurer属性覆盖器 669 27.7.2 properties配置 670 27.8 本章小结 670 第28章 Spring的AOP模块 671 28.1 实例:使用拦截器拦截方法 671 28.1.1 Service接口 671 28.1.2 Service实现代码 671 28.1.3 方法前拦截器检查name是否为null 672 28.1.4 返回后拦截器输出返回值 673 28.1.5 异常拦截器捕获异常 673 28.1.6 拦截器配置 674 28.1.7 运行代码 675 28.2 拦截器与Filter的区别 676 28.3 AOP的相关概念 676 28.4 AOP的代理模式 677 28.4.1 ProxyFactoryBean代理工厂对象 677 28.4.2 TransactionProxyFactoryBean事务代理工厂对象 677 28.5 本章小结 678 第29章 Spring的DAO模块 679 29.1 实例:保存Person实体 679 29.1.1 实体类Person代码 679 29.1.2 DAO层接口 679 29.1.3 继承JdbcDaoSupport 680 29.1.4 Spring配置 681 29.1.5 运行代码 682 29.2 返回实体对象 683 29.2.1 MappingSqlQuery实现代码 683 29.2.2 使用MappingSqlQuery 683 29.2.3 SqlUpdate执行更新 684 29.2.4 SqlFunction返回单一结果 684 29.3 Spring事务管理 685 29.3.1 TransactionRun代码 685 29.3.2 配置事务 686 29.3.3 运行代码 687 29.4 本章小结 687 第30章 Spring的ORM模块 688 30.1 实例:保存Cat实体 688 30.1.1 Cat实体类代码 688 30.1.2 DAO层接口 689 30.1.3 继承HibernateDaoSupport 689 30.2 配置集成Hibernate 690 30.2.1 在Spring中配置Hibernate 690 30.2.2 运行代码 691 30.2.3 配置XML文件实体 692 30.3 管理Hibernate事务 693 30.3.1 Service接口 693 30.3.2 Service实现代码 693 30.3.3 在Service层配置事务 694 30.4 本章小结 695 第31章 Spring的Web模块 696 31.1 整合Struts 1.x:继承方式 696 31.1.1 CatForm代码 696 31.1.2 CatAction添加、列出所有Cat 697 31.1.3 Struts配置文件 698 31.1.4 异常处理页面 699 31.1.5 添加、显示Cat页面 699 31.1.6 在web.xml中配置Spring、Struts 700 31.1.7 添加OpenSessionInViewerFilter 702 31.1.8 其他方式加载Spring配置 702 31.2 整合Struts 1.x:代理方式 703 31.2.1 Cat2Action添加、列出所有Cat 703 31.2.2 Struts配置文件 704 31.2.3 Spring配置文件 705 31.3 整合Struts 2.x 706 31.3.1 CatAction添加、列出所有Cat 706 31.3.2 在Struts 2配置文件中配置Spring 707 31.3.3 在Spring配置文件中配置Action 708 31.3.4 在web.xml配置中配置Spring、Struts 2 708 31.3.5 JSP代码 709 31.4 本章小结 710 第32章 Spring的MVC模块 711 32.1 MVC的控制层 711 32.1.1 MVC的控制层 711 32.1.2 Spring MVC的优缺点 712 32.2 MVC的视图层 712 32.3 MVC配置 713 32.4 web.xml配置 714 32.5 多业务分发器 715 32.5.1 MultiActionController分发控制器 715 32.5.2 配置分发参数 716 32.6 本章小结 717 第33章 Spring开发实例(SSH、SSJ) 718 33.1 实例一:访问统计系统(结合Struts 1、Hibernate) 718 33.1.1 访问记录 718 33.1.2 在线用户 719 33.1.3 工作原理 719 33.1.4 系统构架 721 33.2 服务器端统计代码 721 33.2.1 实体类代码 721 33.2.2 DAO层代码 723 33.2.3 DAO层配置 725 33.2.4 数据源的附加配置 727 33.2.5 Action代码 727 33.2.6 计算IP地址、搜索关键词 731 33.2.7 配置Spring到web.xml中 732 33.3 访问信息列表 733 33.3.1 访问信息列表 733 33.3.2 在线用户列表 736 33.4 实例二:邮件发送系统(结合Struts 2、JPA) 737 33.4.1 实体类代码 737 33.4.2 DAO层代码 738 33.4.3 JPA的配置文件 739 33.4.4 Spring的邮件发送器 740 33.4.5 发送简单文本邮件 741 33.4.6 Struts 2的配置文件 744 33.4.7 Spring的配置文件 744 33.4.8 web.xml配置文件 746 33.4.9 发送HTML邮件 747 33.4.10 已发送邮件列表 751 33.5 Spring定时任务 753 33.5.1 JDK中的定时任务 754 33.5.2 Spring中的定时任务 755 33.5.3 定时任务配置 757 33.5.4 定时器触发时间配置 758 33.6 小结 760 第7篇 EJB与Web服务篇 第34章 EJB 3概述 762 34.1 EJB技术概述 762 34.1.1 什么是EJB 762 34.1.2 EJB类型 763 34.2 下载和安装JBoss服务器 763 34.2.1 下载JBoss 764 34.2.2 JBoss的目录结构 764 34.2.3 MyEclipse中配置JBoss 765 34.2.4 启动JBoss服务器 767 34.3 实例:HelloEJBService 767 34.3.1 新建EJB工程 767 34.3.2 定义EJB业务接口 768 34.3.3 编写SessionBean 768 34.3.4 EJB的部署 769 34.4 运行EJB 771 34.4.1 客户端调用EJB 771 34.4.2 Web应用调用EJB 773 34.5 EJB其他的相关技术规范 775 34.6 本章小结 775 第35章 JPA规范 776 35.1 JPA概述 776 35.1.1 JPA的出现 776 35.1.2 JPA规范 776 35.1.3 JPA与EJB 3 777 35.1.4 Java EE容器 777 35.2 实例:保存Student实体类 777 35.2.1 Student代码 777 35.2.2 StudentServlet添加、列出所有Student 778 35.2.3 persistence.xml代码 780 35.2.4 配置JBoss服务器 781 35.2.5 运行JPA程序 782 35.3 JPA的API 783 35.3.1 实体类配置 783 35.3.2 获取EntityManager 783 35.3.3 实体类的状态 784 35.3.4 持久化persist() 784 35.3.5 查找find()与getReference() 784 35.3.6 保存merge() 785 35.3.7 删除remove() 785 35.3.8 刷新refresh()和包含contains() 785 35.3.9 查询createQuery() 785 35.3.10 本地查询createNativeQuery() 786 35.3.11 写入数据库flush() 786 35.3.12 设定写入模式setFlushModel() 786 35.3.13 返回实现者getDelegate() 786 35.3.14 清除对象clear() 786 35.4 本章小结 787 第36章 Web Service框架XFire 788 36.1 XFire概述 788 36.1.1 什么是XFire 788 36.1.2 下载XFire 789 36.1.3 XFire的目录结构 789 36.2 XFire开发起步 790 36.2.1 配置Web服务项目 790 36.2.2 配置文件清单 791 36.2.3 开发一个Web服务 792 36.2.4 发布Web服务 794 36.3 Web服务客户端 796 36.3.1 MyEclipse客户端 796 36.3.2 SDK方式的客户端 797 36.3.3 根据WSDL生成的客户端 799 36.4 Web服务安全 800 36.4.1 SOAP Header中进行身份验证 800 36.4.2 WS-Security进行身份验证 803 36.4.3 用户名/密码方式 805 36.4.4 数字签名(Signature) 807 36.4.5 加密(Encryption) 810 36.5 XFire与Spring集成 812 36.5.1 配置Spring Bean 812 36.5.2 配置XFire Servlet 812 36.5.3 配置Web服务Bean 813 36.5.4 配置各种Handler 814 36.6 本章小结 816 第8篇 工具篇 第37章 版本管理工具SVN 818 37.1 Subversion概述 818 37.1.1 什么是版本控制 818 37.1.2 什么是Subversion 818 37.1.3 Subversion的历史 819 37.1.4 Subversion的优势 819 37.1.5 Subversion的技术架构 820 37.2 下载和安装Subversion 821 37.2.1 Subversion的版本 822 37.2.2 下载Subversion 823 37.2.3 安装Subversion 823 37.3 配置Subversion服务器 824 37.3.1 创建资源库 825 37.3.2 设置访问用户 826 37.3.3 启动Subversion服务 828 37.3.4 Subversion的常用命令 829 37.4 使用Subversion客户端TortoiseSVN 829 37.4.1 下载和安装TortoiseSVN 829 37.4.2 浏览资源库 830 37.4.3 在资源库中增加文件夹 831 37.4.4 导入文件到资源库(import) 833 37.4.5 从资源库中迁出(checkout) 835 37.4.6 更新(update)——修改——提交(commit) 836 37.4.7 锁定(lock)——修改——提交——解锁 839 37.4.8 解决冲突的办法 839 37.4.9 查看修改日志 842 37.4.10 历史版本的比较 844 37.4.11 恢复到之前的版本 845 37.4.12 TortoiseSVN的配置 846 37.5 与Eclipse集成 846 37.5.1 下载和安装Subclipse 846 37.5.2 在Eclipse中新建资源库 848 37.5.3 将Eclipse项目与资源库中的文件同步 849 37.5.4 在Eclipse中使用的其他功能 850 37.6 本章小结 850 第38章 日志工具commons- logging与Log4J 851 38.1 日志概述 851 38.1.1 日志的原理 851 38.1.2 JDK 1.4的Logging 852 38.1.3 Log4j控件 853 38.1.4 commons-logging控件 854 38.2 Log4j控件 855 38.2.1 Log4j概述 856 38.2.2 Log4j的执行效率 856 38.2.3 优化日志代码 856 38.2.4 Log4j.properties配置文件 857 38.2.5 使用其他配置文件 857 38.2.6 Log4j.xml配置文件 858 38.3 日志记录器Logger 858 38.3.1 日志记录器Logger 858 38.3.2 Logger的配置 858 38.3.3 rootLogger配置 859 38.3.4 类别category配置 859 38.4 输出地Appender 859 38.4.1 输出到控制台 860 38.4.2 输出到文件 860 38.4.3 输出到按大小滚动文件 861 38.4.4 输出到按日期滚动文件 861 38.4.5 输出到JDBC数据库 862 38.4.6 输出到SOCKET套接字 864 38.4.7 输出到SMTP邮件 864 38.4.8 自定义输出 865 38.5 日志格式化器Layout 867 38.5.1 PatternLayout布局 867 38.5.2 HTMLLayout布局 868 38.5.3 XMLLayout布局 868 38.6 本章小结 870 第39章 报表图形引擎JFreeChart 871 39.1 JFreeChart简介 871 39.1.1 下载JFreeChart 871 39.1.2 核心类包介绍 872 39.2 图形的输出方式 872 39.2.1 在Servlet生成图片 872 39.2.2 直接生成图片文件 876 39.3 输出柱形图 877 39.3.1 使用DefaultCategoryDataset数据集绘制柱形图 877 39.3.2 使用XYDataset数据集绘制柱形图 879 39.4 输出折线图 882 39.5 输出区域图 884 39.6 输出时序图 887 39.7 输出组合图表 889 39.8 其他种类的图形 892 39.9 本章小结 892 第40章 PDF组件iText 894 40.1 下载iText组件 894 40.2 输出pdf的基本步骤 895 40.3 设置pdf文件属性 896 40.4 插入文本 898 40.5 文本的中文处理 899 40.6 插入表格 899 40.7 插入图像 900 40.8 在Servlet中输出pdf 902 40.9 本章小结 903 第9篇 实 战 篇 第41章 论坛系统(Spring+Struts+ Hibernate) 906 41.1 功能概述 906 41.1.1 功能模块 906 41.1.2 运行效果 906 41.2 数据库设计 907 41.2.1 实体类设计 907 41.2.2 BaseBean基类代码 908 41.2.3 Person类代码 908 41.2.4 Category类代码 909 41.2.5 Board类代码 909 41.2.6 Thread类代码 910 41.2.7 Reply类代码 911 41.2.8 数据库与Hibernate配置 912 41.3 DAO层设计 913 41.3.1 IDao代码 913 41.3.2 DaoImpl代码 913 41.4 Service层设计 914 41.4.1 IService接口 915 41.4.2 ServiceImpl实现 915 41.5 Action层设计 916 41.5.1 ForumForm基类 916 41.5.2 ForumAction基类 917 41.5.3 JSP层代码 918 41.6 用户模块 919 41.6.1 IPersonService接口 919 41.6.2 PersonServiceImpl实现 920 41.6.3 MD5加密工具类 921 41.6.4 PersonForm代码 921 41.6.5 PersonAction代码 922 41.6.6 JSP注册页面 925 41.6.7 PersonAction配置 926 41.6.8 登录拦截器 929 41.6.9 异常捕捉 930 41.6.10 实现用户登录 931 41.6.11 实现用户资料查看 933 41.7 类别模块 935 41.7.1 ICategoryService接口 935 41.7.2 CategoryServiceImpl实现 936 41.7.3 CategoryForm代码 936 41.7.4 实现浏览类别 937 41.7.5 实现添加类别 940 41.8 版面模块 941 41.8.1 IBoardService接口 942 41.8.2 BoardServiceImpl实现 942 41.8.3 BoardForm代码 942 41.8.4 实现浏览版面 943 41.8.5 实现添加版面 946 41.8.6 实现设置版主 949 41.9 帖子模块 951 41.9.1 IThreadService接口 951 41.9.2 ThreadServiceImpl实现 952 41.9.3 ThreadForm代码 952 41.9.4 实现浏览帖子 953 41.9.5 实现发表帖子 955 41.10 回帖模块 958 41.10.1 IReplyService接口 958 41.10.2 ReplyServiceImpl实现 959 41.10.3 ReplyForm代码 960 41.10.4 实现发表回帖 960 41.11 本章小结 963 第42章 分布式宠物商店(EJB 3+JPA+ Struts 2) 964 42.1 系统概述 964 42.1.1 需求描述 964 42.1.2 系统预览 965 42.2 系统构架 966 42.2.1 系统构架图 966 42.2.2 实体类设计 967 42.2.3 业务类实现 969 42.2.4 Session Bean查找 978 42.2.5 persistence.xml配置 980 42.2.6 EJB 3组件部署 980 42.3 Web层的设计 982 42.3.1 Struts 2项目的文件说明 982 42.3.2 配置Struts 2 984 42.3.3 配置Tiles 985 42.3.4 使用Tiles 986 42.4 用户注册与登录 989 42.4.1 用户注册页面 989 42.4.2 注册处理Action 990 42.4.3 所有Action的父类BaseAction 992 42.4.4 登录页面 994 42.5 类别与宠物管理 995 42.5.1 宠物类别列表 995 42.5.2 添加宠物类别 999 42.5.3 添加宠物 1000 42.5.4 删除宠物分类和宠物 1003 42.6 购物车管理 1004 42.6.1 购买宠物 1004 42.6.2 查看购物车 1006 42.6.3 付款结账 1009 42.7 本章小结 1010 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。