《Java Web程序设计基础教程》前言

来源:互联网 发布:mac远程控制软件 编辑:程序博客网 时间:2024/05/17 02:51

 

 
 
   
 
 
在多年的教学过程中,作者使用了多本JSP的教材,应该说这些教材都写得挺好。但是实际了解到的情况是学生听课的时候可以听懂,学完之后却不知道怎么去应用,要自己编写一个网站程序还是有困难。这几年作者也一直在研究其中的原因,逐渐发现了一些问题,并且想了一些方法来解决,还在一些班级进行了实验,效果比较好。现在想把这些想法与其他老师分享,让学生也能学有所用。
本书运用的思想
● 应用驱动而不是知识点驱动。
现有教材的编写基本上都是按照JSP知识点的分类来进行的,例如:JSP概述、JSP基础、内部对象、JSP动作和指令、JavaBean、JDBC、表达式语言、国际化、标准标签库等。这些教材都是以知识点驱动的,强调的是知识点。
在实际应用中我们需要解决各种问题,不同的问题需要不同的知识点,即实际中是以问题为驱动的。所以本书以应用为中心,围绕如何解决应用中的问题进行讲解,即完成相关功能需要什么知识点,就介绍什么知识点。
同时为了使学生能够全面掌握知识,我们在每一部分列出了相关的知识点。
● 提供完整的项目而不是不相关的例子。
多数JSP图书的不同章节采用的实例都没有关联性,这样在学完整个课程之后,学生会感觉例子很乱,没有整体的概念。
本书的所有内容都围绕一个项目进行,每一部分完成项目的一个功能,实训也是整个项目的一部分。这样当课程结束之后,学生就可以完成一个完整的项目。
● 不仅教学生如何实现,并且教学生如何设计。
对于每一个例子,不仅教学生如何编写程序,更重要的是教学生如何进行设计,这样学生就可以触类旁通了。
● 先模仿后自创。
每次介绍完一个案例之后,都要求学生完成一个类似的功能,通过这样的模仿来加深理解所学的知识,最后由学生再独立完成一部分功能。
● 理论与实训并重。
每部分内容都包括教师讲授和学生实训两部分,使得理论与实训结合紧密。
●  JSP用于显示,Servlet用于控制。
在JSP的发展早期,开发Java Web应用的主要方式是在网页中嵌入Java代码,但这种方式的弊端逐渐显露出来。Java Web开发经常是由多种技术协同完成的:JSP主要完成与用户的交互过程,不应该包含处理代码和控制代码;而Servlet在显示信息方面没有优势,所以坚决不使用Servlet显示信息。本书严格遵循这种思想。
本书的内容组织
本书的内容组织围绕一个比较通用的项目——网上书店系统。整个项目分成三个部分:
● 图书信息管理。
● 用户管理。
● 购物车和订单管理。
每一部分的内容基本上都覆盖了JSP的所有知识点。整个课程的安排按照两条线进行:教师授课和学生实训。
教师授课内容是用户管理功能部分。把用户管理功能分解成各个小的案例,每个案例都可以完成一个功能,每个案例包含若干知识点。授课时边讲解边带领学生操作,把知识点融合在案例中。
学生实训内容是图书信息管理部分。每章最后都会有一个学生实训,这个实训与本章授课内容吻合,与教师讲解的案例功能基本相同。例如,教师讲解用户信息修改功能,学生实训的内容就是图书信息修改功能。
在完成基本内容的讲解和实训之后,在本书的最后给出了一个综合实例:购物车和订单管理。这部分内容由教师介绍知识点,然后由学生进行实训。
本书内容是根据JSP的最新规范编写的,采用的模式是MVC模式,它是几乎所有Java Web应用开发所采用的模式。JSP主要用于显示信息,所以在用到JSP的时候,要避免在JSP中嵌入Java代码。虽然Servlet能够像JSP一样向用户显示信息,但是Servlet主要用于控制。本书严格遵循这种思想,只在Servlet中编写控制代码。
学习任何一门语言时,学习者调试程序的能力都是一项非常基础但却非常重要的能力。本书专门使用一章的内容对常见的调试错误进行了分析,并对常用的调试方法进行了介绍。
本书首先描述目标,然后通过运行效果进一步展示目标,并根据目标分析编程思路,最后一步一步告诉读者如何编写这个代码。
学习目标
通过学习本书,学生应该达到以下目标:
● 创建一个网站。
包括搭建运行环境,创建网站的框架。
● 展示信息。
可以采用多种向用户展示信息的方式,通常情况下展示信息是Web应用的最基本的
功能。
● 提交信息。
通过界面提交信息到服务器是网站中信息更新功能所必需的。
● 检索信息。
信息检索功能能够帮助用户从网站提供的大量信息中查找需要的信息。这样的功能对于一个信息量非常大的网站来说是必不可少的。
● 处理信息。
能够完成网站中信息的处理。
● 管理信息。
能够管理各种网站中的大量信息。
● 进行安全控制。
包括实现登录功能和权限控制。
● 进行异常处理。
能够处理网站中的各种异常。
● 进行分页显示。
分页显示在很多网站中都存在,学习完本课程后,读者应该能够掌握其方法。
● 完成购物车管理。
几乎所有的电子商务网站中都有购物车功能,学习完本课程后,学生应该能够编写各种网站中的购物车管理代码。
主要内容
全书共分15章。第1章介绍如何构建Java Web应用。第2章和第3章介绍如何解决Java Web应用的输入和输出问题。第4~6章对登录功能进行了3次重构,这也就是Java Web技术的3个发展阶段。第7~10章进一步强化MVC模式的运用,并介绍数据库的常用操作。第11~13章介绍了Java Web应用的国际化、异常处理和安全控制问题。第14章是综合实训,分析了购物车功能和订单管理功能的主要编写思路,并给出了关键的知识点。第15章介绍了在编写和运行Java Web应用的过程中经常出现的错误以及如何调试程序。
本书最后有3个附录。附录A列出了Java Web开发中常用的功能,可以方便读者的学习。附录B列出了JSP技术中非常重要的API方法,读者在学习的过程中可以查找使用。附录C是本书的知识点索引,因为本书没有像其他书那样按照知识点分章节,而是按照应用划分,所以要查找知识点可以通过该索引进行。
编者分工
本书第1章及第9~15章由李绪成编写,第2、3章由闫海珍编写,第4~6章由王红编写,第7、8章由张阳编写。全书由李绪成统稿,闫海珍审定。
给学生的建议
● 一定要动手写程序,只有动手了才能发现问题。
● 不要害怕出错,编写程序不可能不出错,熟练之后,就会少出错了。
● 充分利用网络,网络上的各种资源非常丰富。
● 要学好英语,因为很多文档都是英文的。
● 要掌握Java基础,本书对JSP的语法讲得不多,难就难在Java语言本身。
给老师的建议
● 给学生动手的时间,不管你讲得有多好,如果学生不自己动手,一切都是徒劳。
● 帮助学生调试程序,调试程序的时候要给学生讲解,最好能够把你调试程序过程中心中想的东西告诉学生。要鼓励学生试着自己调试程序。
 
