传统的软件教学侧重程序设计、细节技术及理论教学,但在这样的学科性教学中,很难培养学生基于软件开发的思维能力与动手开发能力。本教程力争做到以项目为导向,通过软件开发过程中系统化的典型工作任务的实现,引导学生一步一步掌握软件开发应具备的知识、技术、方法及动手能力。通过对本书内容的学习,使学生可以利用常用的JSP、JavaBean、Servlet技术,以MVC设计模式开发Java Web应用软件。
本教程需要学生具有Java程序设计基础、数据库开发基础、网页设计基础。在此基础上学习利用JSP技术进行软件开发。
本书以项目案例为导向的方式讲解如何用JSP技术开发MVC模式的数据库应用软件。第1章回顾了Java面向对象编程并介绍用Java进行Web编程;第2章介绍用JSP编写动态网页知识;第3章介绍在JSP中实现数据库操作并介绍如何封装数据处理层;第4章介绍通过JSP标准动作、JSTL标签和EL表达式简化JSP页面编码;第5章介绍Servlet原理及其应用;第6章介绍用前面学习的技术实现一个软件功能“模块”;第7章介绍通过软件架构集成各功能模块;第8章介绍完善功能模块使软件更具有实用性;第9章介绍提高软件的处理能力和开发效率的几个技术;第10章通过一个案例介绍用JSP技术实现一个综合案例及其开发文档的编写。
本书整体内容组织上,先根据一个项目开发需要的编程技术从浅到深逐步引导,再进行基于这些技术的使用及编码能力的训练。本教材整体内容的组织是,首先介绍基本的JSP开发的MVC技术,然后用其开发一个软件模块,再讲授如何集成及软件架构的相关内容;通过非功能需求的编码实现以完善模块使其更具实用性。真实的软件往往是结构复杂的,表现为复杂的数据结构与软件结构以及管理困难,最后介绍“真正”的软件如何开发及开发文档的编写。
本书各单元内容的组织是以任务实现的案例引导进行的,先介绍案例要完成的任务、然后进行任务的实现,最后再围绕任务实现的技术与知识进行教学,并通过总结完整地介绍知识与技术。本书各个任务均代表了完成一个完整项目的某个方面的任务,即它们是软件开发的“典型工作任务”;而这些典型工作任务之间具有衔接关系。这样就实现了通过系统化的项目导向、任务驱动的教学,从而实现了对学生进行软件开发知识与开发能力的培养。这样,学生不但学习了软件开发的技术,而且能从案例中学习程序编码语言技术。本书各章的案例均是相互衔接,并且是逐步深入引导的。
本课程前5章是基本技术,建议以老师讲授为主并兼顾学生的动手操作;第6章、第7章是搭建一个软件的基本架构,是前面技术的综合应用,建议以学生动手为主、老师讲解为辅;第8章、第9章是提高软件实用性及运行效率的实现技术,建议以学生自学为主;第10章是一个综合案例的实现过程文档,介绍了软件开发的复杂性及如何进行综合软件开发。并通过一个综合的学生管理系统的开发文档介绍完整的软件开发文档的写法,该部分可以作为一个完整的软件项目的开发报告范文。在教学中教师可根据实际情况进行教学安排。
本课程建议安排72学时,其中讲课与实践各36学时,建议学时分配如下表所示。学时分配表类型授 课 内 容学 时 分 配讲课实践基础技术第1章用Java进行Web编程44第2章用JSP编写动态网页88第3章在JSP中实现数据库操作66第4章简化JSP页面编码88第5章Servlet原理与应用44功能实现与集成第6章一个软件功能“模块”的MVC实现44第7章在软件架构下集成各功能模块22非功能实现技术第8章完善功能模块使其更实用简述实训第9章提高软件处理与软件开发效率简述实训综合案例第10章综合软件项目开发案例简介自学合计3636在教学过程中,除了老师教学与演示外,还要强调学生的动手实践,包括模仿与通过综合前面的技术完成一个较复杂的程序。本书后5章是综合技术与综合应用,建议以学生自主学习与实训为主。本教程的学习需要学生具备Java面向对象的基本知识、HTML、JavaScript网页开发基本知识及数据库操作语言SQL基本知识。本书所附的案例作者均调试运行成功,希望读者能通过案例的剖析逐步掌握所介绍的方法与技术。
本书由广东科学技术职业学院的牛德雄担任主编,第1章由杨叶芬、牛德雄编写;第2章由李彬编写;第3章、第5章、第6章、第7章、第10章由牛德雄编写;第4章由扶卿妮编写;第8章、第9章由陈华政、牛德雄编写。另外,刘晓林、莫春清、岑兆荣、曾文英、樊红珍、冯丽娟、管华山也参与了部分内容的编写,珠海顶峰互动科技有限公司程高飞参与了本书教学内容的设计,魏云柯设计了本书部分图形。在此一并表示感谢。
本教材克服“以程序知识与技术”为中心的传统教学,以软件开发过程系统化方式进行教学内容的设计与组织,以一个软件项目的各“典型任务”的实现贯穿整个教材始终。由于时间仓促、经验不足,书中难免存在疏漏和不足,恳请同行专家和读者给予批评和指正。
本书附有教学课件、课程讲义和案例代码,读者登录清华大学出版社网站http://www.tup.com.cn或http://61.145.231.44:8080/skills/solver/classView.do?classKey=6152862&menuNavKey=6152862下载。也可以笔者联系,或者进入交流群(375571590)获取更多课程资源。
编者2014年3月1日