毕业设计(论文)-银行牌号系统的设计与实现.doc_第1页
毕业设计(论文)-银行牌号系统的设计与实现.doc_第2页
毕业设计(论文)-银行牌号系统的设计与实现.doc_第3页
毕业设计(论文)-银行牌号系统的设计与实现.doc_第4页
毕业设计(论文)-银行牌号系统的设计与实现.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 银行牌号系统的设计与实现 摘 要 本论文论述的是一个简化的 Web 应用程序模型,是一个 B/S 结构的 JSP+sql 的应 用。主要介绍了采用的 JSP 技术和 sql 技术结合的特点,系统功能非常的完善,而且 选择开放的应用平台,建设了一套与平台无关,以统一的服务接口规范和与数据库相 连的网站应用。以及怎样使 Web 程序设计模块化和面向对象化,即将表现和逻辑剥离。 还介绍了采用的编程模型和特点。 JSP 技术以其独特的优势成为开发网站系统的首选工具,论文中以一种简化的方 式介绍了 JSP 开发网站系统的方法和特点,即使用 Eclipse 开发工具,使用本机做服务 器模拟实现客户端登录,最终能够实现客户端的所有操作。由于 JSP 具有一次编写, 各处的运行、丰富而且高质量的工具支持、通过构件和标签实现重用、通过指令和标 签库增强与面开发能力等优点,开发的系统可以在任何平台上编写、运行在任意平台 上的 JAVA 服务器构件。 该系统实现了一个银行牌号管理系统,其包含了一个银行牌号管理系统的 WEB 前 台和后台所需的所有核心功能,如:有两个登陆权限,分别是管理员权限与工作人员权 限,管理员的操作分为系统用户管理、工作人员管理、所有业务记录和系统管理,工 作人员的操作分为个人资料管理,窗口设置和业务办理。 关键词 JSP;sql;银行 全套设计加扣 3012250582 ii The Design and Implementation of the Banking Brand System Abstract This thesis is a simplified model of Web application is a B/S structure of the application of JSP + SQL. Mainly introduced the use of JSP technology and SQL technology combined with the characteristics of system function is perfect, and choose the open application platform, to build a set of has nothing to do with the platform, are connected to the database in a unified service interface specification and site application. And how to make Web modularization and object oriented program design, the performance and logic. Also introduced the programming model and characteristics. JSP technology with its unique position to become the development tools of choice for web site system, the thesis in a simplified way is introduced JSP development methods and characteristics of website system, which USES the Eclipse development tools, use the machine to do simulation realization of client server login, eventually be able to achieve the clients all operations. Because the JSP has write once, run everywhere, rich and high quality tools support, through the component reuse and tag, with surface through instruction and tag library to enhance development ability, the development of the system can be written on any platform, JAVA server component to run on any platform. The system implements a bank brand management system, it contains a WEB bank brand management system at the front desk and the background of all the required core functions, such as: there are two land rights, are respectively the administrator authority and staff authority, the operation of the administrator is divided into the system user management, staff management, all business records and system management, staff operations into personal information management, the window Settings and business to deal with. Key words JSP; SQL; bank 目 录 摘要.i Abstract.ii 1 绪论.1 1.1 问题提出 .1 1.2 文本研究(软件开发)的整体框架 .1 1.3 研究(软件开发)的内容和意义 .2 2 软件开发平台分析.3 2.1 课题的可行性分析 .3 2.2 可行性分析 .3 2.2.1 JAVA 的特点.3 2.2.2 技术可行性分析 .4 2.2.3 可靠性和安全性特点.5 2.3 JSP 技术介绍.6 2.3.1 JSP 简介.6 2.3.2 JSP 技术特点.6 2.3.3 JSP 开发 WEB 的几种方式.8 2.4 JAVABEAN 技术介绍.11 2.4.1 JAVABEAN 简介.11 2.4.2 JAVABEAN 的特点.11 2.5 JDBC 技术.11 2.5.1 JDBC 简介.11 2.5.2 JDBC 类定义.12 3 软件需求分析.14 3.1 功能需求 .14 3.1.1 功能划分.14 3.1.2 功能描述.14 3.2 外部接口需求 .14 3.2.1 用户界面.14 3.2.2 软件相应接口.14 4 软件概要设计.15 4.1 总体设计 .15 4.1.1 处理流程.15 4.1.2 总体结构与模块外部设计.15 4.2 数据库设计 .15 4.3 功能结构设计 .16 4.4 功能需求设计 .16 5 软件详细设计.17 5.1 程序设计详细说明 .17 5.1.1 总体设计.17 5.1.2 登录功能模块描述.17 5.1.3 主页模块描述.20 5.1.4 工作人员模块描述.21 5.1.5 管理员后台模块描述.22 结论.27 参考文献.28 致谢.29 外文原文.30 中文翻译.37 1 1 绪论 1.1 问题提出 由于当今各行各业的信息化、智能化建设越来越普及,整个社会对各个行业的办 事效率的要求越来越高,尤其是服务性行业,既要满足被服务人的服务需求,又要提 高服务质量,提高服务效率,例如银行等,现在的用户不仅仅要求银行等满足业务上 的需要,还要求银行尽量减少用户的等待时间,而银行本身由于竞争的需要,也要求 提高本身的办事效率,提高本身服务的形象,而这些窗口服务的排队现象在所难免, 为了在排队时减少办事人的办事时间,为用户创造一个良好的环境,排队系统应运而 生。随着近年来科学技术,尤其是电子信息技术的迅猛发展,电子信息技术不仅渗透 了大众的生活,也在社会各行各业的发展中起到了很关键的作用,其中,竞争尤其激 烈的服务业也常常借助电子信息技术,互联网技术等来提高自己的服务质量,从而提 高自己的公众形象。而随着业务量的不断增大,科学而有效的对业务量进行管理成为 了一个实际而关键的问题。比如说在银行,排队等候已经是不可避免的环节,但是前 拥后挤,杂乱无章的排队不仅浪费了客户的宝贵时间,更是对银行的服务形象产生十 分不利的影响。因而提高服务质量,树立良好的形象是十分必要的。改善杂乱而劳累 的排队现象,为客户创造一个人性化的服务环境成为银行急需解决的问题。设计一套 银行牌号系统,可以比较好地解决因排队引起的种种问题。该网站是通过电子信息技 术、网络互联技术和现代通讯技术,使得银行牌号管理涉及的各方借助互联网方式联 系,实现整个银行牌号管理的电子化。由于信息技术的逐渐完善和网络银行牌号管理 系统的日益发展,网站应运而生。自其产生之日起,就一直被人们所重视,并不断发 展完善,将逐渐成为银行发展的重要形式,具其发展趋势表明它将成为未来社团管理 系统等交流领域唯一的方式。 对于网站除了要选取有优势的语言和开发工具外,还有如网络基础设施、实时动 态银行牌号管理、数据交互等诸多问题。虽然当今开发网站系统的开发工具很多,但 是如何开发出一种同时具有耗费系统较少资源、具有较快的运行速度、较高的安全性、 低成本的系统成了问题的关键。用 JSP 开发的网站系统无疑具有众多优点,因此该系 统就是一个高性能的网站系统雏形,经过扩展和优化即可以用做银行牌号管理用途, 适合用户进行银行牌号管理。 1.2 文本研究(软件开发)的整体框架 该网站系统应用了 JAVA 领域中的 JSP 技术、JDBC 和 JAVABEAN 等技术。该 网站系统具有一个完整网站系统的基本功能。该系统对应一个 WEB 应用系统的 3 个 层次,使用了 JAVA 平台分别提供的不同的技术支持,这些技术同其他 WEB 技术结 合共同实现完整的 JAVA WEB 技术平台。 在浏览器一端,支持标准的基于 HTML/HTTP 协议的浏览器作为前端,通过 XML 还可以支持更加丰富的浏览器前端系统,如 WAP 设备。对于浏览器端的编程开 发,则可以使用 JAVASCRIPT 脚本语言,对于复杂的客户端程序还可以通过 JAVA APPLET 实现。 在 WEB 服务器上,JAVA 通过 SERVLET、JSP、JAVABEAN、TAGLIB 以及 2 XML 技术提供了充分的动态 WEB 应用开发功能。 在后台系统的连接(如数据库)方面,则可以通过 JDBC 等技术实现连接。 整个技术体制建立在 J2SE 平台基础之上,即 JAVA2 标准环境。JAVA2 平台包括 标准版(J2SE) 、企业版(J2EE) 、和微缩版(J2ME)三个版本。J2SE 就是 JAVA2 的 标准版,主要用于桌面应用软件的编程;J2ME 主要应用于嵌入式系统开发,如手机 和 PAD 的编程;J2EE 是 JAVA2 的企业版,主要用于分布式网络程序的开发,如电子 商务网站和 ERP 系统。也就是说,在使用 JAVA 技术开发 WEB 应用程序的过程中, 可以充分使用 J2SE 平台提供的平台支持,J2SE 包括了丰富的基本应用功能支持和类 库,包括构成 JAVA 语言核心的类,比如数据库连接,接口定义,输入输出,网络编 程与图形处理、复杂数据类型等等,这就使得当使用 JSP/SERVLET 等技术开发动态 WEB 程序时可以充分利用 J2SE 类库提供的功能支持,实现所需的复杂功能,祢补基 本语言功能的不足。 该网站系统运用了上述框架中的一部分技术,既 IE 浏览器、JSP、sql、等基础技 术,用 Eclipse 开发工具,作为服务器,在 WINDOWS7 系统中运行,配置了本地服务 器进行本机访问,能够实现基本的操作功能,如果有网络环境,能够在发布到网络上 访问运行。 1.3 研究(软件开发)的内容和意义 系统运用了 JSP 与 sql 技术相结合,使程序更加模块化。虽然该系统的功能相对 来说比较简单,但是界面清晰易于操作,能够有效地提高工作人员的工作效率,具备 了一个网站系统的基本流程,体现了一个网站系统的基础模型。经过一些扩展和优化 能够适合一些信息用户作为银行牌号管理用途的网站。 网站应用后的经济效益是可观的。其应用发展的趋势也是不可低估的。它的未来 必将更加完善,并更好地为我国的各个银行牌号管理领域服务。 3 2 软件开发平台分析 2.1 课题的可行性分析 信息技术的快速发展,为网站系统尽快实现网上银行交流提供了有力支撑。随着 技术水平的提高,建设统一的银行牌号管理平台,整合各业务系统,建立各网上银行 部门的银行牌号管理信息,实现信息共享、银行牌号管理交流,是深入开展信息化应 用的必然要求。经过充分调研论证,我决定参考原有的银行牌号管理系统,开发网站 系统银行牌号管理系统。 我的课题银行牌号管理系统 ,是一个基于 B/S 结构的 JSP+sql 的应用。采用技 术成熟的 sql 结构体系。按照不同的功能来划分,降低系统模块与模块之间的耦合性, 提高不同模块的独立性,从而保证了系统的稳定性、安全性、可扩展性和可移植性。 2.2 可行性分析 2.2.1 JAVA 的特点 Java 是全新的计算机技术,它是建立在基于强大的网络和同样的软件应该在不同 的计算机系统上运行的思想上的。这些计算机系统包括消费型器件和其他一些设备。 利用 Java 技术,您能令人信服的让同一种应用在各种各样机器如:PC、Macintosh 系 统、计算机网络或者像 Internet 可视电话一样的新技术上运行。 Java 可以既可以看作是一种真正的程序设计语言,也可以看作是一个完整的平台。 作为一种程序语言,它的特点可以归纳为: 简洁,可以加速开发,JAVA 去掉了很多容易混淆的或复杂的概念,如指针,因 此 JAVA 会以一种更清晰方便的方式去实现; JVM 可实现跨平台性,即一次编写到处运行,这是 JAVA 语言最大的优势。在使 用其它语言编写程序时遇到的最大的问题就是当操作系统变化,处理器升级以及核心 系统资源发生变化时都可能导致程序出现错误甚至无法运行。JAVA 的虚拟机成功的 解决了这一问题,用 JAVA 语言编写的程序可以在任何装有 JAVA 虚拟机的计算机上 正确地运行。 JAVA 是纯粹的面向对象的程序设计语言,更符合人的思维模式。在现实生活中, 我们常常会根据共有的属性与功能给出一个概念,JAVA 语言与其他面向对象的语言 一样,引入了类的概念,包含了对被创建的对象的状态的描述与方法的定义。 解释型,JAVA 与 C+不同,它不是针对特定的 CPU 芯片来进行编译,而是把程 序编译成为称作字节码的一种“中间代码” 。字节码一种是很接近机器码的文件,它可 以在装有了 JAVA 虚拟机 JVM 的任何系统上被解释执行。JAVA 被设计成解释执行的 程序,即翻译一句,执行一句,而不产生完整的机器代码程序。在翻译的过程中如果 没有出现错误,就会一直进行到完毕,否则将会在出现错误的地方停止执行。对于同 一个程序,如果是被解释执行的,那么它的运行速度通常会比编译为可执行的机器代 码的运行速度慢一些。但是对于 JAVA 来说,二者的差别并不很明显,JAVA 的字节 码经过了仔细的设计,很容易便能够使用 JIT(即时编译方式)编译技术将字节码直 接转化为高性能的本地机器码。Sun 公司在 JAVA2 的发行版本中提供了这样一个字节 码编译器JIT(Just In Time) ,它是 JAVA 虚拟机中的一部分。JAVA 运行系统在 提供 JIT 的同时仍具有平台独立性,因此, “高效且跨平台”对于 JAVA 来说不再是矛 盾的概念。如果把 JAVA 语言编写的程序比做“汉语”的话,字节码就相当于是“世 4 界语” ,世界语并不与具体的“国家”相关,只要这个具体的“国家”提供了相应的 “翻译” ,就可以快速地把“世界语”翻译成为本地语言。 代码安全校验器保障其安全性。当我们想要从网络上下载一个程序,我们最担心 的就是这个程序中是否包含有恶意的代码,比如试图读取或者删除本地计算机上重要 的文件的代码,甚至该程序是否是一个病毒程序。但是当我们使用 JAVA 的浏览器时, 我们可以放心地运行 JAVA 的小应用程序 JAVA APPLET,而不必担心有恶意的企图 或感染病毒,因为 JAVA 小应用程序会被限制在 JAVA 的运行环境中,不允许其访问 计算机中其他的部分。 多线程,内置对多线程的支持也是 JAVA 的特点之一,即允许同时完成多个任务。 多线程通常会给人以多个任务同时进行的错觉,实际上,只是处理器在不同的线程之 间迅速地切换,而处理器的切换速度足够快而超过了我们接收信息的速度。C+语言 没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设 计。 动态,支持在线升级,JAVA 程序的基本组成单元是类,其中一些类是由我们来 编写的,也有一些类是直接从类库中引入的。而类是在程序运行时动态装载的,这就 使得 JAVA 可以在分布环境中动态地维护程序和类库,而不必与 C+一样,每当其类 库升级之后,相应的程序都必须重新修改和编译。 还有健壮性以及适用于 Internet 技术等。而作为一个平台,它通过那些符合 Sun 用户发布的标准 APIs 开发的应用,在操作系统、数据库、中间件和其他第三方厂商 提供的服务。 2.2.2 技术可行性分析 根据系统目标来衡量所需的技术是否具备,从硬件、软件的性能要求、环境条件 等方面去考虑和分析。 银行牌号管理系统是采用 B/S 结构的 JSP+sql 的应用。 B/S 架构(Browser/Server,浏览器/服务器模式) ,是在 WEB 兴起之后的一种网 络架构模式,而 WEB 浏览器就是客户端最主要的应用软件。这种架构模式统一了客 户端,将系统功能实现的核心部分集中到了服务器上,从而简化了系统在开发、维护 和使用过程中的操作。客户端的计算机上只需要安装一个浏览器,如 Netscape Navigator 或 Internet Explorer,而服务器端需要安装 Oracle、Sybase、Informix 或 SQL Server 等数据库。浏览器可以通过 Web Server 同服务器端的数据库进行数据交互。 B/S 架构的优点有: B/S 架构的系统具有分布性特点,可以随时随地进行浏览、查询等业务的处理。 业务的扩展简单而且方便,只要通过增加网页就可以拓展服务器的功能。 维护起来简单方便,只需要改变网页,即可同步地实现所有用户的更新操作。 B/S 架构系统开发简单,共享性强。近年来,随着软件技术的日趋先进,软件系 统的改进和升级都越来越频繁,B/S 架构的软件尤其明显地体现出了其方便的特性。 对于一个稍具规模的单位来说,如果系统的管理人员必须在几百甚至上千部电脑之间 来回奔跑,其效率和工作量是可想而知的,但是如果是 B/S 架构的软件,只需要对其 服务器进行管理就可以了,而所有的客户端只是浏览器,不需要做任何维护的工作。 无论它的用户规模多么庞大,其下有多少的分支机构都不会对其维护升级的工作造成 负担,所有的操作只需要针对服务器展开;如果服务器端与客户端是异地,则只需要 把服务器连接专网,就可以实现远程的维护、升级和共享。所以客户端会越来越“瘦” , 而服务器端则是越来越“胖” ,这将会是今后信息化发展的主流方向。这样,软件的升 级和维护会越来越容易,同时用户使用起来会越来越简单,对于用户的人力、物力、 5 时间、费用等方面也是显而易见的,惊人的节省。因此,维护和升级革命的方法是 “瘦”客户端, “胖”服务器端。 而 B/S 架构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。 只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上 网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通 过用户内部的安全认证后,不需要人的参与,系统可以自动分配给用户一个账号进入 系统。 B/S 与 C/S 处理模式相比,在硬件环境方面,C/S 一般要建立在专用的网络上, 小范围里的网络环境,局域网之间再通过专门的服务器来提供连接和数据交换服务。 而 B/S 是建立在广域网之上的,不需要有专门的网络硬件环境,例如电话上网,租用 设备等,信息自己管理。因此具有比 C/S 更强的适应能力,一般来说只需要有操作系 统和浏览器就可以。在对安全的要求方面,C/S 一般面向的是相对固定的用户群,对 信息安全的控制能力较强。所以,一般具有高度机密的信息系统会采用 C/S 架构。而 B/S 架构的系统适合发布部分可公开的信息,对安全的控制能力相对较弱,可能面向 不可知的用户。在程序架构方面,C/S 架构的程序更加注重流程,可以对权限进行多 层次的校验,对系统的运行速度考虑得较少。而 B/S 架构的程序对安全以及访问速度 的多重考虑是建立在需要更加优化的基础之上的。比 C/S 有更高要求的 B/S 架构的程 序会是发展的趋势。在系统维护方面,则 B/S 架构大大简化了客户端,只要客户端机 器能上网就可以。对于 B/S 而言,开发、维护等几乎所有工作也都集中在服务器端, 当信息用户对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地 用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么 B/S 架构的 产品优势明显所有的升级操作只需要针对服务器进行。在软件重用方面,C/S 程 序有着不可避免的整体性的考虑,构件的重用性没有在 B/S 架构的要求下构件的重用 性好。B/S 架构的多重结构,要求构件具有相对独立的功能。在用户接口方面,C/S 架 构的程序比较多的建立在 Windows 平台上,表现方法有限,并且对程序员的要求普遍 较高。而 B/S 架构的程序建立在浏览器上, 可以用更加丰富与生动的表现方式同用户 进行交流。并且降低了开发的成本。在信息流方面,C/S 架构的程序是典型的中央集 权式的机械处理,因此交互性相对较低。而 B/S 架构的程序信息流向是可以变化的。 2.2.3 可靠性和安全性特点 Java 最初设计目的是应用于电子类消费产品因此要求较高的可靠性。Java 虽然源 于 C+,但它消除了许多 C+不可靠因素,可以防止许多编程错误。首先,Java 是强 类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程 序更加可靠;其次,Java 不支持指针,这杜绝了内存的非法访问;第三,Java 的自动 单元收集防止了内存丢失动态 内存分配导致的问题;第四,Java 解释器运行时实施检 查,可以发现数组和字符串访问的越界,最后,Java 提供了异常处理机制,程序员可 以把一 组错误代码放在一个地方,这样可以简化错误处理任务便于恢复2。 由于 Java 主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安 全保证,用户从网络下载程序执行就非常危险。Java 通过自己的安全机制防止了病毒 程序的产生和下载程序对本地系统的威胁破坏。当 Java 字节码进入解释器时,首先必 须经过字节码校验器的检查,然后,Java 解释器将决定程序中类的内存布局,随后, 类装载器负责把来自网络的类 装载到单独的内存区域,避免应用程序之间相互干扰破 坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。上述几 种机制 结合起来,使得 Java 成为安全的编程语言。 6 2.3 JSP 技术介绍 2.3.1 JSP 简介 JSP(JAVA SERVER PAGES)是由 Sun Microsystems 公司倡导并与许多公司共同 参与创建的一种使软件的开发人员能够响应客户端的请求,从而动态地生成 HTML、XML 或者其他格式文档的 Web 网页的技术标准。JSP 技术以 Java 语言作为 脚本语言,JSP 网页为整个服务器端的 Java 库单元提供了一个接口,用来服务于 HTTP 的应用程序。JSP 技术使得 Java 代码与特定的预定义动作能够嵌入到静态页面 中。JSP 技术的语法中增加了被称作 JSP 动作的 XML 标签,它们是用来调用内建功能 的。 JSP 技术使用 Java 编程语言来编写类 XML 的 tags 和 scriptlets,封装产生动态网 页的处理逻辑。网页还可以通过 tags 和 scriptlets 来访问存在于服务器端的资源的应用 逻辑。JSP 技术将网页逻辑和网页设计与显示相分离,它支持可重用的,基于组件的 设计,让基于 Web 的应用程序的开发变得迅速且容易。 当 Web 服务器遇到访问 JSP 网页的请求时,首先会执行其中的程序段,然后将执 行的结果连同 JSP 文件中的 HTML 代码一同返回给客户端。所插入的 Java 程序段能 够进行操作数据库、重新定向网页等操作,从而实现建立动态网页所需要的功能。 JSP 和 JavaServlet 一样,在服务器端执行,通常返回给客户端的就只有一个 HTML 格式的文本,因此,客户端只需要有浏览器就可以浏览。 2.3.2 JSP 技术特点 按照脚本语言是服务于某一个子系统的语言这种论述,JSP 应当被看作是一种脚本 语言,然而,作为一种脚本语言,JSP 又显得过于强大了,在 JSP 中几乎可以使用全部的 Java 类。作为一种基于文本的、以显示为中心的开发技术,JSP 提供了 Java Servlet 的 所有好处,如,高效:如果是传统的 CGI,其中的每个请求都需要启动一个新的进程, 如果 CGI 程序本身所执行的时间比较短的话,用于启动进程的开销反而很可能超过实 际的执行时间。而对于 Servlet,每一个请求都由一个轻量级的 Java 线程来处理,而不 是用重量级的操作系统进程。在传统的 CGI 中,如果有 n 个对同一 CGI 程序发出的并 发的请求,那么该 CGI 程序的代码要在内存中重复地装载 n 次。但是对于 Servlet,用 于处理请求的是 n 个线程,只需要一份 Servlet 类代码。并且在性能优化方面,Servlet 也比 CGI 有着更多的选择,比如缓冲之前计算的结果,保持数据库连接的活动等等。 第二个好处是方便,Servlet 提供了大量的实用工具例程,比如自动地对 HTML 表单数 据进行解析和解码、读取与设置 HTTP 头、对 Cookie 进行处理与跟踪会话状态等。第 三个好处就是功能强大,通过使用 Servlet,可以很轻松地完成许多使用传统的 CGI 程 序很难完成的任务,比如说 Servlet 能够直接同 Web 服务器进行交互,但普通的 CGI 程序却不可以。Servlet 还能够实现各个程序之间的数据共享,使得数据库连接池之类 的功能可以很容易地实现。第四个好处是可移植性好,Servlet 是用 Java 语言编写的, Servlet 的 API 具有完善的标准。还有一个好处是节省投资,首先,有许多廉价甚至免 费的 Web 服务器可以供个人的或小规模的网站使用,并且,如果现有的服务器不支持 Servlet 的话,要加上这个部分的功能往往也是免费的或者只需要极少量的投资。而且, 当 Servlet 与一个 JavaBeans 类结合在一起的时候就提供了一种可以使内容和显示逻辑 分开的简单方式。将内容和显示逻辑分开的优点是负责更新页面外观的工作人员不需 要懂得 Java 代码,而且更新 JavaBeans 类的工作人员也不需要是设计网页的内行,而 可以用包含有 JavaBeans 类的 JSP 页面来定义 Web 模板,从而建立一个由具有相似外 7 观的页面组成的网站。由 JavaBeans 类来负责数据的提供,这样,在模板中就没有了 Java 代码,同时也意味着这些模板就可以由一个 HTML 编写人员来维护。当然,Java Servlet 也可以用来控制网站的逻辑,通过用 Java Servlet 调用 JSP 文件的方式来分离一 个网站的逻辑和内容。这种分离网站的逻辑和内容的设计方法做一些更深入的描述。 在选择使用一个 Java Servlet,还是一个 JSP 页面时,要记住的是,Java Servlet 是一个 程序设计工具,它最适用于不需要频繁修改的低级应用功能; 而 JSP 页面则通过以显 示为中心的描述性的方法将动态内容和逻辑结合在一起。对于使用一个 JSP 页面的简 单的基于 Web 的应用程序,可以使用定制标记或者 Scriptlet,而不是使用 JavaBeans 类来将内容与应用逻辑结合起来。定制标记被打包到一个标记库中,并被引入到一个 JSP 页面中。Scriptlet 是直接嵌入在 JSP 页面中的很小的 Java 代码段。一般来说,在 实际的 JSP 引擎中,JSP 页面在执行时是编译式,而不是解释式的。解释式的动态网 页开发工具如 ASP、PHP3等由于速度等原因已经满足不了当前大型网站应用的需要了, 传统的开发技术都在向编译执行的方式改变,如 ASPASP+PHP3PHP43。JSP 与 ASP 相比,ASP 与 JSP 两者是比较类似的技术。但同时 JSP 具有两方面的优点。首先, 它的动态部分使用 Java 语言编写,而不是 VB Script 或是其他的 Microsoft 语言,因此 不仅它的功能会更加强大而且它会更易于使用。第二,JSP 应用可以移植到其他的操 作系统或者非 Microsoft 的 Web 服务器上。而尽管 JSP 的规范书中并没有对 JSP 引擎 要使用编译式的执行方式提出实际的要求,但是一般情况下是不会使用解释的方式来 执行 JSP 页面的。通常说来,JSP 页面一般会翻译为 Servlet 的 Java 源文件,之后再经 过 Java 的编译器编译为 Servlet 的 class 格式文件。而其中要编译为 Servlet 的原因是为 了让原先的 Servlet 引擎可以直接服务于 JSP,这样 JSP 引擎就只需要将 JSP 转译为 Servlet 就可以了。但是因为 JSP 规范书中并没有规定将 JSP 页面转译为 Servlet 的方法, 因此,不同的 JSP 引擎会出现不同的转译结果。 在 JSP 文件转译为 Servlet 以后,每次客户机(通常是用户的 Web 浏览器)向服 务器请求这一个 JSP 文件的时候,服务器将检查自上次编译后 JSP 文件是否有改变, 如果没有改变,就直接执行 Servlet,而不用再重新编译,其效率是相当高的。一般来 说, JSP 文件的编译是在第一个用户访问到这个 JSP 页面时发生,而这第一个用户通 常是开发人员自己,这样,正式放在服务器上让用户访问的 JSP 文件一般都已经有了 对应的编译好的 Servlet 了。许多服务器都有设置,可以使 JSP 文件在第一个用户访问 之前就预先编译好,这样看来,效率就更高了。 在 JSP 规范书中,并没有明确要求 JSP 中的程序代码部分(称为 Scriptlet)一定 要用 Java 来写,实际上,有一些 JSP 引擎就是采用的其他脚本语言,如:EMAC- Script、WebL4等等,但实际上这几种脚本语言也是构建在 Java 上面,编译为 Servlet 来实现的。按照 JSP 规范书,完全和 Java 没有任何关系的 Scriptlet 也是可以的,不过, 由于 JSP 的强大功能主要在于能和 JavaBeans、Enterprise JavaBeans5一起工作,所以 即使是 Scriptlet 部分不使用 Java,编译成的执行代码也应该是与 Java 相关的。 JSP 与纯 Servlet 相比并没有增加任何本质上 Servlet 无法实现的功能,但是,在 JSP 中编写静态的 HTML 会更加方便,因为不需要再用 println 语句来输出每一行 HTML 的代码。而更重要的是,通过网页内容和外观的分离,页面制作的工作中不同 性质的任务就可以方便地分开,比如,页面设计专家进行 HTML 设计工作的同时可以 留出空间供 Servlet 程序员插入动态内容。 服务器端包含(Server-Side Include,SSI)是一种可以实现在静态 HTML 中引入 外部代码的深受欢迎的技术。JSP 和 SSI 相比,JSP 在这方面的支持更为完善。因为它 8 可以使用 Servlet 而不是独立的程序来生成动态内容。另外,实际上 SSI 只能用于简单 的包含,而不能够面向那些可以处理表单数据或访问数据库的“真正的”程序。 JavaScript 可以在客户端动态地生成 HTML。虽然 JavaScript 很有用,但是与 JSP 相比,它只能处理以客户端环境为基础的动态信息。除了 Cookie 之外,HTTP 状态和 表单提交数据对 JavaScript 来说都是不可用的。另外,由于是运行在客户端,因此 JavaScript 不能访问服务器端资源,比如数据库、目录信息等等。 JSP 的特点可以归纳为: 可以把内容的生成和显示分离:借助 JSP 技术,Web 页面的开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面。使用 JSP 的标识或者小脚本可以生 成页面上的动态内容。所生成的内容的逻辑被封装在标识 JavaBeans 组件中,并且被 捆绑在小脚本中,所有的脚本都运行在服务器端。如果核心逻辑被封装在标识和 JavaBeans 中,那么其他的工作人员,比如 Web 管理人员和页面的设计者,可以编辑 或使用 JSP 页面,同时不会影响其内容的生成。在服务器端,JSP 引擎负责解释 JSP 标识和小脚本,生成所请求的内容,例如,通过访问 Java Beans 组件,使用 JDBCTM 技术来访问数据库或者包含文件,并且将结果以 HTML 或者 XML 页面的形式发送给 浏览器。这样有利于程序员保护自己的代码,而且还可以保证任何基于 HTML 的 Web 浏览器是完全可用的。 强调组件的可重用性:绝大多数的 JSP 页面依赖于可重用,跨平台的组件,如 JavaBeans 或者 Enterprise JavaBeansTM 组件,来处理应用程序所要求的更为复杂的请 求。开发人员可以共享与交换执行普通操作的组件,或者让这些组件可以被更多的使 用者或者客户团体来使用。基于组件的方法使总体开发过程得以加速,并且使得各种 组件在它们现有的技能与优化结果的开发努力之间得到平衡。 运用标识使得页面开发简化:Web 页面的开发人员未必都熟悉脚本语言。 JavaServer Page 技术中封装了许多功能,要在易用的、与 JSP 相关的 XML 标识中生成 动态内容时需要用到这些功能。标准的 JSP 标识可以完成对 JavaBeans 组件的访问与 实例化,设置或检索组件的属性,下载小应用组件,以及执行一些如果用其他方法会 更难于编码并且更加耗时的功能。通过开发定制化的标识库,JSP 技术得以扩展。日 后,第三方的开发人员和其他工作人员就可以为自己常用的功能创建个人的标识库。 这使得 Web 页面的开发人员可以使用自己熟悉的工具与像标识一样的、执行特定功能 的构件来完成工作。JSP 技术可以很容易地整合至多种应用体系结构中,这样可以利 用到现有的工具和技巧,并且能够扩展到支持企业级的分布式应用。作为使用 Java 语 言的一部分,以及 Java 2(企业版体系结构)的一个组成部分,JSP 技术能够支持高度 复杂的、基于 Web 的应用。由于 JSP 页面内置脚本语言是基于 Java 语言编写的,而 且所有的 JSP 页面都被编译成为 Java Servlet,因此 JSP 页面就具有了 Java 技术所有的 优势,包括存储管理的健壮性和安全性。JSP 作为 Java 平台的一部分,也拥有了 Java 语言“一次编写,到处运行”的优点。随着越来越多的供应商把 JSP 支持添加到他们的 产品中,我们可以使用自己选择的服务器与工具来更改服务器或工具而并不会影响到 当前的应用。 2.3.3 JSP 开发 WEB 的几种方式 JSP 作为 J2EE 的一部分,既可以用于开发小型的 Web 站点、也可以用于开发大 型的、信息用户级的应用程序,本节将讲述对于不同规模的 Web 系统,使用 JSP 进行 开发的不同方式。 (1) 直接使用 JSP 9 对于最小型的 Web 站点,可以直接使用 JSP 来构建动态网页,这种站点最为简单, 所需要的仅仅是简单的留言板、动态日期等基本的功能。对于这种开发模式,一般可 以将所有的动态处理部分都放置在 JS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论