预备知识
预备知识包括三个方面:Java、HTML和JavaScript语言。
Java Web开发技术是以Java语言为基础的,其编码使用的都是Java的基本语法,最后也是按照Java程序的运行方式运行的。如果读者对Java不熟悉,需要补习一下Java。能够用到的Java知识包括:
●   Java的基本语法,包括标识符、运算符、变量、方法和流程控制等。
●   Java的面向对象特性,包括包、类、接口的定义和使用。
●  Java的常用类库,包括字符串相关的String和StringBuffer、日期处理相关的Date和Calendar、日期和数字的格式化DateFormate和NumberFormat以及Collection框架等。
● 异常处理,在编写Java文件的时候不可避免地要使用它。
对于HTML语言,我们需要掌握最基本的语法,包括以下几个方面:
● 网页的结构。
● 表单元素。
JavaScript语言在客户端执行,所以如果希望在浏览器端执行功能,就需要使用JavaScript语言。现在在网站中使用比较多的JavaScript内容有客户端验证。
进一步学习的建议
Java Web开发技术属于Java企业级应用的一部分,属于Java企业级应用中的Web层。如果想更完整地学习Java企业级应用的各方面,可以学习Java EE企业级开发技术,它包括企业级JavaBean(EJB)技术和RMI、JNDI、JTA、JTS、数据源、JavaMail、JAAS、连接器等服务。
另外,本书介绍的是最基本的Java Web开发技术。为了提高Web应用的开发效率和方便Web应用的管理维护,人们设计出了很多基于Java Web技术的框架。常见的Web应用框架有:JSF、Struts、Tapestry和WebWork。它们都属于Web层框架,主要用于开发Web应用,其功能基本相同,但特性各有千秋。在Java企业级应用的最新版本中,JSF已经属于Java Web技术的一个组成部分。读者可以选择一种Web应用框架进行学习。
除了这些Web应用框架之外,还有一些能够简化对数据库进行操作的技术,通常称为持久层框架,常见的有Hibernate和TopLink。Hibernate相对来说比较流行,在很大程度上影响了后来的EJB3中Java持久性API的规范。读者可以从Hibernate和TopLink中选择其一进行学习,但如果读者要学习Java企业级应用,则可以不用学习这些持久性框架,因为在Java企业级应用中包含了Java持久性API,而且在Java企业级应用的早期版本中还有实体Bean。
还有一个比较流行的技术Spring,它是一个企业级应用的框架,与Java EE平行。它虽然不属于Java企业级应用开发的标准,但却非常成功,也是读者可以选择学习的一个不错的技术。
 
                                                            编 者
2007年9月