资源描述
网上鲜花店管理系统
内容摘要
随着互联网日益深入社会生活,以网站作为对外的展示窗口,进行内外信息交流,已成为大众的迫切需要。网站信息管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。
本系统使用JSP技术制作网站动态页面,用JAVA语言做连接数据库的程序,使用ORACLE数据库作为系统数据库,开发一个具有用户注册,鲜花检索,鲜花浏览,购物车,订单查询,系统管理等功能的小型的网上花店信息管理系统。
关键词:管理信息系统 网上鲜花店
目 录
引 言 …………………………………………………………………………………………6
一、 管理信息系统(MIS)简介 …………………………………………………………6
1. 管理信息系统的概念 ……………………………………………………………………6
2. 管理信息系统的结构和特征 …………………………………………………………7
3. 管理信息系统的开发 ……………………………………………………………………8
4. 管理信息系统的现状和展望 …………………………………………………………9
二、 网上书店信息管理系统介绍 ……………………………………………………9
1. 系统简介 ………………………………………………………………………………9
2. 系统功能介绍 …………………………………………………………………………9
2.1 用户部分 ………………………………………………………………………………10
2.2 系统信息管理部分 ……………………………………………………………………10
三、 网上书店信息管理系统开发工具和环境 …………………………………………11
1. 网站开发工具JSP介绍 ………………………………………………………………11
1.1 开发基于Web的应用程序:背景 ……………………………………………………11
1.2 Web应用开发的JavaServer Pages技术方法 …………………………………………12
1.3 JSP技术在多个方面加速了动态Web页面的开发 ……………………………………12
1.3.1 将内容的生成和显示进行分离 ……………………………………………………12
1.3.2 强调可重用的组件 ………………………………………………………………12
1.3.3 采用标识简化页面开发 …………………………………………………………12
1.4 JSP页面看上去像什么? ………………………………………………………………13
1.5 JSP指示 ……………………………………………………………………………………14
1.6 JSP标识 ……………………………………………………………………………………14
1.7 脚本元件 ………………………………………………………………………………14
1.8 JSP页面的应用模型 ……………………………………………………………………14
1.9 使用Java Servlet的一个灵活的应用 ……………………………………………………15
1.10 采用企业级JavaBean技术的可扩展处理 ………………………………………………15
1.11 JSP页面与XML技术的集成 …………………………………………………………15
1.12 JSP技术的未来 …………………………………………………………………………16
2. 系统开发语言JAVA介绍 ………………………………………………………………16
3. Oracle数据库介绍 …………………………………………………………………………17
3.1 概论 ……………………………………………………………………………………17
3.2 特点 ……………………………………………………………………………………18
3.3 存储结构 ………………………………………………………………………………19
3.3.1 物理结构 …………………………………………………………………………19
3.3.2 逻辑结构 …………………………………………………………………………19
3.4 分布式数据库管理介绍 ………………………………………………………………20
3.4.1 原理 ………………………………………………………………………………20
3.4.2 过程 ………………………………………………………………………………21
四、网上书店信息系管理统设计 …………………………………………………………21
1. 系统功能设计 …………………………………………………………………………21
2. 数据库设计 ………………………………………………………………………………27
3. 部分源代码设计 …………………………………………………………………………29
五、 结束语 ………………………………………………………………………………36
企业MIS网络数据库管理系统
——网上鲜花店信息管理系统
引 言
随着互联网日益深入社会生活,以网站作为信息交流平台,进行内外信息交流,已成为大众的迫切需要。网上花店传承花意,为亲人朋友送去心意已经成为某种时尚。网上开花店为大众开辟了更为方便之门,快捷方便,为大众所喜爱。做为一个虚拟的商店,网上商店具有很多新的特性,以下这些是它的优势:其营业成本完全有理由比传统意义上的商店低得多:不需支付昂贵的店铺租金,花费浩大的装修;不需要将大笔的流动资金作为货物而沉泣在店里,可依靠“零库存”管理,缩速资金周转的周期,可以加速周转;同时,网上商店更容易开拓全场市场,国际互联网,www顾名思义体现了全球的一体化; 实现24小时营业,不需要营业员,网上商店可以被设置成一个自动售货机; 可以多媒体促销,各种文字,图象和动画,声音,让受众全方位感受广告诉求; 依靠客户数据库能够提供全新的个人化服务等等。
网上花店系统就是为实现客户通过上网,对鲜花信息的浏览、检索、订购,以及鲜花销售商对客户信息、鲜花信息的管理所开发的网络应用软件。该系统能够较好地满足网上花店客户的基本要求,具有较高的实用价值。
一、 管理信息系统(MIS)简介
管理信息系统(Management Information Systems 简称MIS)在现代社会已深入到各行各业,由于计算机技术的迅速发展和普及,MIS 事实上已成为计算机MIS。 目前,由于开发高质量 MIS 的能力大大落后计算机硬件日新月异的进展,加上社会对MIS 发展和完善需求的增加以及对MIS开发过程中出现的错误认识和行为而导致MIS开发的失败,这些情况已严重妨碍了计算机技术的进步。因此对MIS 有关的内容进行深入研究,提高工作效率,提高MIS开发成功率已变得十分重要。
1. 管理信息系统的概念
MIS 是一个不断发展的新型学科,MIS的定义随着计算机技术和通讯技术的进步也在不断更新,在现阶段普遍认为MIS 是由人和计算机设备或其他信息处理手段组成并用于管理信息的系统。
1、MIS的对象就是信息
信息是经过加工的数据,信息是对决策者有价值的数据。信息的主要特征是来源分散,数量庞大。信息来源于生产第一线,来源于社会环境,来源于市场,来源于行政管理等部门。信息具有时间性。信息的加工方式有多种形式。
企业从信息管理的角度可划分为物流和信息流。生产过程是一个物流的投入产出过程,且是不可逆的过程。管理过程是信息流的过程,且具有信息反馈的特征。
2、系统是由相互联系、相互作用的若干要素按一定的法则组成并具有一定功能的整体。
系统有两个以上要素,各要素和整体之间,整体和环境之间存在一定的有机联系。系统由输入、处理、输出、反馈、控制五个基本要素组成。信息系统是输入的数据,经过处理,输出的是信息的系统。
3、管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用五个方面组成。
任何地方只要有管理就必然有信息,如果形成系统就形成MIS。计算机设备使MIS更有效,尤其是现代社会,MIS已和计算机设备不可分离,因此一般来说MIS就是计算机MIS。MIS包括计算机、网络通讯设备等硬件成份,包括操作系统、应用软件包等软件成份。并随着计算机技术和通讯技术的迅速发展还会出现更多的内容。
2. 管理信息系统的结构和特征
1、MIS的结构
MIS由信源、信宿、信息处理、信息用户和信息管理者五个组成部分。
2、MIS的特性
完善的MIS具有以下四个标准:确定的信息需求、信息的可采集与可加工、可以通过程序为管理人员提供信息、可以对信息进行管理。 具有统一规划的数据库是MIS成熟的重要标志,它象征着MIS是软件工程的产物。 通过MIS实现信息增值,用数学模型统计分析数据,实现辅助决策。 MIS是发展变化的,MIS有生命周期。 MIS的开发必须具有一定的科学管理工作基础。只有在合理的管理体制、完善的规章制度、稳定的生产秩序、科学的管理方法和准确的原始数据的基础上,才能进行MIS的开发。
因此,为适应MIS的开发需求,企业管理工作必须逐步完善以下工作: 管理工作的程序化,各部门都有相应的作业流程。 管理业务的标准化,各部门都有相应的作业规范。 报表文件的统一化,固定的内容、周期、格式。 数据资料的完善化和代码化。
MIS的划分
1、基于组织职能进行划分
MIS 按组织职能可以划分为办公系统、决策系统、生产系统和信息系统。
2、基于信息处理层次进行划分
MIS基于信息处理层次进行划分为面向数量的执行系统、面向价值的核算系统、报告监控系统,分析信息系统、规划决策系统,自底向上形成信息金字塔。
3、基于历史发展进行划分
第一代MIS 是由手工操作,使用工具是文件柜、笔记本等。第二代MIS 增加了机械辅助办公设备,如打字机、收款机、自动记账机等。第三代MIS 使用计算机、电传、电话、打印机等电子设备。
4、基于规模进行划分
随着电信技术和计算机技术的飞速发展,现代MIS 从地域上划分已逐渐由局域范围走向广域范围。
5、MIS的综合结构
MIS可以划分为横向综合结构和纵向综合结构,横向综合结构指同一管理层次各种职能部门的综合,如劳资、人事部门。纵向综合结构指具有某种职能的各管理层的业务组织在一起,如上下级的对口部门。
3. 管理信息系统的开发
1、MIS的开发原则
创新原则,体现先进性。计算机技术的发展十分迅速,要及时了解新技术,使用新技术,使目标系统较原系统有质的飞跃。
整体原则,体现完整性。企业管理可以理解为一个合理的‘闭环’系统。目标系统应当是这个‘闭环’系统的完善。企业完整的实现计算机管理不一定必须在企业的各个方面同时实现,但必须完整的设计系统的各个方面。
不断发展原则,体现超前性。为了提高使用率,有效的发挥MIS的作用,应当注意技术的发展和环境的变化。MIS在开发过程中应注重不断发展和超前意识。
经济原则,体现实用性。大而全和高精尖并不是成功MIS的衡量标准。事实上许多失败的MIS正是由于盲目追求高新技术而忽视了其实用性。盲目追求完善的MIS而忽视了本单位的技术水平、管理水平和人员素质。
2、MIS的开发方式
MIS的开发方式有自行开发、委托开发、联合开发、购买现成软件包进行二次开发几种形式。一般来说根据企业的技术力量、资源及外部环境而定。
3、MIS的开发策略
不可行的开发方法:组织结构法,机械的按照现有组织机构划分系统,不考虑MIS的开发原则。 数据库法,开发人员从数据库设计开始对现有系统进行开发。 想象系统发,开发人员基于对现有系统进行想象为基础进行开发。
可行的开发方法:自上而下(Top__Down),从企业管理的整体进行设计,逐渐从抽象到具体,从概要设计到详细设计,体现结构化的设计思想。 自下而上(Bottom__Up),设计系统的构件,采用搭积木的方式组成整个系统,缺点在于忽视系统部件的有机联系。
两者结合是实际开发过程中常用的方法。通过对系统进行分析得到系统的逻辑模型, 进而从逻辑模型求得最优的物理模型。逻辑模型和物理模型的这种螺旋式循环优化的设计模式体现了自上而下、自下而上结合的设计思想。
4、MIS的开发方法
完整实用的文档资料是成功MIS的标致。科学的开发过程从可行性研究开始,经过系统分析、系统设计、系统实施等主要阶段。每一个阶段都应有文档资料,并且在开发过程中不断完善和充实。
目前使用的开发方法有以下两种:
瀑布模型(生命周期方法学) 结构分析、结构设计,结构程序设计(简称SA—SD—SP方法)用瀑布模型来模拟。各阶段的工作自顶向下从抽象到具体顺序进行。瀑布模型意味着在生命周期各阶段间存在着严格的顺序且相互依存。瀑布模型是早期MIS设计的主要手段。
快速原型法(面向对象方法) 快速原型法也称为面向对象方法是近年来针对(SA—SD—SP)的缺陷提出的设计新途径,是适应当前计算机技术的进步及对软件需求的极大增长而出现的。是一种快速、灵活、交互式的软件开发方法学。其核心是用交互的、快速建立起来的原型取代了形式的、僵硬的(不易修改的)大快的规格说明,用户通过在计算机上实际运行和试用原型而向开发者提供真实的反馈意见。快速原型法的实现基础之一是可视化的第四代语言的出现。
两种方法的结合 使用面向对象方法开发MIS时,工作重点在生命周期中的分析阶段。分析阶段得到的各种对象模型也适用于设计阶段和实现阶段。实践证明两种方法的结合是一种切实可行的有效方法
4. 管理信息系统的现状和展望
由于MIS的实用性和它给社会带来的巨大经济效益,所以自从问世以来,一直受到各国的普遍重视。无论国内还是国外,随着科学技术特别是计算机技术特别是计算机通讯技术的迅速发展,MIS已取得了令人瞩目的成就。在社会高度信息化的时代,任何企业、事业单位要想在竞争中立于不败之地,就要有效地收集、管理和利用信息,就要建立自己的管理信息系统。MIS已经作为一种新兴的商品,开始走向市场。
随着我国社会主义市场经济的确定和企业面临“复关”的挑战,在激烈的市场竞争中求生存、争发展已成为中国企业共同关心的根本问题。如何缩短产品上市时间(T)、提高产品质量(Q)、降低成本(C)和提供更好的服务(S),是企业竞争中面临的最迫切的问题,MIS就是解决这些问题的一条途径。提高科学管理水平首先要提高科学管理的意识,进行MIS的开发首先要具有科学的开发方法。成功MIS的基础是科学的管理加上科学的开发方式。企业的MIS开发必须结合实际,严格按照软件工程的思想进行才能保证MIS的高成功率和高效率。
二、 网上鲜花店信息管理系统介绍
1. 系统简介
网上鲜花店信息系统以网络作为平台,使客户足不出户就可以购买到自己需要的图鲜花。购
鲜花过程方便、快捷,可靠性、安全性高。同时,对于商家,可以通过该平台对客户及订单信息进行有效管理,对图鲜花信息也做到及时更新,更利于商家为客户服务。
2. 系统功能介绍
网站整体框架图:
网上鲜花系统
鲜花信息浏览
鲜花信息管理系统
鲜花订购系统
鲜花信息检索
用户/管理员登录
用 户 注 册
订单信息管理
鲜花信息管理
客户信息管理
订单查询
购物车
网上鲜花店系统框架图
各模块功能介绍:
1、 网上注册
系统采用用户名申请的方式。为方便地给客户提供安全、快捷的个性化服务,便于交易
的顺利完成,要求顾客填写真实信息,并对顾客信息保密。
2、 鲜花浏览
主要是对各种不同种类图鲜花信息的分类浏览。其中对于图鲜花按照两级分类,一类是比较
笼统的,范围比较大的一种分类,二级分类是在一级分类的基础上的内容细分。
3、 鲜花检索
对站内所售鲜花的查询。查询可以通过确定鲜花类别、确定鲜花名、寓意、等信息来进行精确查询。
4、 购物车的实现
对购物车的操作包括:显示购物车内容、添加新鲜花、删除已购图鲜花、更改购鲜花数量、提交购物车中的所有物品、清空购物车等。
5、 订单查询
方便客户及时了解自己目前所订购的鲜花数量、名称,以及是否已经被系统接受等。
6、 客户信息管理
通过管理员身份,可以对该系统所有客户信息进行修改、删除、查看等操作,同时管理员可以通过用户ID,姓名,E-mail,联系电话等客户注册信息进行查询,以便了解客户的一些基本个人资料。
7、 鲜花信息管理
通过管理员身份,对网站内所有鲜花信息进行增加、删除、修改、查询等操作,便于网站鲜花信息的及时更新,满足读者需求。是管理网站鲜花信息的核心。
8、 订单信息管理
通过管理员身份,对订购客户名、鲜花名、订单号、已受理订单、未受理订单等信息进行查询,获得订单的详细情况,对订单进行处理。网站所有订单信息通过该功能实现管理。
2.1 用户部分
系统的主要用户是一定范围内的读者。为了能够方便、快捷、有效的完成鲜花购买及送
货上门,客户首次登录网上鲜花店,都需要注册个人基本信息,然后通过个人账号及密码登录系统。老用户可直接通过账号及密码登录。
登录系统后,用户可通过主界面,浏览各类鲜花及其详细情况,或者,直接通过查询系统,寻找自己需要的鲜花信息。最终确定需要购买的鲜花后,便可以方便、快捷的选择自己需要的鲜花刊放入系统设定的个人购物车中,也可以随时放弃购物车中选中的鲜花刊。
最后,客户确定购物车中选定的鲜花刊名,鲜花刊数量等购买信息,便可提交给系统。之后只需在家中等待网上鲜花店的配送中心将鲜花刊送货上门。
2.2 系统信息管理部分
系统信息的管理权限主要是该网上鲜花店系统的管理员。通过管理员身份登陆系统,可以
查看并且管理系统内所有注册用户的个人信息。包括对个人信息的查询、修改、删除等操作。例如,当选择“查看所有客户信息”时,将返回所有系统注册用户的信息,管理员可以通过点击“修改”,查看并修改某注册用户的信息。若点击“删除”,则将删除相应用户的所有信息。若只想查看某一位客户的信息,也可以通过“客户信息查询”,对客户的姓名,注册ID,电话,E-mail等信息进行查询,得到客户全部信息。
对于系统的鲜花信息,管理员可以选择“鲜花信息管理”功能,通过增加、修改、删除等操作对网站的鲜花信息进行管理。并且,管理员可以随时通过鲜花信息查询,了解目前网站的鲜花信息情况。
对于客户订单信息,管理员可以选择“订单信息管理”,对所有订单进行管理操作。同时,管理员也可以通过查询订购客户名,鲜花名,订单号,未受理订单,已受理订单等信息,查看某一条或某一类订单的信息及受理情况。
三、 网上鲜花店信息管理系统开发工具和环境
1. 网站开发工具JSP介绍
JavaServer PagesTM (JSP)技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。
1.1 开发基于Web的应用程序:背景
在万维网短暂的历史中,它已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购鲜花操作的一个基础设施。在各种各样的应用程序中,对于可能使用的基于Web的客户端,看上去没有任何限制。
基于浏览器客户端的应用程序比传统的基于客户机/服务器的应用程序有几个好处。这些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。
这些快速增长的精巧的基于Web的应用程序要求开发技术上的改进。静态HTML对于显示相对静态的内容是不错的选择;新的挑战在于创建交互的基于Web的应用程序,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。
对于这个问题的一个早期解决方案是使用CGI-BIN接口;开发人员编写与接口相关的单独的程序,以及基于Web的应用程序,后者通过Web服务器来调用前者。这个方案有着严重的扩展性问题——每个新的CGI要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将消耗该Web服务器所有的可用资源,并且系统性能降低到极其低下的地步。
某些Web服务器供应商已经尝试通过为他们的服务器提供“插件”和API来简化Web应用程序的开发。这些解决方案是与特定的Web服务器相关的,不能解决跨多个供应商的解决方案的问题。例如,微软的Active Server PagesTM(ASP) 技术使得在Web页面上创建动态内容更加容易,但是也只能工作在微软的IIS和Personal Web Server上。
还存在其他的解决方案,但是都不能使一个普通的页面设计者能够轻易地掌握。例如,象Java Servlets这样的技术就可以使得用Java语言编写交互的应用程序的服务器端的代码变得容易。一个Java Servlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员能够编写出这样的Servlet,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能要查询数据库来完成这项请求),然后发送包含HTML或XML文档的响应到浏览器。
采用这种方法,整个网页必须都在Java Servlet中制作。如果开发人员或者Web管理人员想要调整页面显示,就不得不编辑并重新编译该Java Servlet,即使在逻辑上已经能够运行了。采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。
很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当前方案所受到的限制,即:能够在任何Web或应用程序服务器上运行,将应用程序逻辑和页面显示分离,能够快速地开发和测试,简化开发基于Web的交互式应用程序的过程。
JavaServer Pages (JSP)技术就是被设计用来满足这样的要求的。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。太阳微系统公司(Sun Microsystems Inc.)开发出这个规范来整合和平衡已经存在的对Java编程环境(例如,Java Servlet和JavaBeansTM)进行支持的技术和工具。其结果是产生了一种新的、开发基于Web应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能。
1.2 Web应用开发的JavaServer Pages技术方法
在开发JSP规范的过程中,太阳微系统公司(Sun Microsystems Inc.)与许许多多主要的Web服务器、应用服务器和开发工具供应商,以及各种各样富有经验的开发团体进行合作。其结果是找到了一种为应用和页面开发人员平衡了可移植性和易用性的开发方法。
1.3 JSP技术在多个方面加速了动态Web页面的开发
1.3.1 将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
1.3.2 强调可重用的组件
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
1.3.3 采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。
当与Java 2平台,企业版(J2EE)和Enterprise JavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。
1.4 JSP页面看上去象什么?
JSP页面看上去象标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。通常,JSP元件创建插入最终页面的文本。
使用示例是描述JSP技术的最好方法。下面的JSP页面非常简单;它打印当年、当月的天,并且根据时间使用"Good Morning"和"Good Afternoon"对您表示欢迎。该页面结合了普通的HTML和大量JSP元件组成。
对时钟JavaBeans组件的调用
对一个外部文件的包含(用于著作权信息)
JSP表达式和脚本
<HTML>
<%@ page language=="java" imports=="com.wombat.JSP.*" %>
<H1>Welcome</H1>
<P>Today is </P>
<jsp:useBean id=="clock" class=="calendar.jspCalendar" />
<UL>
<LI>Day: <%==clock.getDayOfMonth() %>
<LI>Year: <%==clock.getYear() %>
</UL>
<% if (Calendar.getInstance().get(Calendar.AM_PM) ==== Calendar.AM) { %>
Good Morning
<% } else { %>
Good Afternoon
<% } %>
<%@ include file=="copyright.html" %>
</HTML>
这个页面包含下面这些组件:
一个JSP指示将信息传送到JSP引擎。在这个示例中,第一行指出从该页面即将访问的一些Java编程语言的扩展的位置。指示被设置在<%@和%>标记中。固定模板数据:所有JSP引擎不能识别的标识将随结果页面发送。通常,这些标识是HTML或者XML标识。在上面的例子中包括无序列表(UL)和H1标识。
JSP动作或者标识:这些通常作为标准或定制标识被实现,并且具有XML标识的语法。在这个例子中,jsp:useBean标识实例化服务器端的Clock JavaBean。
一个表达式:JSP引擎计算在<%==和%>标记间的所有东西。在上面的列表项中,时钟组件(Clock)的Day和Year属性值作为字符串返回,并且作为输出插入到JSP文件中。在上面的例子中,第一个列表项是日子,第二个是年份。
小脚本是执行不为标识所支持的功能或者将所有的东西捆绑在一起的小的脚本。JSP 1.0软件的内置脚本语言是基于Java语言的。在上面示例中的小脚本确定现在是上午还是下午,并且据此来欢迎用户。
这个例子可能小了一点,但是技术上却不是。从业务上可以将关键的处理封装在服务器端的组件中,并且Web开发人员能够使用熟悉的语法和工具很容易地访问这些信息。基于Java的小脚本提供了一种灵活的方式以执行其他功能,而不要求扩展的脚本语言。页面作为整体是可读和可理解的,这就使得查找或者预防问题以及共享工作更加容易。
1.5 JSP指示
JSP页面使用JSP指示将指令传递到JSP引擎。这其中包括:
JSP页面指示传递页面相关的信息,例如缓冲区和线程信息或者出错处理。
语言指示指定脚本语言,以及所有的扩展。
包含指示(在上面例子中有显示)可以被用来在页面中包含一个外部的文档。一个好的例子是著作权文档或者公司信息文档——在一个集中地点保存该文档并且在页面中包含比在各个JSP页面中更新要容易些。当然,被包含的文件也可能是另一个JSP文件。
标识库指示指出页面可以调用的一个客户标识库。
1.6 JSP标识
绝大多数JSP处理将通过与JSP相关的基于XML的标识完成。JSP 1.0中包含大量标准标识,这些标识作为核心标识包括:
jsp:useBean 这个标识声明对一个JavaBeans组件实例的使用。如果该组件的实例不存在,JavaBeans组件将实例化和注册这个标识。
jsp:setProperty 这个标识在组件的实例中设置一个属性的值。
jsp:getProperty 这个标识获取一个组件的实例的属性值,将其转化为字符串,并且将它放入隐含对象"out"中。
jsp:include 这个标识用于包含一个静态或动态文件。
jsp:forward 这个标识用于将JSP页面重定向到另一个HTML文件、JSP文件或者是一个程序段。
标识的好处在于它们易于在应用程序间使用和共享。基于标识的语法的真正威力来自于客户标识库的开发,使得工具供应商或其他人员能够为特定的要求创建和分派标识。
1.7 脚本元件
JSP页面可以在页面中包含小的脚本,称之为小脚本(scriptlets)。小脚本是一个代码片段,在请求的处理过程中被执行。小脚本可以和页面中的静态元件组合(正如上面的例子一样)起来创建动态生成的页面。
脚本在<%和%>标志中被描述。在这对标志中的所有东西都会被脚本描述语言引擎执行,在我们的例子中是主机上的Java虚拟机。JSP规范支持所有常用的脚本元件,包括表达式和声明。
1.8 JSP页面的应用模型
JSP页面由JSP引擎执行,引擎安装在Web服务器或者使用JSP的应用服务器上。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面给客户端的响应。
JSP页面通常被编译成为Java Servlet。后者是一个标准的Java扩展,在站点有更详细的描述。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。
当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlet类,并且存储在服务器的内存中。这使得在接下来的对该页面的调用有非常快的响应。(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题,或是服务器端引用所引起的运行时语法分析。)
JSP页面可以包含在多种不同的应用体系结构或者模型中。JSP页面可以用于由不同协议、组件和格式所组成的联合体中。下面的小节描述了一些可能发生的情况。
一个简单应用
在一个简单实现中,浏览器直接调用JSP页面,JSP页面自己生成被请求的内容(可能会调用JDBC直接从数据库中获取信息)。JSP页面能够调用JDBC或者Java BlendTM组件来生成结果,并且创建标准的HTML,作为结果发送回浏览器。
这个模型基本上用JSP页面(编译成为Java Servlet)代替了CGI-BIN概念。
这个方法拥有下列优点:简单而快速地编程;页面作者可以很容易地根据请求和资源状态生成动态内容;这个结构在许多应用上工作良好,但不能扩展到大量的基于Web的并发客户访问稀少的企业资源,因为每个客户必须建立或者共享一个到可用内容资源的连接。例如,如果JSP页面访问数据库,可能生成许多到数据库的连接,这将影响到数据库的性能。
1.9 使用Java Servlet的一个灵活的应用
在另一种可能的配置中,基于Web的客户机可能直接对Java Servlet进行请求,Servlet生成动态内容,将结果捆绑到一个结果对象中并且调用JSP页面。JSP页面从该对象中访问动态内容,并且将结果(例如HTML)发送回浏览器。
这个方法创建了更多的可以为应用程序间共享的可重用的组件,并且可以作为更大的应用的一部分完成。但是,在处理如数据库一样的企业资源的连接时,还是存在扩展性问题。
1.10 采用企业级JavaBean技术的可扩展处理
JSP页面也可以作为企业级JavaBean(EJB)体系结构中的一个中间层。在这种情况下,JSP页面和后端资源通过EJB组件进行交互。EJB组件管理对后端资源的访问,从而为众多的并发使用者提供可扩展的性能。对于电子商务或者其他应用,EJB管理交易和潜在的安全性。这将简化JSP页面。这个模型将为Java 2企业版(J2EE)平台所支持。
1.11 JSP页面与XML技术的集成
JSP页面可以用于生成XML和HTML页面。
对于简单的XML生成,开发人员可以包含XML标识和JSP页面的静态模板部分。对于动态XML生成,使用基于服务器的对象和生成XML输出的客户化标识。
JSP页面与XML工具不是不兼容的。尽管Sun在设计JSP规范时使得JSP页面即使手工操作对于创作者而言也是很容易的,JSP规范同时也提供了一个机制以便于创建任意JSP页面的一个XML版本。通过这种方法,XML工具能够创作和操作JSP页面。
通过将JSP标识和元件转换为与XML兼容的对等物,可以使用基于XML的工具来操作JSP页面。例如,脚本可以被包含在<%和%>之中,或者基于XML标志的<jsp:scriptlet>和</jsp:scriptlet>中。事实上,经过下面这样简单的几步将JSP页面转换为XML页面是可能的,这些步骤包括:
· 增加一个JSP根元件;
· 将元件和指示转换为XML兼容的对等物;
· 为页面上其他的元件(通常非JSP)创建CDATA元件;
通过这个与XML兼容的方法,创建HTML页面的设计者仍然拥有一个快速创建动态Web页面的易用环境,同时,基于XML的工具和服务可以与JSP页面集成并且和JSP兼容的服务器一起工作。
1.12 JSP技术的未来
JSP技术被设计为一个开放的,可扩展的建立动态Web页面的标准。开发人员可以使用JSP页面来创建可移植的Web应用,在不同的Web和应用服务器上为不同的场合所运
展开阅读全文