当前位置:文档之家› 基于MVC设计模式的Java Web应用对网上购书系统的设计与实现毕业论文

基于MVC设计模式的Java Web应用对网上购书系统的设计与实现毕业论文

基于MVC设计模式的Java Web应用对网上购书系统的设计与实现毕业论文目录1.绪论 (1)1.1课题背景 (1)1.1.1 网上书店系统发展 (1)1.1.2 网上书店系统发展现状 (2)1.1.13 网上书店发展的优越性 (2)1.2 课题目的与意义 (3)2.MVC设计思想 (4)2.1 MVC设计思想概论 (4)2.1.1 MVC中的M组件 (4)2.1.2 MVC中的V组件 (4)2.1.3 MVC中的C组件 (5)2.1.4 MVC中各组件的关系 (5)2.2.1 使用MVC设计模式的优点 (6)2.2.2 MVC设计模式的好处 (7)3.系统总体设计和系统功能概述 (8)3.1.1 系统设计目标 (8)3.1.2 JavaBean的任务 (8)3.1.3 JavaBean的设计目标及如何被实现 (9)3.2 系统功能概述 (11)3.2.1 用户登陆系统和用户注册系统 (11)3.2.2 智能化的辨认功能 (11)3.2.3 图书查询功能 (11)3.2.4先进的购书流程 (12)3.2.5 操作过时管理功能 (12)3.2.6 人性化的操作界面 (12)4.系统的详细设计和实现 (12)4.1.1 JavaBean开发环境 (12)4.1.2 确定书和购物车的属性 (13)4.1.3 事先封装好所有可能出现的误操作 (15)4.14 Http会话 (17)4.1.5建立Session (17)4.2 注册登陆系统的设计和实现 (18)4.3 智能化辨认功能的实现 (23)4.4 查询功能的实现 (25)4.5 购书系统的实现 (27)5.关键技术的介绍 (33)5.1 Servlet (33)5.1.1 Servlet的解析和载入 (33)5.1.2 Servlet的初始化 (33)5.1.3 Servlet的多线程和映射 (34)5.1.5 Servlet的映射技术 (35)5.1.6 Servlet的环境 (35)5.2 JDBC技术 (36)5.2.1 JDBC工作机制 (36)5.2.2 JDBC API (37)5.2.3 JDBC的优点和缺点 (38)5.3 JavaBean技术 (39)5.3.1 JavaBean概述 (39)5.3.2 JavaBean和企业Bean的区别 (39)5.3.3 JavaBean的发展 (39)5.3.4 JavaBean的需求 (39)结论 (40)谢辞 (40)参考文献 (42)1.绪论1.1课题背景1.1.1课题来源Java这门课程是大学的一门专业课,学的时候十分感兴趣,但毕竟学校里学的真正能运用到实际商业工作中的东西很少。

我在实习公司的实习职务就是Java开发人员。

由于公司正在帮助另外一家公司开发一个网上购物系统,所以最近在公司前辈那学到这一方面的知识比较多一点,同时感觉这样一个系统的实用性很大,所以决定以此来定我的毕业设计课题。

当然,网上购物是一个很大的系统,对于毕业设计来说太大而且开发时间过长,并不可能靠我一个人在如此短的时间完成,所以选择一个其中的分支——购书系统。

对于这样的一个系统开发的时间相对来说短很多并且单独这样一个系统也可以投入商业活动来赢利了,有一定的实际意义。

个人感觉定这样一个课题对于自己实习上的专业技能是一个很好的检验,可以为以后自己的工作做更好的准备,同时可以从公司同事开发的系统中借鉴不少好的东西和自己没想到的东西,同时又可以提出自己的个人想法给公司,当然还能得到同事的相关指点,十分有意义。

1.2.1网上书店系统发展Internet 的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的人开始意识到Internet所蕴含的经济价值的无穷商机,并积极投身于电子商务活动.实际上,电子商务是一些商业行为的电子化,例如网上书店,网上贸易,就网上书店来说,网上书店是目前应用最广,最成功的典之一,网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者,图书,出版者,发行者紧密地结合在一起,大大提高了图书流通率。

1.2.2网上书店系统发展现状西方国家网上书店概况:世界上第一家网上书店是1991年在美国联机公司AOL采购网络上建立的"阅读美国书店",目前最负胜名的是美国西雅图亚马逊图书公司的亚马逊网上书店。

它创建于1995年,供书品达310余万种年顾客达500万人次,其价格优惠20-50%。

金融结算制度完善,配送服务高效。

