【Jsp精品源码栏目提醒】:网学会员为广大网友收集整理了,WEB的应用系统【毕业论文,绝对精品】 - 毕业设计,希望对大家有所帮助!
引言 如今 IT 行业涌现出一大批能够构建 WEB 的应用系统、支持动态处理的程序设计技术,例如 ASP、CGI、PHP 等等。
在这个年代,新技术和新的程序开发软件层出不穷,可谓是“百家争鸣”。
20 世纪末才匆匆登场的 Java Server Page
JSP 技术,一出世就吸引了世界各大软件开发商和程序设计者的浓厚兴趣,表现出无比强大的生命力。
由于 Java Server Page(
JSP)技术不但能够实现跨平台和兼容各种 WEB 服务器产品,而且还把强大的服务器端的 JAVA 技术(server-side Java technology)有机地融合到了 HTML 网页的构造中去。
因此,利用 Java Server Page(
JSP)技术可以建立先进、安全和跨平台的动态网站。
JSP 技术似乎天生就是针对电子商务网络的高效的跨平台实现而服务的,天生就具有一种革命性。
正是这种天生的革命性,使得它一出生就受到无比的青睐,如今
JSP 的各种应用和开发正如火如荼;也正是因为
JSP 技术的这种跨时代的革命性的特点,配合着贸易的全球化和电子商务应用的普及化,所谓“时势造英雄”,
JSP 技术在这种背景下应运而生,使得它越来越成为构建新一代电子商务模式的利剑。
Java Server Page
JSP 是目前十分流行的一种技术主要运行于开发服务端的脚本程序和动态生成网站的内容。
它与目前同样流行的 ASP 技术 PHP 技术是同样性质的,同一层次的。
它们在网站的建设中所起到的作用是一样的。
但是
JSP 技术与后面两种技术相比有着十分突出的优越性。
关于
JSP 技术与 ASP 技术
PHP 技术的比较,我们在正文中另有论述。
Java Server Page
JSP 技术是由 Sun Microsystem 公司于 1999 年 6 月推出的新技术,由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。
是基于 Java Servlet 以及整个 java 体系的 Web 开发技术,是 Servlet2.1 API的扩展。
1 概述1.1 背景及意义 对电子商务狭义的理解或者对电子商务急功近利的盲目随从,都可能忽略电子商务的潜在的战略意义。
仅靠风险投资和“注意力
经济”带来的微薄广告收入是不够的。
如果没有以一个稳定交易量的市场为依托,电子商务网站将蜕变为新闻媒介和网上广告公司。
如果网站不能使主要的关联参与者建立稳定、信用、依赖的战略伙伴关系,这些主要参与者随时都有可能退出网站。
网站兴衰将依赖其核心参与者的竞争能力,网站应是一个企业开展电子商务活动、支持和促进产品创新、技术创新和管理创新的战略联盟、培育参与者长期竞争优势的支撑平台。
近年来,我国有不少商家看到了电子商务市场的巨大发展前景并积极投身其中,但是状况却并不令人满意。
除了寥寥几个网站能够达到收支平衡外,大多数网站还是处于惨淡经营的局面,其中从事在线销售的更是没有一家能够逃脱亏损的命运。
之所以出现这种局面,除了网站用户还比较少,网上市场远未达到规模容量,缺乏网上支付手段,缺乏法律的监管等外部因素外,是不是还有一些企业本身的内在缺陷影响着网站的运营呢?具体的竞争优势 在线商品要从现实世界的商业原形手中夺取市场份额,必须在网站上提供价值独一无二的商品和服务。
因为对于在线商店来说,它只有唯一的销售渠道——互联网。
而对于浏览网站的人来说,在线购物不过是他们采购商品的许多方式中的一种。
如果在线购物方式没有给他们带来诸如节约金钱、节约时间、提供便利的服务等商业价值,要想使人乐于在网上采购,恐怕只是一厢情愿的事。
如何做到提供这样的商品和服务呢?国内的绝大多数从事在线销售网站的做法,都是简单地把现实中的那一套商业流程照搬到网上去,简单地把流程互联网化。
这种照搬传统商业流程到网站上去的做法是没有竞争力的。
既然要在虚拟的商业环境中开展销售,就必须把商品和服务进行网络化,即对传统商业流程的价值链进行调整,必要时甚至重组价值链。
进行这种革新的目的,是建立一个比传统商业模式成本更低、效率更高的互联网商业模式。
这是在线销售企业竞争取胜的关键。
创新的过程给在线销售企业提供了一个最大的自主权,也是其发挥创造性和革新性的最佳机会。
一个成功的在线销售企业往往就是从这里开始构筑起竞争优势的。
改进电子商务网站的良方 选择合适的行业和商品。
对于采用吸引访问者方式的网站来说,合适的商品不仅仅包括搜索引擎、新闻、网上调查、论坛、免费邮件、免费个人主页等项目。
因为这些项目很容易被模仿,也很容易流于形式。
关键的商品和服务在于给访问者提供一切可能的主动权,让他们参与到网站的建设中,成为网站的主人。
换句话说,就是让网站的访问者成为网站提升商业利益和商业价值的主要推动力。
凡是能达到这个目的的一切商品和服务都是最合适的。
值得注意的是,互联网是在不断发展的,它介入到消费者生活中的程度也越来越深,这是一个动态的过程。
相应的,在不同的发展阶段,刺激访问者参与网上交易的商品和服务也不能一成不变。
在电子商务网站发展的初期,新的用户占大多数,他们共有的特点是缺乏主动性,是信息的被动接受者。
提供
免费邮件服务,提供
网络导航服务,提供便利获取信息,就成为这个阶段的合适商品。
当电子商务网站发展到一定程度后,用户开始对主动权产生要求。
发展虚拟社会关系、发展网上人际交流、有选择地吸收信息成为用户的需求。
虚拟社区、讨论组、聚集专业化信息等手段也应运而生。
需要再次强调的是,一切手段的真实目的是交给访问者所需要的权力,这样才能吸引他们积极参与,使他们对网站拥有高度忠诚性和责任感。
同时,网站的开发亦应采用较为先进的技术. 我的
毕业设计之所以选了这个课题,就是想进一步熟悉
JSP 技术在电子商务领域的实际应用,从而通过这个系统来了解
JSP 的整个工作原理,熟练掌握
JSP 技术,为自己以后朝着 J2EE 方向发展打下一个良好的基础。
1.2
毕业设计要求 使用
JSP 和 JavaBean 实现用户注册,登录,购物,下订单等功能。
另外,可以对网站进行管理,包括对库存商品数据的查询、添加、删除和修改,对商品的状态进行控制状态决定了商品在页面中的显示位置,对顾客交易数据的查询和删除等操作。
本系统前台使用
JSP 编程,而有关商品数据信息等放置到数据库中(本系统使用的是 Mysql 数据库),采用 Browser/Web Server/Database Server 三层数据库模型,通过JavaBean 从数据库中取得数据,然后显示在 Web 上。
1.3 所用关键技术介绍 所用主要技术为
JSP 技术、数据库和 Browser/Web Server/Database Server 三层数据库模型,同时也使用了 JavaScript。
1.3.1
JSP 技术概观 JavaServer Pages 技术可以让 web 开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统。
作为 JavaTM 技术的一部分,
JSP 能够快速开发出基于web、独立于平台的应用程序。
JSP 把用户界面从系统内容中分离开来,使得
设计人员能够在不改变底层动态内容的前提下改变整个网页布局。
那么什么是 JavaServer Page 呢简单的说,一个
JSP 网页就是在 HTML 网页中包含了能够生成动态内容的可执行应用程序代码。
此应用程序可能包含 JavaBeanTM,JDBCTM对象,Enterprise Java BeanTM EJB和 Remote Method Invocation RMI对象,所有的部分都可以非常容易的从
JSP 网页上访问到。
例如,一个
JSP 网页可以包含 HTML 代码所显示的静态文本和图像,也可以调用一个 JDBC 对象来访问数据库;当网页显示到用户界面上以后,它将包含静态 HTML 内容和从数据库中找到相应的动态信息。
在
JSP 网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间执行一个非常方便的授权任务。
它也允许开发人员去建立灵活的代码,从而非常容易的进行更新和重复利用。
由于
JSP 网页能够根据需要自动进行编译,
web 设计人员无须重新编译应用程序逻辑就可以改变表述代码。
这也使得
JSP 与 Java servlet(它是JavaSever Pages 功能的扩展)相比成为一种可以更灵活生成动态 web 内容的方法。
1.3.2 JavaBean 介绍 这里不再对
JSP 的基础知识做简单介绍。
由于在我的毕业设计中使用了大量的JavaBean,所以在此简单介绍一下 JavaBean: 虽然可以把大段的代码放在脚本片段(scriptlet)内,但是绝大多数的
Java 代码属于可重复使用的名为 JavaBean 的组件。
JavaBean 类似于 ActiveX 控件:他们都能提供
常用功能并且可以重复使用。
JavaBean 的值是通过一些属性获得的,你可通过这些属性访问 JavaBean 设置。
以一个人来打比方,这个人就是一个 JavaBean,这个人的名字、身份证号码以及住址就是其属性。
在
JSP 网站,你基本上就是通过“Connect the beans”来使你的网站动态化。
假设 JavaBean 先于网站被创建出来,你需要做的第一件事就是告诉
JSP 页面它将要用到一个“Bean”。
你可以用“ltjsp:useBeangt”标记来做到这一点: ltjsp:useBean idquotlocalNamequot classquotcom.jguru.Personquot scopequotapplicationquot /gt。
“ltjsp:useBeangt”标记要求你用“id”属性来识鉴别 Bean。
这里你提供一个名字来
JSP页面其余部分的 Bean。
除了“id”属性,你还须告诉网页面从何处查找 Bean,或者它的 Java 类别名是什么。
这种类别属性提供确 认 Bean 的功能,其他一些方法也可以做到这一点。
最后一个必需的元素是“scope”属性。
有了“scope”属性的帮助,你就能告诉 Bean 为单一页面(默认情况)scopequotpagequot、为scopequotrequestquot请求为会话scopequotsessionquot,或者为整个应用程序scopequotapplicationquot保持留信息。
有了会话范围,你就能非常容易地在
JSP 网页面上维护购物车等项目。
一旦声名了一个 JavaBean,你就可以访问它的属性来定制它。
要获得属性值,请用“ltjsp:getPropertygt”标记。
有了这个标记,你就能指定将要用到的 Bean 名称(从useBean 的quotidquot字段得到)以及你想得到其值的属性。
实际的值被放在输出中:ltjsp:getProperty idquotlocalNamequot propertyquotnamequot /gt。
要改变 JavaBean 属性,你必须使用“ltjsp:setPropertygt”标记。
对这个标记,你需要再次识别 Bean 和属性,以修改并额外提供新值。
如果命名正确,这些值可以从一个已提交的表中直接获得:参数获得:ltjsp:setProperty idquotlocalNamequot propertyquotquot /gt可以从一个参数获得,但你必须直接命名属性和参数:ltjsp:setProperty idquotlocalNamequot propertyquotserialNumberquot valuequotstringquot /gt 或者 直 接 用 一 个 名 字 称 和 值 来 设 置 : ltjsp:setProperty idquotlocalNamequotpropertyquotserialNumberquot value lt expression gt /gt.关于 JavaBean 的最后一件事: 为了 Web 服务器能找到 JavaBean,你需要将其类别文件放在一个特殊位置。
我将 JavaBean 全部放在 rootWEB-INFclassesmyshop 目录下。
1.3.3 三层 B/S 模式介绍 B/S 体系即浏览器/服务器(Browser/Server)体系。
在 B/S 的系统中,用户可以通 B/S过浏览器向分布在网络上的许多服务器发出请求。
结构极大的简化了客户机的工作,客户机上只需安装.配置少量的客户端
软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
B/S 体系的优点是,系统安装维护简便。
数据集中管理.便于分散用户使用,适应互连时代软件的发展趋势。
传统的二层 C/S 结构存在以下几个局限: 1 它是单一服务器且以局域网为中心的所以难以扩展至大型企业广域网或Internet 2 受限于供应商 3 软、硬件的组合及集成能力有限4 难以管理大量的客户机。
因此三层 B/S 结构应运而生。
三层体系即客户端浏览器.应用服务器和数据库。
这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。
由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子quot苗条quot了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为
程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新
工作。
这种三层结构层与层之间相互独立,任何一层的改变不影响其它层的功能。
在本系统中,应用服务器采用的是 resin,后台数据库服务器采用的是 MySQL 数据库,具体将在下面系统设计中详细介绍。
三层 B/S 结构是将应用功能分成表示层、功能层和数据层三部分。
其解决
方案是:对这三层进行明确分割并在逻辑上使其独立。
原来的数据层作为 DBMS 已经独立出来所以关键是要将表示层和功能层分离成各自独立的程序并且还要使这两层间的接口简洁明了。
值得注意的是:三层 C/S 结构各层间的通信效率若不高即使分配给各层的硬件能力很强其作为整体来说也达不到所要求的性能。
此外设计时必须慎重考虑三层间的通信方法、
通信频度及数据量。
这和提高各层的独立性一样是三层 B/S 结构的关键问题。
三层 B/S 结构的优点1. 具有灵活的硬件系统构成 对于各个层可以选择与其处理负荷和处理特性相适应的硬件。
这是一个与系统可缩放性直接相关的
问题。
例如最初用一台 Unix 工作站作为服务器将数据层和功能层都配置在这台服务器上。
随着业务的发展用户数和数据量逐渐增加这时就可以将 Unix工作站作为功能层的专用服务器另外追加一台专用于数据层的服务器。
若业务进一步扩大用户数进一步增加则可以继续增加功能层的服务器数目用以分割数据库。
清晰、合理地分割三层结构并使其独立可以使系统构成的变更非常简单。
因此被分成三层的应用基本上不需要修正。
2. 提高程序的可维护性 三层 B/S 结构中应用的各层可以并行开发各层也可以选择各自最适合的开发语言。
3. 利于变更和维护应用技术规范 因为是按层分割功能所以各个程序的处理逻辑变得十分简单。
4. 进行严密的安全管理 越关键的应用用户的识别和存取权限设定愈重要。
在三层 B/S 结构中识别用户的机构是按层来构筑的对应用和数据的存取权限也可以按层进行设定。
例如即使外部的入侵者突破了表示层的安全防线若在功能层中备有另外的安全机构
系统也可以阻止入侵者进入其他部分。
此外系统管理简单可支持异种数据库有很高的可用性。
1.3.4 JavaScript 简介 JavaScript 是 一 种 基 于 对 象 和 事 件 驱 动 并 具 有 安 全 性 能 的 脚 本 语 言 , 有 了JavaScript,可使网页变得生动。
使用它的目的是与
HTML 超文本标识语言、Java 脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。
它是通过嵌入或调入在标准的 HTML 语言中实现的。
JavaScript 是一种基于客户端浏览器的语言,用户在浏览中填表、验证的交互过程只是通过浏览器对调入 HTML
文档中的 JavaScript
源代码进行解释执行来完成的,即使是必须调用 CGI 的部分,浏览器只将用户输入验证后的信息提交给远程的服务器,大大减少了服务器的开销。
本系统中主要使用 JavaScript 来完成客户端验证,以减少服务器开销。
例如,对用户
注册或管理员发表文章、商品时的数据进行验证,对删除等不可恢复的操作给予提醒,对某些操作提示操作是否成功。
1.3.5 Mysql 数据库简介 MySQL 是一个多用户、多线程的 SQL 数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序 my
sqld 和很多不同的客户程序和库组成。
SQL Structured Query Language 结构化
查询语言是目前使用最广的并且是标准的数据库语言。
SQL 语言使得存取或更新信息变得十分容易,你可以直接使用 SQL 从网站上查询信息。
MySQL 的快速和灵活性足以满足一个网站的信息管理工作。
数据库与用户端之间的接口程序可以使用 CGI 进行通信。
很多网站使用的是
JSP,使用 PHP 和 MySQL这两样东西加在一起,对于开发数据驱动的网站这项工作而言是非常不错的组合。
JSP是一种用于服务器端执行程序解释的脚本语言。
如果你接触过 ASP 的话,那么您对于在HTML 页面中嵌入代码应该是比较熟悉了。
JSP 代码在服务器一端被解释、执行并转变成普通的 HTML 页面内容,送给浏览器一端。
这种模式使得我们可以用它来完成相当复杂的功能。
为什么用 MySQL? 现在每一个人的生活几乎都离不开数据库,如果没有数据库,很多事情都会变得非常棘手,也许根本无法做得到。
银行、大学和图书馆就是几个严重依赖数据库系统的地方。
在互联网上,使用
搜索引擎、在线购物甚至是访问网站地址http://www...都离不开数据库。
一个数据库通常都安装在称为数据库服务器的
计算机上。
目前市场上运行最快的 SQL Structured Query Language 结构化查询语言 数据库之一就是 MySQLServer,而且 MySQL 对于商业和个人用户是免费的。
MySQL 的功能特点如下: 可以同时处理几乎不限数量的用户; 处理多达 50000000 以上的记录; 命令执行速度快,也许是现今最快的; 简单有效的用户特权系统。
也正是由于以上原因,我也选用了 Mysql 数据库。
2 需求分析2.1 系统所实现的功能 本系统具备一般网站的所有功能。
此外,对于一般用户可以浏览该网站上的各种商品,也可通过注册成为会员。
会员登录网站后,可以将自己感兴趣的商品放入自己的收藏夹,并且能对收藏夹中的商品进行管理(从收藏夹中删除、加入购物车)。
一个用户对应一个收藏夹,每次登陆都可以查看自己收藏夹。
也可以将商品加入购物车中,并在购物过程中对购物车中的商品进行管理(例如,将已加入购物车中的商品删除、修改其数量等)。
购物车界面列出已选商品的名称,单价,书目,以及 组后的总价等。
用户都可以对网站中的具体商品发表评论,发表的内容将显示在商品的下面。
也可通过电子邮件与网站管理员联系,向其反应意见或提供建议。
同时,设置了一个咨询或投诉页面。
点击页面中的图标即可通过 Internet 与管理员进行语音交流,包括咨询或者向商家投诉。
会员用户可以修改自己的资料。
系统将记录每位会员的登录次数,并在会员登录给予显示。
未
登陆的用户如果要查看购物车和收藏夹,系统会自动转到登陆页面,提醒其登录。
网站管理员分超级管理员和普通订单管理员。
订单管理员只能对用户下的订单进行管理。
超级管理员功能则如下:a 对用户进行管理,可删除会员。
b 可对商品货架(即:商品分类)进行管理,包括添加、修改和删除。
c 可对商品进行管理,包括添加、修改、删除、修改商品的状态。
d 可以对本网站的各个栏目进行管理,包括添加、修改和删除。
e 可以对订单管理员和超级管理员进行管理,包括创建帐号、修改帐号、和删除帐号。
f 可以上传栏目下的文章,并对其进行管理。
g 可以对留言进行删除。
其中对于一些不可以恢复的删除、修改等操作,都将用 JavaScript 给予提示。
确 定是否进行该操作。
2.2 采用技术和具体的环境配置 本系统主要使用
JSP 技术,C/S 三层结构。
Web 服务器选用 Apache,应用服务器采用 Resin,后台数据库则采用 Mysql 数据库,java 环境为 JDK1.4.1。
主要使用 EditPlus和 DreamWeaver 来编辑程序和设计页面。
由于
JSP 的环境配置比较混论,所以这里介绍一下本系统环境配置,如下: a 安装 JDK14 1 、运行 j2sdk-1_4_0_01-windows-i586.exe 后,设置安装路径为:c:jdk14 2 、增加 CLASSPATH 和 JAVA_HOME 两个环境变量,修改 PATH 环境变量。
鼠标右击“我的电脑”,选择“属性”,选择“高级”,选择“环境变量” 后,在系统变量下选择“新建”。
在“新建系统变量”对话框中输入变量名:CLASSPATH,在变量值处输入: c:jdk14libdt.jarc:jdk14libc:jdk14jre. 3、统变量”对话框中输入变量名:JAVA_HOME,在变量值处输入: c:jdk14 4、系统环境变量内找到 PATH 变量,双击后,在“编辑系统变量”对话框中 的变量值后增加:c:jdk14bin b)安装 APACHE 1 、运行 apache_1.3.26-win32-x86-no_src.exe 后,设置安装路径为: c: 2 、修改 APACHE 的配置文件:c:apacheconfhttpd.conf 在 e 盘建立目录 root e:root 找到 301 行 DocumentRoot quotC:/Apache/htdocsquot 改为 DocumentRoot quote:/ rootquot 找到 326 行ltDirectory quotC:/Apache/htdocsquotgt改为ltDirectory quote:/ rootquotgt 找到 335 行 Options Indexes FollowSymLinks MultiViews,在该行后增加 Includes 使 APACHE 支持 SSI 找到 830 行 AddType text/html .shtml AddHandler server-parsed .shtm 将这两行修改为: #AddType text/html .html #AddHandler server-parsed .html #AddType text/html .htm #AddHandler server-parsed .htm c)安装 RESIN 1 、双击 resin-2.1.4.zip 文件,选择解压路径 c: 2 、将 C:resin-2.1.