JSP Web编程的设计过程,这是一个非常重要的过程,因为糟糕的设计所导致的问题只有在发布以后才能体现出来,而那是已经为时过晚。相反一个好的考虑周到的设计可以使可能出现的问题尽早被发现,并且使Web应用更容易进行维护和修改。
常见的三种设计方法是:结构化、面向对象和基于组建。下面我们来分别介绍一下这些方法。
1. 结构化开发方法
结构化的开发过程包括软件目标的功能分解,以及使用正确的参数和返回值来创建函数。首先要分析Web应用的需求,确定它的功能,然后以函数的形式进行建模。在一个Web应用中就可能有上千个函数,这些函数能够不受限制地互相调用,因此在访问某个变量时,很难保证它不是正在被其他函数访问或修改。 使用JSP脚本来开发Web应用时就是上面所说的那种情况。如果只使用JSP而不使用任何Beans或者自定义标记,当Web规模较小时还不会出现太多的问题,但是当Web的规模较大时,一定出现上面的问题。
当这个应用程序的规模扩大时,开发人员就很难修改它在体系上的问题,或是进行功能的扩展。在大多数情况下,这个程序很少有文档可以帮助用户增加对它的理解,更重要的是,应用程序中的每个部分都是紧密联系在一起的,这意味着开发所需要的时间会增加,对开发进行管理的时间也会必然增加。这种设计会导致以下几个问题:
- HTML于Java代码的结合,这需要Web开发人员具有Java的知识。
- 在客户端的JavaScript和JSP代码可能会产生混淆。
- 为了理解应用程序在内的逻辑,开发人员必须查看应用程序调用的所有网页,这对于拥有上百个网页搜Web应用来说很难做到。
- 一个包含了HTML、JSP代码和Java脚本的网页查看起来是比较困难的,也会带来调试方面的问题,并且不易维护。
2. 面向对象的开发方法
在结构化开发方法面临问题时,使用面向对象的方法进行分析、设计和开发就可以解决一部分问题。
在结构化开发方法面临问题时,使用面向对象的方法进行分析、设计和开发就可以解决一部分问题。面向对象方法的目标是要简化复杂软件的开发与维护工作,它提供了一种更加严格、同时对于一般应用又足够灵活的结构,从而解决了结构化编程时会出现的大多数问题。
面向对象(OO)的分析和设计方法源于生活中模块化的思想。对象是提供一组相关功能的实体,对象之间相互作用从而完成一定的任务。OO开发方法包括对目标的模块化,以及用类的形式对数据和函数进行封装。
但是,从另一方面来说,不适当的抽象不仅不能减少问题,反而会带来更多的问题。
3. 基于组建的开发方法
组件技术进一步深化了抽象的层次。通过使用组件技术,复杂的系统可以由任意多的具有结合性的小系统组成。每个组建都十分简单,从而可以设计的十分完美,如果需要进行较大的改动,我们甚至可以重写某个组件。
每个组件可以实现一组紧密相关的功能。它们被认为是自包含的,与其他组建没有太多的关联,并且在很高层次对接口进行抽象来减少关联性。换句话说,组建是实现了一组接口的软件单元。
JavaBeans是Java中一个可重用的组建体系。JSP和Servlet使用JavaBeans组建体系来封装事务功能。利用Servlet、JSP和JavaBean组建的强大功能,我们可以分别完成不同的任务(流程、状态和外观)。从而开发出强健的应用程序。