前言 CDIO工程教育模式是近年来国际工程教育改革的最新成果。 CDIO代表构思(Conceive)、设计(Design)、实施(Implement)和运行(Operate),它以系统从研发到运行的生命周期为载体,让学生以主动和实践的方式学习工程的理论、技术与经验,使课程之间建立有机联系。CDIO模式把培养目标融入整个课程体系中,每个能力点都要具体落实到课内和课外活动中。 本书结合CDIO理念对教学方式进行改革,使用案例和项目相结合的方式讲解知识。知识点的引入和说明采用案例教学法,随后引入符合CDIO教学模式的各级项目,强调“做中学”,强化知识点的运用,重点培养学生的工程应用能力,以满足市场对应用型人才的需求。 全书贯穿一个Web应用系统(图书管理系统)的开发项目,从静态页面设计→连接数据库完成动态功能→基于MVC模式的系统改进→基于Web框架的系统实现,一步一步向读者介绍Web应用系统开发过程中用到的相关知识,循序渐进地引导读者完成系统开发,提高读者Web应用系统开发的实践能力。 本书注重培养学生的实践能力,结合CDIO的理念,让学生能够更好地理解所学内容,做到理论联系实际。书中通过项目构思和设计模块培养学生分析问题和解决问题的能力,通过项目实现模块提高学生的编码能力。 全书共分为15章,各章内容如下。 第1章是动态网页开发技术概述,介绍了动态网页技术以及JSP的基本概念、特点和运行原理。 第2章介绍如何采用JDK+Tomcat+Eclipse搭建JSP开发平台。 第3章讲述静态网页的开发技术HTML、JavaScript和CSS,并引入贯穿全书的案例——图书管理系统。 第4章介绍JSP的基本语法,包括基本规范、脚本元素和动作元素等。 第5章介绍JSP页面中使用的内置对象,并结合这些对象的特点给出对应的练习项目。 第6章介绍数据库连接技术,讲述MySQL数据库的安装和使用,JDBC连接数据库的步骤,并给出完整的图书管理系统的项目实现。 第7章介绍JavaBean组件在JSP中的应用,并给出使用JavaBean连接数据库的项目实现。 第8章讲述Servlet技术,介绍Servlet的编写、配置和访问以及Servlet过滤器。 第9章从Web应用构架的角度,介绍了JSP开发的两种模型,并给出了基于两种模型实现的练习项目;另外,基于MVC模式改写了图书管理系统。 第10章讲述自定义标签的开发和使用,并针对不同形式的标签分别给出对应的练习项目。 第11章介绍表达式语言(EL)的基本概念、相关运算符以及隐含对象。 第12章介绍标准标签库(JSTL)的基本原理以及核心标签库、格式标签库、函数标签库、SQL标签库和XML标签库的使用,并给出了使用核心标签库实现的图书管理系统的前端页面以及使用SQL标签库实现的数据库连接项目。 第13章讲述了Java Web开发的常用功能,包括文件的上传下载、分页处理、Java Mail、树形菜单以及对应的练习项目。 第14章是项目实战,给出了一个完整的Web应用系统,讲述项目从构思、设计到实施和运行的全过程。 第15章讲述了Java Web开发框架,分别介绍了Spring、Spring MVC和MyBatis框架,并给出了对应的练习项目。 本书在编写时注重实用性和实践性。通过大量的实例和项目使读者可以快速地学以致用,掌握基于JSP技术的Web应用系统开发。本书是2016年8月出版的《Java Web开发技术教程》(第二版)的升级版,与第二版相比,重点升级了开发工具、开发环境与运行环境的版本,书中的所有代码均在JDK 8+Tomcat 9+Eclipse 4.18+MySQL 8开发平台上通过调试和运行。除此之外,将第二版的SSH(Struts2、Hibernate和Spring)框架升级为时下更为常用的SSM框架(Spring、Spring MVC和MyBatis),并对书中的项目基于新框架重新实现。 本书第1~7章由张娜编写,第8~15章由王嘉编写,全书由张娜统稿。本书在编写过程中还得到了金焱、姜仲和陈宁的大力支持,在此表示衷心的感谢。 本书的编者为一线教师或具有多年开发经验的软件工程师,书中的内容是多年教学和实践的积累,但因水平有限,错误和不妥之处在所难免,敬请读者批评指正。 编者2022年8月