这段时间事情比较多,没有时间写,所以决定从我的书中拷贝内容共享给大家。下面的内容是书的前言,是关于这本书运用的思想以及主要的内容。这些思想也是我多年授课的经验积累。
在作者多年的教学过程中,使用了多本JSP
的教材,应该说都写得挺好的。但是了解到的情况是学生听课的时候可以听懂,但是学完之后不知道怎么去使用,让学生自己编写一个网站还是有困难。所以这几年也一直在研究原因,逐渐发现了一些问题,并且想了一些方法来解决,另外也在一些班级进行了实验,效果比较好。现在想把这些想法与其他老师分享,让学生也能学有所用,所以有了写这本书的想法。
本书运用的思想
应用驱动而不是知识点驱动
现有教材的编写风格基本都是按照JSP
知识点的分类来进行的,例如:JSP
概述、JSP
基础、内部对象、JSP
动作和指令、JavaBean
、JDBC
、表达式语言、国际化、标准标签库等。这些教材都是以知识点驱动的,强调的是知识点。
而在实际应用中我们需要解决各种问题,不同的问题需要不同的知识点,是以问题为驱动的,所以本书准备以应用为中心,围绕如何解决应用中的问题进行讲解,完成相关功能需要什么知识点,就介绍什么知识点。
同时为了学生能够全面掌握知识,会在每一部分列出相关的知识点。
完整的项目而不是不相关的例子
多数JSP
图书的不同章节采用的实例都没有关联性,这样在学完整个课程之后,学生会感觉例子很乱。
本书的所有内容都围绕一个项目进行,每一部分完成项目的一个功能,实训也是整个项目的一部分。这样当课程结束之后,学生就可以完成一个完整的项目。
不仅教您如何实现,并且教您如何设计
对于每一个例子,不仅仅教您如何编写程序,更重要的是如何进行设计,这样学生就可以触类旁通了。
先模仿后自创
教师每次介绍完一个案例之后,学生都会完成一个类似的功能,通过这样的模仿来加深所学的知识。最后由学生再独立完成一部分功能。
实训与授课并重
每部分内容都包括教师讲授和学生实训两部分。理论教材和实训教材结合使用。
JSP
用于显示,Servlet
用于控制
在JSP
的发展早期,开发Java Web
应用的方式主要是在网页中嵌入Java
代码,这种方式的弊端逐渐被认识到。而Java Web
开发经常是多种技术协同完成的,JSP
主要完成与用户的交互过程,不应该包含处理代码和控制代码。而Servlet
在显示信息方面没有优势,所以坚决不要使用Servlet
显示信息。本书严格遵循这种思想。
本书的内容组织
整个课程就是一个项目,该项目是比较通用的项目:网上书店系统,把整个项目分成三个部分:
l
图书信息管理
l
用户管理
l
购物车和订单管理
每一部分的内容基本上都覆盖了JSP
的所有知识点。整个课程的安排按照两条线进行:教师授课和学生实训。
教师授课
授课内容是用户管理功能部分。把用户管理功能分解成各个小的案例,每个案例都可以完成一个功能,每个案例包含若干知识点。授课方式采用边讲解边带领学生操作,把知识点融合在案例中。
学生实训
实训内容是图书信息管理部分。每一节课之后都会有一个学生实训,这个实训与本次课的授课内容吻合。与教师讲解的案例功能基本相同。例如,教师讲解用户信息修改功能,学生实训的内容就是图书信息修改功能。
综合实训
在完成基本内容的讲解和实训之后,在本书的最后是一个综合实例:购物车和订单管理。这部分内容由教师介绍知识点,然后由学生进行实训。
内容新颖
本书中的内容是根据JSP
的最新规范编写的。
采用模式
MVC
模式是几乎所有Java Web
框架所采用的模式,本书在介绍Java Web
开发相关的技术时,完全采用MVC
模式。JSP
主要用于显示信息,所以在用到JSP
的时候,避免在JSP
中嵌入Java
代码。虽然Servlet
能够像JSP
一样向用户显示信息,但是Servlet
主要用于控制,显示的功能应该在JSP
文件中。所以在介绍Servlet
的时候,严格按照这种思想,只在Servlet
中编写控制代码。
调试程序
学习任何一门语言,调试程序的能力都是一项非常基础但却非常重要的能力。本书专门使用一章的内容对常见的错误进行了分析,并对常用的调试方法进行了介绍。
编写方法
首先描述目标,然后通过运行效果进一步展示目标,根据目标分析编程思路,最后一步一步告诉读者如何编写这个代码。
学习目标
n
创建一个网站
包括搭建运行环境,创建网站的框架。
n
展示信息
可以采用多种向用户展示信息的方式,通常情况下展示信息是Web
应用的最基本的功能。
n
信息提交
通过界面提交信息到服务器是网站中信息更新功能所必需的。
n
信息检索
信息检索功能能够帮助用户从网站提供的大量信息中查找需要的信息。这样的功能对于一个信息量非常大的网站来说是必不可少的。
n
信息处理
能够完成网站中信息处理。
n
信息管理
能够管理各种网站中的大量的信息。
n
安全控制
包括登录功能和权限控制。
n
异常处理
能够处理网站中的各种异常。
n
分页显示
分页显示在很多网站中都存在,学习完本课程,读者应该能够掌握。
n
能够完成购物车管理
几乎所有的电子商务网站中都有购物车功能,学习完本课程应该能够编写各种网站中的购物车。
主要内容
第1
章对Web
应用进行概述,以及如何搭建Java Web
应用的运行环境,如何创建一个Web
应用。通过本章的学习,读者应该能够知道什么是Java Web
应用,开发Web
应用需要哪些条件,如何创建一个Web
应用。
第2
章和第3
章解决Java Web
应用的输入和输出问题。第2
章,介绍如何在Java Web
应用中使用各种表单提交信息,并且如何在客户端使用JavaScript
代码对用户输入的各种信息进行验证。通过本章的学习,读者应该能够解决Web
应用中的输入问题。第3
章,介绍如何在Java Web
应用向用户输出信息,介绍了各种输出信息的方式。通过本章的学习,读者应该能够掌握Java Web
应用的输出。
第4
章到第6
章,对登录功能进行了3
次重构,基本上就是Java Web
技术的发展历史。第4
章,使用纯JSP
文件了完成了登录功能。第5
章中,把登录的处理过程提取出来使用JavaBean
封装,形成了JSP+JavaBean
的模式。第6
章中,把JSP
中的控制功能提取出来,使用Servlet
实现,形成了JSP+Servlet+JavaBean
的模式。同时在第6
章中引入了MVC
模式。
第7
章到第10
章,进一步强化MVC
模式,并介绍对数据库的常用操作。第7
章中首先介绍了如何使用JDBC
完成对数据库的操作,以及如何使用连接池完成对数据库的操作,最后实现了用户信息的查看功能。第8
章介绍了在Java Web
应用中的分页显示,包括在JavaBean
中如何实现分页以及在JSP
页面如何实现分页。第9
章通过用户信息的添加进一步强化了数据库相关的操作和MVC
模式。第10
章通过用户信息的修改和删除介绍了Java Web
应用中修改和删除功能的一般实现方式。
第11
章到第13
章介绍了Java Web
应用的国际化、异常处理和安全问题。第11
章通过用户信息查看界面的国际化介绍如何实现Java Web
应用的国际化。第12
章首先分析了Web
应用中可能出现的异常,并介绍了多种异常处理的方式,包括Java
异常处理机制,JSP
的异常处理机制,通过配置文件进行的异常处理机制。第13
章介绍了Java Web
应用中的安全问题及解决方案,包括使用session
完成基本的安全控制、使用过滤器完成单个的安全控制、使用过滤器完成集中的安全控制、页面中部分代码的安全控制和使用图形验证码的安全控制。
第14
章是综合实训,分析了购物车功能和订单管理功能的主要编写思路,并给出了关键的知识点,读者可以根据这些讲解自己完成购物车和订单。通过这个综合实训,读者应该能够掌握Java Web
开发基本技能。
第15
章介绍了在编写和运行Java Web
应用的过程中经常出现的错误以及调试程序,调试程序的能力是程序员必须具有的。第15
章的内容可以加快读者掌握这种能力的速度。
在书的后面跟了3
个附录。附录1
是在Java Web
开发中常用的知识点,可以方便读者的学习。附录2
是JSP
技术中非常重要的接口的方法,读者在学习的过程中可以查找使用。附录3
是本书内容的索引,因为本书没有按照其他书那样按照知识点分章节,而是按照应用划分,如果先查找知识点可以通过该索引。
给学生的建议
一定要动手写程序,只有动手了,才能发现问题,因为最终目的还是动手。
不要害怕出错,编写程序不可能不出错,熟练之后,出错就会少了。
充分利用网络,网络上的各种资源非常丰富。
要好好学习英语,很多文档都是英文的。
好好学习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
开发技术最基本的关于Java Web
开发的技术。为了提高Web
应用的开发效率和Web
应用的管理维护,出现了很多基于Java Web
技术的框架。这些框架可以提高开发的效率,能够方便对Web
应用的维护。常见的Web
应用框架有:JSF
、Struts
、Tapestry
和WebWork
。其中JSF
、Struts
、Tapestry
和WebWork
属于Web
层框架,主要用于开发Web
应用,功能基本相同,各有千秋。在Java
企业级应用的最新版本中,JSF
已经属于Java Web
技术的一个组成部分。读者可以选择一种Web
应用框架进行学习。
除了这些Web
应用框架之外,还有一些能够简化对数据库进行操作的技术,通常称为持久层框架,常见的有Hibernate
和TopLink
。Hibernate
相对来说比较流行,在很大程度上影响了后来的EJB3
中Java
持久性的规范。读者可以从中选择其一进行学习,当然如果读者要学习Java
企业级应用,则可以不用学习这些持久性框架,因为在Java
企业级应用中包含了Java
持久性API
,另外在Java
企业级应用的早期版本中还有实体Bean
。
另外还有一个比较流行的技术Spring
,这是一个企业级应用的框架,与Java EE
平行。只是它不属于Java
企业级应用开发的标准,但却非常成功。也是读者可以选择学习的一个不错的技术。
想跟我学就行动起来吧。
下一讲:第二讲 Web应用概述