实现了零库存运转。

英国网上书店较著名的有Internet书店,德国的网上书店主要有图书在线网上书店。

国网上书店的概况:自从亚马逊网上书店成功后,中国的网上书店也建立起来。

中国最早的网上书店是1997年在新华书店诞生的,在经过年余的艰苦经营,接待了400多位访问者后,悄然引退,而进入1998年后,作为中国书业传统经营力量的新华书店,正式宣布进入网络领域,先是第九届全国书市首次开通书店,后来在1998年12月30日书城成为国首家正规的网上书店,读者在家中可以上网完成浏览,选够,付款的全过程。

1999年是网上书店迅速发展的一年,商业公司不断进入网上书店有超过几百家,有自己的公司有40多家,这个数目还不断增加。

1.2.3网上书店的优越性网上书店在价格,时效性,品种,查询方式等方面都有优势。

网上书店是一种直销方式,在到书速度和价格上都有优势,目前网上书店的到书时间在,,等大城市一般为1-3天,在外埠则一般3-10天到书,在价格上一般网上书店都有7.5-9折的折扣,如果是特价书折扣就更多了,网上书店的书目数据是任何订购书目都无法比拟的,亚马逊网上书店有300多万种图书,另外还有音乐系列产品和其它教育产品,刚刚成立的图书大厦网上书店也有16万种书目数据,“中国寻书网”目前也有50万种书籍,年度将突破100万种图书,网上书店的书目除书名,著者,价格等信息外,还有封面,容简介,目次,评论等详细信息。

同时网上书店的目录查询功能也是传统的按某种分类规则编排的图书征订目录无法比拟的,其以关键词或主题从网上检索某类文献,查准率与查全率都有一定的保障。

另外还有一些书更是以包销或总代理的形式进行销售,这就意味着一种全新的电子商务模式的开始。

1.3课题目的与意义随着网络技术的发展,Internet已成为最具市场潜力的技术领域,使用Web 技术设计的数据库应用软件,是目前Internet市场的技术中坚,各种Web应用如电子商务,网上购物等都采用这种方式实现。

MVC开发模式可以分离数据访问和数据表现,让开发人员可以开发一个可伸缩性的强、便于扩展的控制器,来维护整个流程。

在MVC模式产生之前,业务逻辑全部撰写在表现层JSP中,其弊端是明显的,首先不利于维护,逻辑层与表现层混杂,动辄上千行代码,其次无法复用,整个项目要进行改造时,不得不推倒重来,大大增加了成本。

引入MVC模式之后,逻辑层与表现层分离开来,业务逻辑不再关心具体的显示层面,逻辑层的代码量消除了膨胀隐患,表现层也可交由其它非业务人员自由调整,最后完美整合,在层次分工上,比传统模式更加清晰,利于维护,在项目有升迁移植改造需求时,由于业务逻辑层不与表现层直接关联,故可直接使用已有的业务逻辑,大大减少了重构成本。

越大的项目中MVC的作用表现的越明显。

进行该系统设计时要保证该系统的扩展性,当有新的业务或现有业务规划调整时能够比较容易的实现,为此采用MVC设计模式对此应用系统进行划分,并最终以三层应用的方式进行部署。

在本例中,视图(view)部分由一组JSP页面组成,例如购物页面结算页面。

该部分主要提供整个网上购书系统的前段数据的显示。

控制(control)部分获得用户的请求,然后根据用户的不同请求调用不同模型(model)提供的不同功能,本例中控制部分使用Servlet实现,模型(model)部分封装了系统的数据及业务规划。

2.MVC设计思想2.1 MVC设计思想概论MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

2.1.1 MVC中的M组件模型(Model):就是业务流程/状态的处理以及业务规则的制定。

业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。

业务模型的设计可以说是MVC最主要的核心。

目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。

它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。

对一个开发者来说,就可以专注于业务模型的设计。

MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。

抽象与具体不能隔得太远,也不能太近。

MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。

我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。

这点对编程的开发人员非常重要。

2.1.2 MVC中的V组件视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。

随着应用的复杂性和规模性,界面的处理也变得具有挑战性。

一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。

业务流程的处理交予模型(Model)处理。

比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

业务模型还有一个很重要的模型那就是数据模型。

数据模型主要指实体对象的数据保存(持续化)。

比如将一订单保存到数据库,从数据库获取订单。

我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

2.1.3 MVC中的C组件控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。

划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。

控制层并不做任何的数据处理。

例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。

因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

2.1.4 MVC中各组件的关系模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。

相关主题