《卓越工程师培养计划“十二五”规划教材:Java EE Web应用开发基础》讲述了如何基于最新的Java EE平台开发Web应用软件,主要包括XHTML/CSS、JavaScript/AJAX、Servlet、JSP及SSH(Struts、Spring、Hibernate)开发框架等,内容新颖,紧跟技术主流,同时强调应用,提供丰富案例和众多开发指导。
作为卓越工程师培养计划“十二五”规划教材,《卓越工程师培养计划“十二五”规划教材:Java EE Web应用开发基础》可用于大专院校软件工程和计算机相关专业的专业课教学,也可用于职业培训机构开展Java EE应用软件开发培训或者软件工程人员自学。
Java EE是开发基于Web的大中型应用软件的主流平台,是每位立志从事软件工程开发的人员必须掌握的一门专业技术。目前,国内外有关Java EE Web的书籍较多,其中不乏优秀的,特别是一些国(境)外出版的外文影印版或者翻译版书籍颇受市场欢迎,有些甚至影响了整整一代软件工程师的成长。但是,综观Java EE Web开发的书籍,良莠不齐,尚存在不少需要改善的地方,它们或者内容过于庞杂,或者缺乏稳定性,或者可读性不强。可以这么说,目前,真正优秀的教材还很少见(甚至没有)。事实上,有些在市场上很受读者欢迎的Java EE Web书籍可以作为从事Java EE Web开发的软件工程师的参考书籍,但是并不适合教学之用。
本教材是笔者根据多年的教学经历而编写的,力争在如下多个方面做出新的尝试。
①紧跟软件企业主流技术和发展趋势。力求避免非主流或陈旧、过时的内容,通过引入真实开发环境(包括各种平台、语言和开源框架),实现学校“教”和企业“用”的无缝连接,强调新知识、新方法,真正达到学以致用的目的。
②深度和广度相结合。Java EE Web内容庞杂,学习难度较大。教材篇幅有限,不求面面俱到,应在若干个关键技术“点”上进行深入阐述,确保学生通过本教材的学习就能独立开发一般的Java EE项目;同时,适当兼顾对整个Java EE技术“面”的介绍,为学生进一步的自学提供基础。
③案例驱动,注重实践教学。本教材强调学生动手能力的培养,关注项目的实际开发背景和需求,充分结合项目实践中经常碰到的技术问题,并以“Step by Step”的方式提供对Java EE项目案例的详细介绍。
④强调趣味性。本教材力求行文活泼、图文并茂、举例生动,并适当充实最新IT界发展动向的介绍,以求充分激发学生的学习兴趣。
本教材覆盖了基于Java EE平台开发Web软件的相关内容,主要包括XHTML/CSS、JavaScript/AJAX、Servlet、JSP及SSH(Struts、Spring、Hibernate)开发框架。通过学习,读者可以初步掌握Java EE平台的体系结构及如何基于Java EE平台开发Web应用软件。当然,Java EE平台本身技术内容繁杂,不可能也没有必要在一本教材中给予全面和深入的讲解。有志向进一步学习的读者可以在本教材的基础上选择某个专题进行更深入的学习。
本教材是笔者根据十几年的J2EE/Java EE项目开发经验,以及在多年的教学过程中编写的3个版本的讲义基础上反复整理、修改而成的,可作为学习Java EE Web开发的入门教材,用于软件工程和计算机相关专业的教学、职业培训机构开展Java EE应用软件开发培训或软件工程人员自学。
本教材由俞东进、任祖杰编写。俞东进编写了第1、2、3、4、5、6章和附录A、附录B。任祖杰编写了第7、8、9章,以及第1章的部分内容。俞东进审阅了全书。感谢徐争前、吕倩、吴萌萌、章怿霏、李畅等,他们为本教材的编写倾注了大量的心血,特别感谢胡维华教授长期以来对本教材编写工作的热诚关心和大力支持。
俞东进
杭州电子科技大学
第1章 Java EE概述
1.1 Java平台简介
1.2 Java EE平台主要内容
1.3 Java EE应用服务器软件
1.4 Java EE的相关角色
1.5 Java EE应用软件的体系结构
1.6 Java EE体系架构的优点
1.7 思考练习题
第2章 Web开发基础
2.1 浏览器
2.2 Web服务器
2.3 HTTP
2.3.1 HTTP简介
2.3.2 统一资源定位地址
2.3.3 HTTP请求
2.3.4 HTTP响应
2.3.5 HTTP的消息报头
2.3.6 HTTP请求和响应示例
2.4 思考练习题
第3章 XHTML和CSS
3.1 XHTML概述
3.1.1 XHTML的形成和发展
3.1.2 XML概述
3.1.3 XHTML文档结构
3.1.4 XHTML文档的基本语法
3.1.5 XHTML和HTML的区别
3.2 XHTML常用标签
3.2.1 段落标签
3.2.2 标题标签
3.2.3 有序列表标签
3.2.4 无序列表标签
3.2.5 图片标签
3.2.6 超链接标签
3.2.7 表格标签
3.3 XHTML表单
3.3.1 单行文本框
3.3.2 口令输入框
3.3.3 单选按钮
3.3.4 复选框
3.3.5 滚动文本框
3.3.6 选择列表
3.3.7 重置和提交按钮
3.4 CSS
3.4.1 CSS概述
3.4.2 样式表层次以及样式说明格式
3.4.3 CSS的常用选择器
3.4.4 CSS属性
3.4.5 <span>标签和< div>标签
3.5 思考练习题
第4章 JavaScript
4.1 JavaScript
4.1.1 JavaScript概述
4.1.2 面向对象和JavaScript
4.1.3 基本语法特征
4.1.4 标识符
4.1.5 原始数据类型
4.1.6 声明变量
4.1.7 操作符
4.1.8 常用对象
4.2 屏幕输出和键盘输入
4.3 控制语句
4.3.1 控制表达式
4.3.2 选择语句
4.3.3 switch语句
4.3.4 循环语句
4.4 创建对象和修改对象
4.5 数组
4.5.1 创建数组对象
4.5.2 sort方法
4.5.3 concat方法
4.6 函数
4.6.1 函数的定义和调用
4.6.2 局部变量
4.6.3 函数参数
4.7 JavaScript与XHTML文档
4.7.1 JavaScript的执行环境
4.7.2 文档对象模型(DOM)
4.7.3 利用JavaScript访问元素
4.8 事件与事件处理
4.8.1 事件处理的基本概念
4.8.2 事件、属性和标签
4.8.3 处理主体元素事件
4.8.4 处理表单按钮的事件
4.8.5 检验表单输入
4.9 AJAX开发
4.9.1 AJAX交互模式
4.9.2 XMLHttpRequest简介
4.9.3 使用XMLHttpRequest
4.9.4 EXT JS开发
4.10 思考练习题
第5章 Servlet基础
5.1 Servlet概述
5.2 Servlet容器
5.3 Servlet生命周期
5.4 Servlet API
5.4.1 Servlet类、请求和响应
5.4.2 javax.servlet包
5.4.3 javax.servlet.http包
5.5 Java Web应用
5.5.1 Java Web应用结构
5.5.2 web.xml配置
5.5.3 Tomcat与Java Web应用部署
5.6 编写第一个Servlet
5.7 访问Servlet的配置参数
5.8 通过Servlet处理Cookie
5.8.1 Cookie的基本概念
5.8.2 Cookie类中的方法
5.8.3 Cookie的处理
5.9 过滤器
5.9.1 Filter API
5.9.2 Filter的应用实例
5.10 Servlet 3.0的新特性
5.10.1 Servlet中的注释
5.10.2 Servlet中的异步处理
5.10.3 现有API的改进
5.11 思考练习题
第6章 JSP简介
6.1 初识JSP
6.1.1 JSP起源
6.1.2 JSP工作原理
6.2 开发第一个JSP程序
6.3 JSP基本语法
6.3.1 JSP注释
6.3.2 JSP声明
6.3.3 JSP表达式
6.3.4 JSP程序段
6.3.5 JSP指令标记
6.3.6 JSP动作元素
6.3.7 JSP异常
6.4 JSP内置对象
6.4.1 request对象
6.4.2 response对象
6.4.3 out对象
6.4.4 session对象
6.4.5 application对象
6.4.6 page对象
6.4.7 pageContext对象
6.4.8 config对象
6.4.9 exception对象
6.5 JavaBean
6.5.1 JavaBean概述
6.5.2 在JSP中使用JavaBean
6.5.3 JavaBean的生命周期
6.6 JSP标准标记库
6.7 Servlet与JSP的关系
6.8 JSP 2.0的新特性
6.8.1 JSPX
6.8.2 Expression Language
6.8.3 Simple Tag和Tag File
6.8.4 <jsp-config>元素
6.9 思考练习题
第7章 Struts入门
7.1 MVC简介
7.2 Struts体系结构
7.3 Struts配置
7.3.1 web.xml
7.3.2 struts.xml
7.3.3 struts.properties
7.4 编写Action
7.4.1 Action的类型
7.4.2 在Action中访问Servlet API
7.5 配置Action
7.5.1 Action映射的简单配置
7.5.2 使用method属性
7.5.3 动态方法调用
7.5.4 默认Action
7.6 一个完整的Struts应用实例
7.7 思考练习题
第8章 Spring入门
8.1 Spring框架简介
8.2 控制反转
8.2.1 IoC和依赖注入
8.2.2 Bean和Bean配置
8.2.3 Bean的作用域
8.2.4 Bean Factory
8.2.5 ApplicationContext
8.2.6 使用注解配置Spring IoC
8.3 Spring AOP
8.3.1 AOP的基本概念
8.3.2 Spring AOP实例
8.4 Spring MVC
8.4.1 Spring MVC处理流程
8.4.2 Spring MVC配置
8.4.3 实现Controller
8.4.4 实现View
8.4.5 一个完整的Spring MVC示例
8.5 思考练习题
第9章 Hibernate入门
9.1 Hibernate概述
9.1.1 数据持久化与ORM
9.1.2 Hibernate体系结构
9.1.3 核心接口简介
9.2 编写持久化类
9.3 Hibernate配置文件
9.3.1 数据库配置文件
9.3.2 ORM映射文件
9.4 HQL语法
9.5 Hibernate应用实例
9.6 思考练习题
附录A 开发环境配置和使用
A.1 Apache HTTP服务器安装
A.2 JDK安装
A.3 Tomcat安装
A.4 Eclipse安装
A.5 使用Eclipse
A.5.1 在Eclipse中配置Tomcat
A.5.2 创建Web项目
A.5.3 编制程序文件
A.5.4 部署Web项目至Tomcat