【Jsp精品源码栏目提醒】:网学会员为需要Jsp精品源码的朋友们搜集整理了【精品】JSP网站开发SQ论文(完整有图2.1万字) - 其它资料相关资料,希望对各位网友有所帮助!
基于 Java 的软件工程试验项目开发范例 ---基于
JSP 技术的网络书店原型的实现 The Development of Software Project Based on Software Engineering with Java ---The Implement of eBookStore Demo Based on
JSP 摘要本文将以在线电子书店为案例背景,详细介绍使用 JSPJava ServerPage 技 术 实 现 一 个 小 型 商 业 模 式 的 大 致 过 程 。
特 别 是 对 使 用JavaBean 技术提高软件复用度和在线销售管理系统中的关键模块的实现策略进行了较为详细的叙述。
关键词:Java
JSP JavaBean Cookie AbstractBased on the case of ebookstore this thesis introduced the procedure ofimplement a miniature commercial model with JSPJava Server Pageand especially talked about improving the rate of program’s reusingwith JavaBean and the implement strategy of the key module in theonline sale management system.Key
words: Java
JSP JavaBean Cookie 前言 我们的目的是使用软件工程方法探索开发一个软件项目, 作为软件工程课程的范例, 为今后的软件工程教学提供辅助。
项目的基本需求是建立一个可以同时为顾客(读者)和书店经营者(管理员)在
网络上提供服务的电子书店。
从项目的设计到实现的过程中,我们致力于以下三个方面的尝试: 软件工程方法的应用; 软件产品的实用意义; 面向对象思想的实践。
我们的开发团队共有四个人,依软件设计,实现进行了不同的分工。
我们设计出了原型,基本型,扩展型三种网站结构模型。
其中我们实现了原型的全部功能。
我主要负责网站原型的编码实现。
本文将以在线电子书店为案例背景,详细介绍我们使用 JSPJava ServerPage技术实现一个小型商业模式的大致过程。
特别是对使用 JavaBean 技术提高软件复用度和在线销售
管理系统中的关键模块的实现策略进行了较为详细的叙述。
此外本文还将把我们开发过程中的收获和经验作一阐述, 我想着对我们以后的工作学习都是有着很多益处的。
目录第一章 引言------------------------------------------- 4 1.1 项目的意义------------------------------------------------ 4 1.2 项目的描述------------------------------------------------ 5 1.3 开发技术的选择-------------------------------------------- 6 1.4 开发工具和运行环境---------------------------------------- 7第二章 项目相关知识介绍------------------------------- 8 2.1 软件工程-------------------------------------------------- 8 2.2
JSP------------------------------------------------------- 8 2.3 JavaBean-------------------------------------------------- 10第三章 网站原型设计和具体实现策略--------------------- 11 3.1 网站原型的设计成果---------------------------------------- 11 3.2 有关数据库设计的几点说明---------------------------------- 12 3.3 网站的关键部分实现策略------------------------------------ 13第四章
JSP 技术在网络书店开发中的应用------------------ 15 4.1
JSP 开发模型的选择----------------------------------------- 15 4.2 使用 JavaBean 提高代码水平---------------------------------- 15 4.3
JSP 中对 COOKIE 的使用-------------------------------------- 19 4.4
JSP 的中文问题的解决--------------------------------------- 20第五章 测试------------------------------------------- 21 5.1 网站测试------------------------------------------------- 21第六章 结束语----------------------------------------- 22 6.1 收获和体会------------------------------------------------ 22 6.2 项目的遗憾------------------------------------------------ 22 6.3 结束语---------------------------------------------------- 23感谢---------------------------------------------------- 24参考文献------------------------------------------------ 25附录---------------------------------------------------- 26 附录一:项目使用环境------------------------------------------ 26 附录二:电子书店安装和使用说明-------------------------------- 27 附录三:源文件功能说明清单------------------------------------ 28 附录四:
源代码------------------------------------------------ 31 附录五:翻译-------------------------------------------------- 36 第一章 引言 1.1 项目的意义 在计算机专业的教学中,软件工程是极为重要,也很特殊的一门课程。
它需要学生有较好的计算机基础理论知识做基础, 同时要具有探索精神和较强的动手能力;同时它也需要老师有深厚的实际开发经验和教学能力。
它对我们的教与学的两方面都提出了较高的要求。
很长时间以来,很多人都在对软件工程
课程的教学进行了很多的尝试。
我们的这个软件工程试验项目也正是在这方面的一种探索和研究。
我们试图脱离陈旧的单纯理论讲授的教学方式, 通过一个实际的软件开发过程,让学生在实际的应用环境中去
学习,体会,理解理论知识。
我们的这个项目就是要基于这个想法, 设计一个适合要求的软件课题,并开发出适合不同水平同学的软件范例。
我们想这有以下几个优点: 软件开发过程中要用到大学一年级到三年级中的大部分课程的知识,符 合软件工程课的综合性的特点。
教学过程(也就是开发过程)接近实际需要,可以有效的弥补教学与实 践的鸿沟,提高教学的质量。
需要学生自学大量新技术,新的方法,对学生的自学能力和探索精神是 一个很好的锻炼。
开发项目需要一个团队共同完成,可以培养学生良好的团队合作精神。
教学中对不同程度的同学提出了不同程度的目标要求,可以使各种水平 的学生都能够在这个过程中得到提高,有所收获,这也符合“因材施教” 的教育思想。
既然是一次教学尝试, 我们试图使用最新的技术和开发媒介来提高它的实用性和学生的兴趣。
电子商务的发展和互联网的广泛应用给我们提供了一些很好的启发。
我们知道,电子商务经过了一个“疯狂投资”的实验时代,现在已经进入了一个务实的阶段。
当今电子商务发展的重心已经完全由过去的.COM 的模式转向到传统企业的电子化的进程中来。
人们已经不再为是否进行电子化而苦恼,因为电子商务的大势已经不可逆转。
人们开始考虑应该从那里开始着手?哪些商业行为最适合首先电子化成了一个迫在眉睫的问题。
一些系统架构师小心翼翼,广泛论证, 在对企业自身运作机制的务实的仔细调研中,总结出了以下几种最有价值进行实施的电子商务应用: 企业门户Portal:企业门户与一般信息门户有本质的区别,企业门户 主要是为企业的重要客户、合作伙伴和自身的员工服务的。
它应当具有 个性化这里的个性化并不仅仅是页面,应当提供一系列的在线服务, 使得客户、合作伙伴和员工们得以使用企业门户获得必要的知识/信息, 得以通过企业门户与企业应用进行交互及事务处理。
网上连锁商店Storefront:为了拓展产品和服务的市场,拓广销售渠 道以及增加销售额,企业应当建立具有自身品牌标识的网上连锁商店。
这里需要注意的是,所谓网上连锁商店并不是说使用各种语言在各个国 家分别建立网上商店,这只是其中的一个形式,更多的方式应当是将企 业的网上商店能够加入到各种各样的网上实体中,比如门户网站、行业 交易市场e-Marketplace、都市引擎等,使企业的销售渠道遍布整个 Web 空间。
集团内联网Intranet与知识库Knowledge Base:集团的全球内联网 能够使企业的雇员可以在全球范围内进行有效的交流和协作,充分利用 企业的全球资源,以提升整体的生产力。
集团的知识库能够为员工的协 作提供丰富有效的工作中所需要的知识,以最大可能地提高员工的单位 产出。
供应链Supply Chain管理:为提升企业的整体竞争力,企业往往需要 保持并提升自身与其供应商的关系,采取流水线形式的采购方式并尽量 减少运作成本,而要做到这一点,则必须要创建私有的交易通道和供应 链关系的电子商务应用才能达到这一目标。
客户服务Customer Service:通过建立这样的面向客户的服务门户或 自助式销售网站能够实现跨区销售,提升客户的亲近程度和满意程度, 并减少服务成本。
分销Distribution管理:建立分销管理应用能够使企业迅速地拓展分 销渠道并挖掘新的市场机会。
同时,企业还能裁减培训成本、服务成本 和产品分销成本,并减少仓储费用。
提供 ASPApplication Service Provider服务:通过在 Web 上部署 ASP 服务,企业能够获得新的额外的收入。
而提供的 ASP 中的 AApplication 应当是企业核心竞争力的数字化表现,一般情况下,其范围可能就包含 了前面提到的 6 种电子商务应用中的 5 种:企业门户、网上连锁商店、 供应链管理、客户服务以及分销管理。
分析以上各种模式, 不难看出数量众多的中小企业将在未来的电子商务中扮演重要的角色。
一方面,它们凭借较小的规模,更灵活的经营模式,经过较小的投资就可以取得较明显的经济利益; 另一方面,电子商务无疑为众多苦于受到大企业的长期垄断而发愁的中小企业指出的一条新路。
只要它们把握好市场机会,找准自身的优势,在这场崭新的市场博弈中以弱胜强也不再是天方夜谭。
我们的实验项目正是借此良机, 以建立一个网上电子书店作为范例, 这不仅在教学上有意义,而且也可以为中小企业的电子商务作了一些初步的尝试。
1.2 项目的描述 我们假定的本项目的需求方是一个小型的书店连锁店,目前依靠人工方式经营。
它有着固定的进货渠道和稳定的顾客群,书店的经营业绩一直很稳定,但也一直没有突破。
店主基于增加用户群和加强书店管理的考虑,决定购买一套电子书店的解决
方案以使现有的销售模式最大程度的电子化。
经过对连锁书店的传统商业模式的分析,我们发现连锁书店有以下的主要核心业务活动: 售书(包括零售和团体订购) 图书查询 进书 账务处理 库存控制 我们都有在书店买书的经验,这种传统的店面售书方式有以下几方面缺点:首先,这种模式销售受地域的限制明显,业务发展到一定程度就有了很难逾越的瓶颈;其次,对顾客的服务明显不足,用户获取图书的信息依赖于读者的主动购买行为,不能主动向读者“推”出销售的信息;再此,书店对顾客的消费行为缺乏有效的统计分析行为。
不难发现,这中间的关键问题就是信息的问题。
电子商务能很好的解决这一问题。
针对
问题,我们设计了以下几点改进: 我们将在互联网架设电子书店系统,售书和管理全部电子化,同时扩大 了书店服务覆盖面; 我们为书店建立用户信息数据库,记录用户的一些对商家有用的信息; 减少书店的售书和管理人员(我们的系统假设为一人) ,增加送书服务;此外我们还希望通过这个系统向客户提供几项服务功能: 提供
会员制服务 更快捷的邮购服务 更全面的实时图书信息
查询 我们希望在这种项目背景下,设计出不同程度的三种模型(原型,基本型,扩展型)。
1.3 开发技术的选择 几种流行的动态网页制作语言的比较现在 Internet 越来越成为生活中不可或缺的一部分,制作网页的动态语言也越来越多,主要流行的有以下几种,ASPPHP 和
JSP他们之间互有优缺点,下面对它们作了一下比较浅显的比较。
ASP 由于其简单功能实用等方面受到广大开发者的喜爱, 再加上微软的强有力支持,可以说是时下做动态网站最为流行的语言,他借助微软的 COM 技术,几乎可以实现在 Client/Server 间能够实现的所有功能, 可以说确实具有相当的竞争力。
ASP 的代码实现也很简单,微软提供的 InterDev 在 RAD 的基础上,使
Asp 的开发一夜之间火遍了大江南北。
但是他的缺点是,由于微软自身利益,他只能运行在微软的平台上,因此在跨平台方面存在致命缺陷。
PHP 则是秉承 Linux 的 GUN 风格,借助与
源码公开,使他迅速成为世界上目前应用最为广泛的站点制作语言之一。
借助与 C的形式,引用类的概念,使得代码的可重复性应用变的异常简单。
加上他和 LinuxApache 和 MySql 的紧密配合,关键性的应用也没有问题(有名的 Sina 就是采用 Php) 。
但是他有一个比较大的麻烦,就是没有一个非常有实力的公司专门给他做支持。
JSP 是 Sun 公司推出的新一代站点开发语言,他完全解决了目前 ASP
PHP的一个通病--脚本级执行。
将 Sun 公司借助自己在 Java 上的不凡造诣, Java 从
Java 应用程序 和 Java Applet 之外,又有新的硕果,就是
Jsp(Java Server 。
Page)
Jsp 可以在 Serverlet 和 JavaBean 的支持下,完成功能强大的站点程序。
下表是对三种技术的比较: 表 1-1 三种常见的动态网页技术的对比表 技术名称 ASP
JSP PHP 对数据库的支持 好 好 好 开发难易程度 容易 容易 不详 使用平台 Windows9X/NT Windows/UNIX UNIX主要 安全性 不好 好 不详 对组件的支持 支持 支持 不支持 执行方式 解释执行 编译之后执行 解释执行 跨平台 不好 好 好 1.4 开发工具和运行环境开发工具:UltraEdit Dreamweaver MX(另外 JBuilder 的帮助
文档也是我受益匪浅)运行环境:Windows 2000 pro Access XP Resin2.0 这里特别要指出的是在众多的支持
JSP 的服务器软件中,Resin 的速度是编译运行速度是最快的,而且安装极其简单,这是我们选用它的主要原因。
下图为 Resin 的运行界面。
图 1-1 Resin 的控制窗口 图 1-2 Resin 的运行窗口 第二章 项目相关知识介绍这一章我们将对在本项目中使用的软件工程和
JSP 技术作一简介,如果您对这些比较熟悉,请跳过这一章。
2.1 软件工程 软件已经成为继与
计算机的
系统及产品的关键组成成分。
在过去 40 年中,
软件已经从特定的问题解决和信息分析工具演化为一门独特的产业。
但早期的“软件
设计”文化和历史产生了一系列至今还存在的问题,软件已经成为计算机系统演化过程中的阻碍因素。
软件是由程序数据和
文档组成。
这些条目构成了软件工程过程中的配置项, 而软件工程的目的就是为建造高质量的软件提供一个框架。
简单的说,软件工程就是为了
经济的获得可靠的和能在实际机器上高效运行的软件而建立和使用的好地工程原则。
软件业的发展,使得传统的软件方法已经不适应软件的开发与维护的需要,迫切需要采用工程的概念、原理、技术和方法来规范软件的开发与维护过程。
软件工程是一种过程化的技术。
软件工程遵循七条基本原理: 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格产品控制 采用现代程序设计技术 结果应能清楚的审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性 软件工程的传统途径: 它使用生命周期方
法学和各种结构分析和结构设计技术。
一般来说,软件生命周期由软件定义、软件开发和软件维护三个时期组成。
其中,软件定义时期又可分为问题定义,可行性研究和需求分析;软件开发时期又可以分为总体设计,详细设计,编码和单元测试,综合测试。
根据这种基本原理,人们设计出很多适合不同情况的基本模型。
其中使用最广的是瀑布模型和快速原形模型。
我们在本次
毕业设计中将采用快速原型法开发。
2.2 JSP
JSP 技术的出现 JavaServer PagesTM
JSP技术为创建显示动态生成内容的 Web 页面提供了一个简捷而快速的方法。
JSP 技术的设计目的是使得构造基于 Web 的应用
程序更加容易和快捷,而这些应用程序能够与各种 Web 服务器,应用服务器,浏览器和开发工具共同
工作。
JSP 规范是 Web 服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。
太阳微系统公司Sun Microsystems Inc.开发出这个规范来整合和平衡已经存在的对 Java 编程环境(例如,Java Servlet 和JavaBeansTM)进行支持的技术和工具。
其结果是产生了一种新的、开发基于 Web应用程序的方法, 给予使用基于组件应用逻辑的页面设计者以强大的功能。
在开发
JSP 规范的过程中,太阳微系统公司Sun Microsystems Inc.与许许多多主要的 Web 服务器、应用服务器和开发工具供应商,以及各种各样富有经验的开发团体进行合作。
其结果是找到了一种为应用和页面开发人员平衡了可移植性和易用性的开发方法。
JSP 技术的特点
JSP 技术在多个方面加速了动态 Web 页面的开发: 1.将内容的生成和显示进行分离。
使用
JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和 格式化最终页面。
使用
JSP 标识或者小脚本来生成页面上的动态内容 (内 容是根据请求来变化的, 例如请求帐户信息或者特定的一瓶酒的价格)。
生成内容的逻辑被封装在标识和 JavaBeans 组件中,并且捆绑在小脚本 中,所有的脚本在服务器端运行。
如果核心逻辑被封装在标识和 Beans 中,那么其他人,如 Web 管理人员和页面设计者,能够编辑和使用
JSP 页面,而不影响内容的生成。
在服务器端,
JSP 引擎解释
JSP 标识和小 脚本, 生成所请求的内容 (例如, 通过访问 JavaBeans 组件,使用 JDBCTM 技术访问数据库,或者包含文件),并且将结果以
HTML(或者 XML)页 面的形式发送回浏览器。
这有助于作者保护自己的代码,而又保证任何 基于 HTML 的 Web 浏览器的完全可用性。
2.强调可重用的组件。
绝大多数
JSP 页面依赖于可重用的,跨平台的组件(JavaBeans 或者 Enterprise JavaBeansTM 组件)来执行应用程序所要求的更为复杂的处 理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件 为更多的使用者或者客户团体所使用。
基于组件的方法加速了总体开发 过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得 到平衡。
3.采用标识简化页面开发。
Web 页面开发人员不会都是熟悉脚本语言的编程人员。
JavaServer Page 技术封装了许多功能,这些功能是在易用的、与
JSP 相关的 XML 标识中 进行 动 态内 容 生成 所 需要 的 。
标 准的
JSP 标 识能 够 访问 和 实例 化 JavaBeans 组件,设置或者检索组件属性,下载 Applet,以及执行用其 他方法更难于编码和耗时的功能。
4.通过开发定制化标识库,
JSP 技术是可以扩展的。
今后,第三方开发人员和其他人员可以为
常用功能创建自己的标识库。
这使得 Web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特 定功能的构件来工作。
JSP 技术很容易整合到多种应用体系结构中,以 利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。
作 为采用 Java 技术家族的一部分,以及 Java2(企业版体系结构)的一个 组成部分,
JSP 技术能够支持高度复杂的基于 Web 的应用。
由于
JSP 页 面的内置脚本语言是基于 Java 编程语言的.