以JSP技术为基础,整合Servlet、JavaBean、Struts 2、Hibernate、Spring等技术开发Java Web应用,目前已成为主流的Java Web开发技术体系。
《Java Web应用程序开发任务驱动式教程》在充分调研Web程序员岗位需求的基础上优选与重构教学内容,以Java Web应用开发技术为主线,渐进式系统化地设计教学单元。全书划分为9个单元: 基于JSP指令和标签的Web应用程序开发,基于JSP内置对象的Web应用程序开发,基于JDBC的Web应用程序开发,基于Servlet的Web应用程序开发,基于JavaBean的Web应用程序开发,基于Struts 2的Web应用程序开发,基于Hibernate的Web应用程序开发,基于Spring的Web应用程序开发及SSH2与MVC的网上购物系统典型功能模块的开发。这9个单元按由浅入深、由易到难、由简单到综合的顺序排列,符合学习者的认知规律和技能形成规律。
本书每个教学单元面向教学全过程设置8个教学环节: 问题探析→知识必备→操作必备→基础应用→渐进应用→典型应用→单元小结→单元习题。采用“任务驱动、理论实践一体”的教学模式,强调“学用结合、做中学”的教学理念。理论知识与实际应用有机结合,在分析实际需求、解决实际问题过程中学习编程知识,体会编程规则,积累编程经验,逐步具有编程能力。
本书可以作为应用本科和高职高专院校计算机各专业和非计算机专业Java Web程序设计课程的教材,也可以作为计算机培训教材以及自学教材。
随着Internet技术的飞速发展与Java语言的不断完善、优化,越来越多的Web程序员义无反顾地踏上了Java Web应用开发之路。最原始的Java Web程序全部使用JSP实现,JSP页面既包含HTML标签,又包含Java业务逻辑代码,使得整个JSP页面过于臃肿而难以更新与维护。Sun Microsystems公司为规范Java Web应用的开发,相继推出Model1模式和Model2模式。在Model1模式中引入JavaBean技术,使用JavaBean封装业务逻辑代码,使业务逻辑代码与JSP页面进行有效的分离,但对于流程控制JavaBean却无能为力,直到Model2模式引入Servlet技术才真正实现视图、模型和控制器的彻底分离,从此,Java Web应用开发进入到一个规范化的全新时代。Struts作为Model2模式的经典实现,具有组件的模块化、灵活性和重用性多方面的优点。同时简化了基于MVC的Java Web应用程序的开发。
时代在发展,技术在进步,对各种复杂数据及业务逻辑的处理要求也在不断提高,MVC模型已不能完全满足高性能、低耦合框架结构的分层需求,此时,引入了持久层概念,用于封装底层数据的持久化与数据库访问操作。在众多商用或开源的持久层中间件中,Hibernate由于其功能与性能的优越而成为Struts框架最理想的底层数据交换的组件。
Spring致力于Java EE应用的各层的解决方案,而不仅仅专注于某一层的解决方案,可以说Spring是企业应用开发的“一站式”解决方案,并贯穿表现层、业务层和持久层。然而,Spring并不想取代那些已有的成熟框架,而是与它们无缝整合,为Struts与Hibernate提供了极为便利的集成方式,让SSH(Struts+Spring+Hibernate)成为最佳的组合框架。
伴随Java Web开发技术的不断规范与完善,整个Internet经历了从Web 1.0到Web 2.0的重大变革。在Web 1.0时代,用户主要通过浏览器获取信息,单纯充当网站内容的消费者。Web 2.0则更注重用户的交互与体验,用户既是消费者又是生产者,让用户在Internet中找到了自由发挥的空间。
以JSP技术为基础,整合Servlet、JavaBean、Struts 2、Hibernate、Spring等技术开发Java Web应用已成为当今主流的Java Web开发技术体系。
本书具有以下特色:
(1) 在充分调研Web程序员岗位需求的基础上优选与重构教学内容,以Java Web应用开发技术为主线,渐进式系统化地设计教学单元。
站在应用技术解决问题与实现功能的角度系统化整合教学内容,本书不是理论知识的汇聚,而是知识的应用,在学习Java Web应用程序开发方法、训练开发技能过程中逐步理解与掌握Java Web的相关知识。全书划分为9个单元,这9个单元按由浅入深、由易到难、由简单到综合的顺序排列,符合学习者的认知规律和技能形成规律。
(2) 每个教学单元面向教学全过程设置8个教学环节。本书从学习者理解与应用Java Web知识实现程序功能的角度,设计合理的教学流程,其中“基础应用”环节主要关注“基础知识”的应用,围绕基础知识的应用设置程序设计任务,在完成程序设计任务过程中,理解与掌握基础知识; “典型应用”环节主要关注“典型功能”的实现,围绕典型功能的实现设置程序设计任务,在实现典型功能过程中,学会运用所学知识解决实际问题,达到学以致用的目的; “渐进应用”环节是在9个单元中循序渐进地使用不同解决方案实施相同的功能模块,采用比较教学法让学习者比较相同功能模块的不同解决方案,了解各种方案的优劣,在比较中熟悉各种Java Web技术的应用。
(3) 本书采用“任务驱动、理论实践一体”的教学模式,强调“学用结合、做中学”的教学理念。
每个教学单元按照“基础应用→渐进应用→典型应用”三个层次设置教学任务,采用任务驱动模式探索Java Web应用程序的开发,每一项任务研究一个程序开发问题,主要应用一种Web开发技术,有利于降低学习难度、提高学习效率。
(4) 本书将理论知识与实际应用有机结合,在分析实际需求、解决实际问题过程中学习编程知识、体会编程规则、积累编程经验、形成编程能力。
每个教学单元的理论知识分别在“问题探析”环节、“知识必备”环节和操作任务的“任务小结”环节进行讲解。“问题探析”环节主要针对典型问题进行探析,起着承前启后的作用; “知识必备”环节主要讲解每个单元公共的基础知识,提供基本方法支持; “任务小结”环节主要针对每项开发任务中所涉及的关键知识和主要方法进行归纳总结。各项任务为实现Web应用程序的功能而探寻解决方法、学习Java Web的编程知识,这样带着问题进行探索性学习,比平淡乏味地学习理论知识效果会更好。
本书由陈承欢教授编著,宁云智、冯向科、颜谦和、刘荣胜、林东升、杨茜玲、谢树新、吴献文、颜珍平、陈雅、言海燕、薛志良、郭外萍、侯伟、肖素华、林保康、张丽芳等老师参与了程序的设计与部分章节的编写、校对、整理工作。
由于编者水平有限,书中的疏漏之处在所难免,敬请专家与读者批评指正,编者的QQ号为1574819688。本书免费提供电子教案、源代码等相关教学资源。
编者2014年8月