图书前言

前    言

计算机刚诞生的时候,只能被专家使用,软件开发也是以个人作品的形式呈现。随着计算机的普及应用,软件的开发以作坊的形式呈现。随着软件规模的增大和复杂程度的增强,爆发了软件危机。为了解决软件危机,人们做了各种努力,其中最重要的途径就是采用工程化的思想和方法来进行软件开发,从而产生了软件工程这门学科。

目前,企业级应用程序开发成为一个重要的方向。所谓企业级应用程序,是指那些应用规模巨大,集成了很多应用功能,需要处理巨量数据的应用程序。企业级应用程序一般具有以下特点:①基于网络的应用,而不是基于单机的应用;②需要进行巨量的数据集成;③需要高度的安全性;④需要具备可扩展性。

描述软件系统的功能构件和构件之间的相互连接、接口和关系的规范称为软件体系结构。企业级软件开发的体系结构主要有C/S体系结构和B/S体系结构。C/S体系结构由客户端(client)和服务器端(server)两部分构成。用户想要使用这个系统,首先必须先安装客户端,比如手机里的QQ、微信、电商的App等软件,它负责人机界面的交互及业务控制方面的操作;服务器主要负责数据的交互和保存。其优点是系统安全性高,通信效率高,能处理大量数据,交互性强。B/S体系结构由浏览器(browser)和服务器(server)组成。浏览器只是起到了“浏览”的作用,它仅仅把程序需要传递的页面在浏览器中呈现出来,本身不对数据做任何处理。在这种体系结构中,服务器内部进行了一个分层,应用服务器负责实现业务处理和控制,可以近似认为代替了C/S体系结构中客户端的部分功能,数据库服务器负责对数据库的管理和对数据的具体交互。其优点是不需要安装客户端,只需要一个浏览器,而且服务器的分层有效地使程序和数据分离,提高了独立性。

本书介绍的Java EE是针对B/S体系结构提出的企业级软件开发的软件体系结构。

本书共分为4章,第1章是Java EE简介,介绍了Java EE框架的主要内容和思想,包括Java EE的发展历史、Java EE平台的体系结构、Java EE规范第8版的新特性、Java EE的组件/容器的编程思想、Java EE容器的种类及其服务、Java EE规范定义的组件种类,以及分布式多层应用模型等。此外,还简单介绍了本书中所使用的集成环境和配置。第2章对MyBatis的基本原理进行了介绍,用实例演示了Eclipse和Maven搭建简单的实验环境和在Java Web Project中使用MyBatis的基本方法和步骤,介绍了MyBatis中的Mapper,并配合例子帮助读者快速学习映射器、动态SQL语句的具体用法。本章最后部分对MyBatis Generator插件和MyBatis的缓存机制做了介绍。第3章介绍了Spring框架。首先对Spring框架的IoC进行介绍,然后对Spring中Bean的装配过程进行了较为深入的探讨,接着通过一个简单的例子引出了AOP的基本概念,并对Spring AOP机制进行了讨论,并介绍了Spring框架中常用的JdbcTemplate,并用实例介绍了将MyBatis整合到Spring框架中进行数据库读写的具体方法,最后介绍了Spring中的事务管理。第4章介绍了Spring MVC。首先介绍了Spring MVC处理用户请求的流程和基本用法,然后通过示例详细介绍了控制器的开发细节和异常处理机制,最后对Spring MVC中的消息转换、视图及其解析器、拦截器、国际化、文件上传等高级应用进行了介绍。

本书具有如下特点:

(1)注重原理和实践的结合,不仅介绍了Java EE的规范及其涉及的主要技术,还介绍了IT企业开发的满足Java EE规范的典型框架。

(2)注重知识的完整性,介绍了涉及B/S体系结构的软件开发所需要掌握的内容,包含前端和后端、数据的处理、数据库的连接等。

(3)注重时效性,所介绍的框架都是比较新的成果,有的是近些年才兴起,也是被广泛应用的成果,如Mybatis和Spring MVC。

本书可以用作信息领域相关专业本科生的教材,特别是计算机类相关专业“Java EE编程技术”等课程的教材,也可供想了解Java EE规范及应用情况的人员参考。

本书第1章由栾尚敏撰写,第2、3、4章由张玮撰写,全书由栾尚敏统稿,并进行了修正和校对。作者在此感谢本书责任编辑谭文芳老师,她不仅在格式、文字、图表、符号方面给予了很多指导,还在书稿该包含的内容方面提出了很好的建议,正是她的努力才使本书得以顺利出版。

限于作者水平,书中会有一些错误和不足,希望读者指正。

作  者    

于河北燕郊

2023年3月