贯通Java Web轻量级应用开发:JSP+Struts+Hibernate+S
分類: 图书,计算机/网络,程序设计,Java Java Script J2EE,
作者: 邓子云 著
出 版 社: 电子工业出版社
出版时间: 2008-7-1字数: 854000版次: 1页数: 566印刷时间: 2008/07/01开本: 大16开印次: 1纸张: 胶版纸I S B N : 9787121068409包装: 平装编辑推荐
本书内容遵循循序渐进的原则,逐步深入,致力于培养一名技术娴能、能上手开发的Java Web程序员。所以,从章的结构来看,由浅入深——一步步深入介绍Java Web开发技术;从节的结构来看,强调前期知识学,过程中的内容详解和例题程序演示,力求使读者能深入扎实地学习Java Web开发。
本书可供Java Web开发的初中级读者阅读,也可以供各大专院校或社会Java开发技术培训班作为教材使用,对于缺乏项目实战经验的程序员来说可用于快速积累项目开发经验。
内容简介
JSP目前已成为Web应用的主流开发语言,各种开源的框架技术也层出不穷。本书将全面梳理Java Web开发中需要用到的各种技术,并讲解当前流行的Struts、Hibernate、Spring框架技术,辅以实例及项目案例分析、实现,并不断运用各种技术改进系统。本书共分为4篇18章,知识内容全面、浅显易懂,逐步深入解析,将伴随读者一道成长成才。
随书的配套光盘中含有全书所有实例,以及项目案例的源代码,供读者学习参考使用。
本书可以供Java Web开发的初中级读者阅读,也可以供各大专院校或社会Java开发技术培训班作为教材使用,对于缺乏项目实战经验的程序员来说可用于快速积累项目开发经验。
目录
第1篇 Java Web程序员入门
第1章开发与运行环境的安装及配置
1.1 下载与安装JDK
1.1.1 下载JDK
1.1.2 安装JDK
1.2 下载、安装与配置Tomcat
1.2.1 下载Tomcat
1.2.2 安装Tomcat
1.2.3 配置Web服务端口号
1.2.4 Tomcat的Web方式管理
1.2.5 发布Web应用
1.3 下载与使用Eclipse
1.3.1 下载Eclipse
1.3.2 新建一个Web工程
1.3.3 调试Web应用
1.3.4 安装服务器运行时的环境
1.4 小结
第2篇 Java Web程序员打基础
第2章JSP开发基础
2.1 C/S与B/S
2.1.1 C/S模式
2.1.2 B/S模式
2.1.3 两种模式的比较
2.2 JSP的运行原理
2.3 Java语法
2.3.1 标识符
2.3.2 数据类型
2.3.3 运算符
2.3.4 注释符
2.3.5 控制语句
2.4 Java面向对象基础
2.4.1 类
2.4.2 对象
2.4.3 接口
2.4.4 包
2.5 JDK类库
2.5.1 包装类
2.5.2 String类
2.5.3 StringBuffer类
2.6 小结
第3章Web开发基础
3.1 HTML
3.1.1 HTML的编写方法
3.1.2 标签的分类
3.1.3 字符引用
3.1.4 HTML文档头部
3.1.5 文档体和段落
3.1.6 文字标签
3.1.7 列表
3.1.8 超链接
3.1.9 表格
3.1.10 图像
3.1.11 表单
3.1.12 框架
3.2 JavaScript
3.2.1 在Web页面中加入JavaScript
3.2.2 JavaScript的基本语法
3.2.3 对象
3.2.4 事件处理
3.2.5 JavaScript内部对象
3.3 小结
第4章JSP指令
4.1 如何编写JSP页面
4.2 JSP指令
4.2.1 page指令
4.2.2 include指令
4.3 JSP动作指令
4.3.1 include动作指令
4.3.2 param动作指令
4.3.3 useBean动作指令
4.3.4 forward动作指令
4.4 小结
第5章JSP的内置对象
5.1 内置对象概览
5.2 request对象
5.3 response对象
5.4 session对象
5.5 application对象
5.6 out对象
5.7 pageContext对象
5.8 config对象
5.9 小结
第3篇 Java Web程序员提高技术水平
第6章JDBC数据库操作
6.1 JDBC简介
6.1.1 配置ODBC数据源
6.1.2 安装JDBC驱动
6.2 JDBC API
6.2.1 Driver接口
6.2.2 DriverManager类
6.2.3 Connection接口
6.2.4 Statement接口
6.2.5 PreparedStatement接口
6.2.6 CallableStatement接口
6.2.7 ResultSet接口
6.2.8 Date类
6.3 查询数据
6.3.1 顺序查询数据
6.3.2 移动查询数据
6.3.3 有条件的查询数据
6.3.4 分页显示数据
6.4 更新数据
6.4.1 插入数据操作
6.4.2 更新数据
6.5 调用存储过程
6.6 事务处理
6.7 连接池技术
6.7.1 在Tomcat中配置连接池
6.7.2 JNDI
6.7.3 相关的API
6.8 防范SQL注入攻击
6.8.1 SQL注入攻击的方法
6.8.2 防范SQL注入攻击的方法
6.9 小结
第7章JavaBean开发
7.1 JavaBean与Web系统设计
7.1.1 2层架构
7.1.2 3层架构
7.1.3 其他架构
7.2 如何开发JavaBean
7.2.1 JavaBean的编写规则
7.2.2 在Eclipse中开发JavaBean
7.2.3 手工编译和部署JavaBean
7.3 小结
第8章Servlet开发
8.1 什么是Servlet
8.2 Servlet API
8.3 如何开发Servlet
8.3.1 Servlet的生命周期
8.3.2 在Eclipse中开发Servlet
8.3.3 手工编译和部署Servlet
8.4 小结
第9章EL表达式
9.1 EL语法
9.1.1 运算符
9.1.2 保留字
9.1.3 变量查找范围
9.1.4 自动类型转换
9.2 EL隐含对象
9.3 用EL操作JavaBean
9.4 小结
第10章JSTL标签技术
10.1 JSTL概述
10.1.1 JSTL的功能
10.1.2 JSTL的安装与配置
10.1.3 标签的分类
10.1.4 标签书写语法约定
10.2 核心标签
10.2.1 表达式相关的核心标签
10.2.2 流程控制核心标签
10.2.3 迭代核心标签
10.2.4 URL相关的核心标签
10.3 国际化处理标签
10.3.1 国际化类处理标签
10.3.2 消息类处理标签
10.3.3 数字日期格式化类处理标签
10.4 SQL标签
10.4.1 设置数据源
10.4.2 查询数据
10.4.3 显示查询结果
10.4.4 更新数据
10.4.5 日期型数据处理
10.4.6 事务处理
10.5 函数标签
10.5.1 求长度函数
10.5.2 大小写转换函数
10.5.3 求子串函数
10.5.4 去空白函数
10.5.5 替换函数
10.5.6 查找函数
10.5.7 拆分与组合函数
10.5.8 XML符号转换函数
10.6 小结
第11章Java Web开发实用功能集锦
11.1 收发电子邮件
11.1.1 下载与安装JavaMail
11.1.2 JavaMail常用的API
11.1.3 发送邮件
11.1.4 接收邮件
11.2 上传和下载文件
11.2.1 jspSmartUpload常用的API
11.2.2 上传文件
11.2.3 下载文件
11.3 制作Web报表与图形
11.3.1 JavaReport简介
11.3.2 安装JavaReport
11.3.3 JavaReport常用的API
11.3.4 如何开发Web图形与报表
11.3.5 开发统计图
11.3.6 开发Web报表
11.4 生成验证码
11.5 生成树形菜单
11.5.1 Tree Tag简介
11.5.2 下载与安装Tree Tag
11.5.3 JSP Tag API
11.5.4 JSP Tag标签
11.5.5 生成树形菜单
11.6 使用在线文本编辑器
11.7 小结
第12章用JSP+JSTL实现通用在线文章系统
12.1 系统需求分析
12.1.1 系统用户
12.1.2 系统功能需求
12.2 系统总体架构
12.3 数据库设计
12.3.1 ER图
12.3.2 数据物理模型
12.4 系统关键技术
12.4.1 连接池技术
12.4.2 JSTL标签技术
12.4.3 数据分页技术
12.5 系统详细设计
12.5.1 系统目录设计
12.5.2 前台模块
12.5.3 后台管理登录
12.5.4 后台管理首页
12.5.5 文章发布
12.5.6 栏目管理
12.5.7 用户管理
12.6 小结
第4篇 框架技术与项目实战
第13章Struts框架技术
13.1 Struts框架介绍
13.1.1 MVC模式
13.1.2 Struts原理
13.1.3 安装与配置Struts
13.2 应用Struts 2
13.2.1 用Struts 2实现用户登录功能
13.2.2 解决中文乱码的问题
13.3 国际化应用程序
13.3.1 为用户登录功能加入国际化处理
13.3.2 查找资源文件的顺序
13.3.3 参数化字符串
13.4 OGNL表达式
13.4.1 Struts 2对表达式的支持
13.4.2 使用OGNL表达式
13.4.3 值堆栈
13.4.4 OGNL与集合
13.5 Struts 2标签
13.5.1 标签属性值的设置
13.5.2 控制标签
13.5.3 数据标签
13.5.4 表单标签
13.5.5 非表单用户界面标签
13.6 数据校验
13.6.1 服务端和客户端数据校验
13.6.2 字段校验
13.6.3 复杂的数据类型转换
13.7 小结
第14章基于Struts 2改进通用在线文章系统
14.1 系统设计
14.1.1 系统架构
14.1.2 系统文件夹情况
14.1.3 系统配置文件
14.2 前台系统实现
14.2.1 前台首页
14.2.2 各栏目页面
14.2.3 显示文章内容的页面
14.3 后台系统实现
14.3.1 用户登录
14.3.2 增加文章
14.4 小结
第15章Hibernate持久化技术
15.1 Hibernate介绍
15.1.1 Hibernate的作用
15.1.2 Hibernate 3
15.1.3 Hibernate的核心API
15.2 安装与配置Hibernate 3
15.2.1 下载Hibernate 3
15.2.2 配置Hibernate 3
15.3 一个简单的Hibernate Web应用
15.4 持久化对象
15.4.1 Session接口
15.4.2 映射配置
15.5 关联关系映射
15.5.1 单向多对一关联
15.5.2 双向多对一关联
15.5.3 一对一关联
15.5.4 多对多关联
15.6 HQL语言
15.6.1 select|update|delete
15.6.2 where子句
15.6.3 ordey by子句
15.6.4 group by子句
15.7 Struts 2与Hibernate 3的集成
15.8 小结
第16章基于Struts+Hibernate改进通用在线文章系统
16.1 系统设计
16.1.1 系统架构
16.1.2 系统文件夹情况
16.1.3 系统配置文件
16.2 前台系统实现
16.2.1 前台首页三
16.2.2 各栏目页面
16.2.3 显示文章内容的页面
16.3 后台系统实现
16.3.1 用户登录
16.3.2 增加文章
16.4 小结
第17章Spring框架技术
17.1 Spring介绍
17.1.1 Spring的框架结构
17.1.2 理解IoC与DI
17.2 控制反转技术
17.2.1 容器的基本原理
17.2.2 XML配置文件格式
17.2.3 实例化容器
17.2.4 下载并开发一个简单的Spring应用
17.2.5 XML配置文件解析
17.2.6 使用容器
17.3 整合Struts 2与Spring
17.3.1 整合前的环境准备
17.3.2 整合示例与剖析
17.4 小结
第18章基于Struts+Spring+Hibernate改进通用在线文章系统
18.1 系统设计
18.1.1 系统架构
18.1.2 系统文件夹情况
18.1.3 系统配置文件
18.2 系统实现
18.2.1 前台首页
18.2.2 用户登录
18.3 小结
书摘插图
第18章 基于Struts+Spring+Hibernate改进通用在线文章系统
【本章导读】
在本章中将和读者一些来用Spring 2组件对前面第16章中所述的用Struts 2+Hibernate 3改进过的系统再作改进,结合这3种框架技术构建系统。读者从这个项目案例中汲取到一些系统架构设计的思想,以及Struts、Spring、Hiberntae这些流行的开源框架的集成策略。
18.1 系统设计
到现在为止,我们已经一起学习了Struts、Hibernate、Spring这3种流行的框架技术了,Struts的优点在于实现了MVC模式,将Web系统各组件进行了良好的分工合作;Spring的特性在于IoC机制;Hibernate的长处在于数据持久化。要结合这3种技术的优点,采取的策略有许多种,比如可以将Hibernate的sessionFactory、数据操作组件交给Spring容器来管理,必要时进行注入处理;可以将Struts的Action交给Spring容器来管理,而不必再在Action中声明业务逻辑操作的组件了。
18.1.1 系统架构
下面针对通用在线文章系统提出一种整合的策略,如图18-1所示。
从图18-1所示的架构图来看,与第16章中实现的系统架构区别不大,只是将Struts 2中的Action交由Spring容器来管理,将数据逻辑层的数据操作bean交由Spring容器来管理。这样改进是基于以下的原因:
(1)Action类中需要用到数据操作类,比如LoginAction中要用到adminUserOP,此时可以将adminUserOP的实例作为LoginAction的属性,再在applicationContext中作出配置,以作注入处理。
(2)数据操作类中都要用到sessionFactory,每次持久化数据时都要重复地得到会话,可以将会话对象作为数据操作类的属性,再在applicationContext中作出配置,以作注入处理。
经过以上改进后,会发现代码数量并没有减少多少,但是系统模块与模块之间的耦合性降低了,互相之间比较独立,层次结构清晰明了。
……