计算机毕设-基于jsp团购网站的计算机毕设源码+论文

摘要

自从20世纪90年代末以来,网络购物成为一种新型的购物形式。网络团购以其诸多优势在美国和欧洲得到了不断发展,而我国自从2002年以来网络团购交易也越来越频繁,出现了一大批网络团购网站。在我国网络购物也得到了很好的发展,它能为消费者和商家带来诸多的便利和实惠,但是网络购物在其发展过程中也存在一些问题,阻碍其进一步发展,只有解决这些问题,才能让网络购物更好地服务于经济。进入21世纪,全球的信息化进程正在改变着人们的生活方式,整个世界逐渐进入了网络经济时代。作为一种新型的购物形式,网络购物的产生,对人们的生活方式,对世界经济的发展都产生了巨大的影响。据相关机构统计,在短短半年的时间内,中国团购网站的数量从最初的个位数飙升到1000以上,行业在规模上呈现出爆炸式发展的态势。

本文首先阐明了团购和网络团购相关概念,分别从定义、特点、分类及其流程描述了网络团购。其次简略分析了网络团购的发展现状并结合国内外代表性网站,Groupon.com和拉手网给予证明,最后通过分析网络团购所存在的问题,即进入成本低推广成本高、商业模式同质化、盈利模式单一化等问题展开了对网络团购发展策略的探讨并提出相应策略,如融资扩大规模、实施移动战略以及盈利模式多元化。希望通过本文对网络团购发展策略的探讨,能对当今网络团购带来迅速发展带来帮助。

【关键词】 团购网站    网络团购  JAVA  HTTPSERVLET

Abstract

Since the 1990 s, the network shopping as a new type of shopping form. With its many advantages bulk network in the United States and Europe have been development in China, and since 2002 the network trade group buying become more and more frequently, there was a large number of network group purchase station. In China's online shopping also had a good development, it can bring a lot of consumers and businessmen of convenience and benefit, but the network shopping in their development process, there were some problems hinder its further development, only to solve these problems, and to make the network shopping better service to the economy. In the 21 st century, the global information process is changing people's way of life, and the world gradually into the network economy. As a new form of shopping, the network shopping of generation, to the people's way of life to the development of world economy has had a huge impact. According to relevant organizations statistics, in just half a year's time, China group purchase stand of the Numbers from the first single-digit soared to more than 1000, the scale of the industry showed explosive development the situation.

This paper illustrates the bulk order and network group buying the related concept, separately from the definition, characteristics, classification and process describes a web team. Secondly analyzed briefly network a bulk development present situation and combining domestic and foreign representative website, Groupon. Com and shake handshandle nets prove, through the analysis of existing problems of network team, that is, to promote the high cost and low cost business model, profit model simplification homogeneity over the bulk of network development strategies discussed and put forward the corresponding strategies, such as financing scale, implementing mobile strategy and profit model diversity. Hope that through this paper to network development strategy of bulk discussion, can bring about today's network rapid development team a help.

【Key Words】Internet team buying team buying websitesJAVA HTTPSERVLET 

目录

​​摘要 ​​

​​Abstract ​​

​​第一章 绪论 ​​

​​1.1开发背景和意义 ​​

​​1.2国内外研究现状及发展趋势 ​​

​​1.3国外研究概况 ​​

​​1.4国内研究概况 ​​

​​1.4.1网络购物过程中存在的问题 ​​

​​1.4.2促进网络购物发展的对策建议 ​​

​​1.5本文主要研究内容和章节安排 ​​

​​第二章系统需求分析 ​​

​​2.1系统总体要求 ​​

​​2.1.1开发目标和要求 ​​

​​2.1.2 开发环境 ​​

​​2.1.3 系统规划的目标,任务和主要工作 ​​

​​2.2需求分析 ​​

​​2.2.1工作原理 ​​

​​2.2.2业务请求流程图 ​​

​​第三章 系统概要设计 ​​

​​3.1系统总体结构设计 ​​

​​3.1.1平台的体系架构 ​​

​​3.1.2总体结构设计 ​​

​​3.3系统乱处理 ​​

​​3.4系统数据库设计 ​​

​​3.4.1表与表关联 ​​

​​3.4.2数据字典 ​​

​​第四章功能模块实现 ​​

​​4.1前台模设计 ​​

​​4.1.1首页显示 ​​

​​4.1.1.1首页数据查询 ​​

​​4.1.1.2实现代码 ​​

​​4.1.2会员登录 ​​

​​4.1.2.1会员登录 ​​

​​4.1.2.1登录代码 ​​

​​4.1.3会员注册 ​​

​​4.1.3.1会员注册 ​​

​​4.1.3.2注册代码 ​​

​​4.1.4购物车 ​​

​​4.1.4.1购物车 ​​

​​4.1.4.2代码实现 ​​

​​4.1.5订单查看 ​​

​​4.1.5.1订单查看 ​​

​​4.1.5.2代码实 ​​

​​4.1.6会员注册 ​​

​​4.1.6.1会员注册 ​​

​​4.1.6.2代码实现 ​​

​​4.2后台功能模块 ​​

​​4.2.1系统管理 ​​

​​4.2.1.1系统管理 ​​

​​4.2.1.2代码实现 ​​

​​4.2.2今日公告 ​​

​​4.2.2.1今日公告 ​​

​​4.2.2.2代码实现 ​​

​​4.2.3留言管理 ​​

​​4.2.3.1留言管理 ​​

​​4.2.3.2代码实现 ​​

​​4.2.4会员管理 ​​

​​4.2.4.1会员管理 ​​

​​4.2.4.2代码实现 ​​

​​4.2.5订单管理 ​​

​​4.2.5.1订单管理 ​​

​​4.2.5.2代码实现 ​​

​​4.2.6类型管理 ​​

​​4.2.6.1类型管理 ​​

​​4.2.6.1代码实现 ​​

​​4.2.7库存管理 ​​

​​4.2.7.1库存管理 ​​

​​4.2.7.2代码实现 ​​

​​4.2.8统计报表 ​​

​​4.2.8.1统计报表 ​​

​​4.2.8.2代码实现 ​​

​​总结 ​​

​​致谢 ​​

​​参考文献 ​​


第一章 绪论

1.1开发背景和意义

从1998年美国出现第一个B2C网络团购网站Mobshop以来,网络团购正以其独有的优势逐步在全球各地发展起来。尽管在整体来看,网络团购处于探索发展发展阶段,但美国和欧洲的网络团购在经历了一连串的模式创新和淘汰后,出现了一批相对成功的固化了的网络团购模式和提供相应服务的网络团购网站。而在我国,网络习购虽然是最近才兴起,但仅在百度网站上,以团购为关键词搜索到的网页多达一亿个,其中大多数都是B2C团购网站的页面,由此可以初步看见目前我国网络团购的火热程度,然而在这火热的背后,却存在许多问题有待探讨。由检索到的页面看出,目前我国加入团购的商品主要集中家具、装饰装修建材、汽车等大宗商品,还有部分的生活必需品也采用网络团购方式,可谓是参加团购的商品类别、规模、质量、价格等参差不齐,而网络团购网站的模式、规模、信誉度和经营状况等,也都各有不同。

网络团购最早出现在美国,当时的状况和我国现在网络团购的发展情况差不多,许多团购网站盲目建设和竞争,导致许多团购网站倒闭。然而通过近几年学者们对网络团购坚持不懈的研究和商家们坚持不懈的努力,网络团购前景越来越明朗,吸引了越来越多的客户。

据中国消费者协会统计,针对网络团购的投诉在今年春节后迅速增加了三成,消费者协会则发布了“团购网站投诉占整体网购投诉量一半”的消费警示。而在一些团购导航网站如tuan800的投诉论坛上,仅一个月对于团购产品和服务的具体投诉就超过了150条,投诉内容五花八门,比如拍完婚纱摄影拿不到底片,有假冒名牌香水被瓶身毛刺划破手指等,侵害了消费者的权益。最“悲剧“的莫过于付款后团购网站始终不发货甚至离奇失踪。

1.2国内外研究现状及发展趋势

网络购物就是消费者通过网络实现购物的过程。其主要特点是商家与顾客互不见面,通过网络使商品信息和钱款以电子的形式在网络上进行传播。所以,网络购物具有以下特点:商品的信息更加深入全面、减少了商品的销售成本、节约了消费者的时间和体力、消除了消费者与商家的面对面冲突、降低了商户的经营成本,等等,充分体现了网络购物的方便快捷、低成本的特点。

随着互联网的普及,网络购物的优点变得更加突出,也就日益成为一种重要的购物形式。根据中国互联网络信息中心(CNNIC)2008年7月发布的《中国互联网络发展状况统计报告》显示:截至2008年6月底,中国网民数量达到2.53亿,网民规模跃居世界第一位。中国网民规模继续呈现持续快速发展的趋势,比去年同期增长了9 100万人,同比增长56.2%。仅2008年上半年,中国网民数量净增量为4 300万人。

报告还显示:网络购物使用率为25%(见下表),用户人数达到6 329万人,半年内用户量增加了1 688万人,已经成为十大网络应用之一。由此可见,网络购物越来越成为一种趋势。

网络购物虽然可以克服实体交易环境对消费者的障碍,为消费者提供更多的购物机会和便利,但是由于互联网的虚拟性和公开性,就使得网络购物的模式与传统实体购物环境的经验模式有所不同。例如,消费者无法直接面对商家,无法事先检查商品,无法就交易条件与商家直接进行接触与沟通。因此,网络购物也给消费者带来一些新的问题。

1.3国外研究概况

网络团购最早产生于美国,第一个B2C网络团购网站Mobshop.com成立于1998年,随后美国和英国出现了一大批类似的网络团购网站,例如Online Choice。McNopoly.tom,e.Conomy.com,LetsBuyit.com等。他们所提供的服务相似,和传统电子商务中虚拟商铺一样,由不同商品的经销商租用其虚拟空间,出售各种商品,例如手机、电脑等数码产品和其他产品。不同的是每种商品的价格都是动态的,在一定时期内,由卖家可能的不同的购买量而提出几个不同的售价,随着加入团购该商品的买家越多,满足某个数量后,商品价格则下降到下一个售价,直到团购周期结束,所有参与这次团购的买家均以最后所满足条件的价格购买该商品。2001年出现的电子商务泡沫破灭加剧了这种负面影响,使得许多网站逐步关闭。仅有的也从B2C转型到了B2B,再B2B模式下,容许更长的议价时间和更加灵活和个性化的服务,例如thebuyinggroup.com模式。而在我国,笔者目前无法考证最早的网络团购网站是哪家,但从查阅的资料来看,最早也出现于2002年。到目前为止,已经涌现出许多较为成功的网络团购网站,例如拉手网、淘宝网团购专区、上海团购网等。

从2010 年4 月第一家专业团购网站成立开始,中国的团购网络行业得到了快速的发展。截至9 月底,团购网站已经发展到1700 多家,保守估计较为稳定的团购消费者在500 万以上,参与过团购的消费者则在千万人之上,而每月登陆团购网站的用户也达5000 多万的规模。就目前团购网站分布而看,北京、上海、广州、深圳占据全国团购市场的70%以上,其中北京就有144家。由于网络团购等因素的带动,我国网络购物整体规模已经超过2000 亿元。从团购产品来看,小至洗发水、卫生纸,大到家电、家居,甚至是房子、汽车,涉及生活方方面面的产品突然间都可以团购了。越来越多的人开始关注乃至参与到网络团购之中,而越来越多的网站也参与到这个炙手可热的行业中来在目前这个状态下,笔者明显感觉到我国的团购需要理论的指导和规范,许多问题有待研究,例如到底什么样的产品适合团购,竞争越多是否意味着越好,投资者不断进入团购的这段时期里,怎么样优化和开拓广大的团购市场,并采取哪些策略帮助网络团购成长。

团购较于网络团购这个概念出现得较早,尽管网络团购对于团购的模式和规模等诸多方面进行了更新,然而他们二者的基础理论和原理却是相通的。因此,研究网络团购就得从对于“团购”的研究成果探讨起。团购具体何时出现,笔者无法查确,而以团购现象为研究对象的文献也出现得较早,仅以笔者目前掌握的资料来看,对于团购的研究有从以下几个方面考察的。

早在1972年,Webster和Wind就开始从政治学角度研究团购,将团购视为联盟来研究。他们的对团购进行了最初的定义,而定义的关键是购买中心,即那些加入团购的个人或群体,他们共同进行购买决策,拥有共同的目标,并共同承担决策带来的风险。这种团购受到个人,组织,环境诸多方面的影响。团购复杂性的主要因素之一,是团购成员中的利益冲突,团购并不能满足每个加入成员的利益,为使团购成交,必然需要牺牲其中一些成员的利益。Sheth曾提出过关于形成期望差异的5个显著步骤,分别为:个人背景、信源、积极搜索、感觉扭曲(失真)以及对购买的满意程度。

还有部分学者是从消费者行为角度来研究团购的。消费者行为是指消费者为获取、使用、处置消费物品或服务所采取的各种行动,包括先于且决定这些行动的决策过程。消费行为的多样性主要表现为不同消费者在不同时期、不同情景、不同产品的选择上,其行为也呈现出很大的差异性。研究消费者行为就要研究五个“W”,谁在购买(WHO),何时去购买(WHEN),到何处去购买(WHERE),购买何物(WHAT),以及为什么要购买(WHY)。对于网络团购来说,购买何物和为什么要购买不是那么重要,其余几个因素就很重要,尤其对于谁在购买,他是否加入团购,是决定团购是否成立的最重要的因素之一。消费者行为主要过程主要包括认识问题、信息收集、产品评价、购买决策和购后行为。按购买目标的确定程度划分,团购中的消费者属于全确定型,对购买目标的名称、商标、型号、规格、样式、颜色以及价格等都有明确的要求。同时按照购买态度与要求划分,他们又属于慎重型和价格型,他们十分理智进行反复衡量后才做出购买决定,并且他们对于商品的价格非常敏感。

随后在20世纪90年代末期,网络团购这一商务模式兴起后,更多的学者关注了其发展,并发表了一大批研究成果,尽管网络团购正在经历由繁到衰,再由衰而复兴的过程,学者们仍不放弃对它的研究,除了以上几个研究方向外,还从实证的角度关注了网络团购的影响因素,议价模型的优化,稳定的网络团购模式等,为网络团购的发展寻求出路。在网络团购兴起之初一直到美国B2C网络团购衰退阶段,都积极参与了研究。他的研究包括从最初的现象解释一直到对这种机制分析,他所提出的影响网络团购成立的三要素论:价格、周期、需求外部效应,一直被众多后来学者引用。

1.4国内研究概况

正如笔者在上文中提及,国内目前研究团购和网络团购的文献比较有限。笔者仅从中国期刊网上收集的信息来看,大多数国内学者对于网络团购的研究仅仅局限于现象阐释。

与网络团购的火热程度和交易量相比,我国目前对于团购和网络团购模式的学术研究却相当有限。从1999年到现在总共只有76篇文献,而以“团购”为检索词搜索,则也只有200多篇文献,其中多数文献仅局限于介绍团购这种购物方式。

团购的各种因素分析了当今网络团购的发展前景。就当前的网络团购运营模式,分析了网络团购的三大弊端,即两头都想赚、搞团购避团购、消费者矛盾转嫁。将来网络团购的发展离不开与SNS的合作。目前网络团购正在迅速发展阶段,将会吸引越来越多的投资者。根据网络团购网站出现的一些问题,仔细分析了团购网站各个栏目的功能及其要求,并认为团购网站的完善是团购盈利的根本所在。网络团购的价格定位和信息发布影响了消费者的团购行为。在团购模式的博弈分析中详细分析了消费者与商家之间的经济活动。

1.4.1网络购物过程中存在的问题

1.交易主体的诚信问题。在信息不对称的情况下,买卖双方在交易的过程中都可能存在不诚信的行为。对于卖方来说,他可能不会保质保量地按时发货,或者不能完全地履行所签订的合同,更有些还可能会设计陷阱,达到骗取钱财的目的,造成买方在网上购物时承担了极大的风险。对于买家来说,在网络购物时,选择信用卡进行支付,可能会有恶意透支信用卡的行为,或者使用伪造的信用卡骗取卖方的货物等等,卖方就需要为此承担风险。

2.商品质量的认知差异问题。在网络购物中,消费者看不到商家,摸不到商品,在选择时,只能用眼观察,或者听别人介绍,而不能亲自感触,得到的商品信息比较少。因此,消费者在收到商品或服务时,可能发现品牌或规格跟自己原先的期望有所不同,或者是选择的商品与实际得到的商品在品质上存在明显的区别,这就使得消费者很难对商品的质量产生信赖感。

3.网络购物的支付安全问题。网络购物改变了传统的面对面的、一手交钱一手交货的交易方式,可以采取网上结算,即通过汇款的方式或者使用信用卡(或借记卡)的方式来实现。因此,在“先汇款后发货”的交易方式中,消费者可能会钱财两空,而通过第三方支付平台,使用银行卡交易的过程中,消费者在交易时提供的银行卡资料或其他财务资料极有可能在传递的过程中被不法分子截取。另外,即使传递过程很顺利,在这些资料进入商家之后,仍有可能被商家不当使用,或被黑客及商家公司内部未经授权员工盗取的风险。所以,支付方式的不安全隐患会影响消费者对购物方式的选择。

4.商品物流配送的问题。作为网上购物众多环节中的一环,物流配送是成功交易的重要保证,而物流配送体系的构建一直是网络交易发展中的一个核心问题。许多有过网络购物经历的消费者常常抱怨,他们所定购的商品不能及时送达,有的即使送到了也已是“面目全非”。有统计显示,在有过网络购物经历的网民中,有12%以上的人有没收到商品的经历,物流配送的问题会损坏商家的信誉,很难让消费者满意。

5.商品的售后服务问题。在网络交易形态中,消费者只能从网站上获取商品的信息,在决定购买时,可能会因为时间仓促而没有经过成熟的考虑。在商品送达后,难免出现对商品不满意而要求退货的情况。此时,网络销售者往往会从自己的利益出发,在商品出售后均以种种理由拒绝退货,使得售后保障不能实现。而且由于无法与商家进行面对面的沟通,发生争议时可能较难求证,特别是与国外商家发生购物纠纷问题时,更牵涉到证据的搜集及司法管辖等复杂问题,严重影响了网络购物的推广应用。

6.网络交易的法律保障。2005年4月1日,《中华人民共和国电子签名法》正式实施,这对于完善我国的网络立法具有重要的意义。但是,面对网上购物的错综复杂的环境,只有《电子签名法》是不够的,必须尽早完善网上交易法律法规,用明确的法律法规对网上交易进行规范,用以保障网络交易的正常运作。

1.4.2促进网络购物发展的对策建议 

1.逐步建立我国的征信体系。长期以来,我国的诚信体系很不完善,企业的信用评估、个人的资信状况都不透明,交易双方都处在极大的不确定的环境当中,这种情况严重制约了网络购物活动的有效开展。因此,目前急需建立个人和企业的完善的诚信体系和诚信查询制度,为虚拟化交易提供一个可靠的基础。具体做法是:一是要求交易主体在登记身份的前提下,开展网络交易活动,对于主体的行为有监督作用;二是对于进行欺骗行为的交易主体,采取制裁措施;三是对于持续诚信交易的经济主体给予一定的奖励等,用以减少信息不对称情况下,交易主体不诚信问题的发生。

2.加强网络购物的安全性建设,提高网络购物的接受度。第一,要加强电子商务网站的建设,提供信息更翔实、操作更简洁、访问更便利的安全商务网站,吸引更多消费者;第二,加强网络支付的安全建设,组建一支研究型的队伍,解决网上交易的安全技术问题,包括加密技术、防火墙技术、数字签名技术、报文摘要技术、认证技术、入侵检测技术、漏洞扫描技术等问题,并且要随着计算机系统和电子商务技术的发展而做出不断的更新和改进;第三,可以利用第三方支付平台提供更多的安全保证。

3.建立完善的现代物流体系,保证网络购物的顺利完成。实物配送在网络购物中的重要性,已经得到了业界人士的广泛认同和重视。真正高效的网上购物活动,需要一个完善的现代化物流体系,才能体现出网上交易高效、低成本的特征。我国的运输企业众多,再加上厂商在全国建立了众多的连锁机构,这些资源经过企业间的联合、结盟,重新优化配置,可以建立跨地区的专业性物流渠道,解决目前货物配送中存在的问题。

4.促进商家之间的有效竞争,提供优质服务。提供一个公平的外部环境,实现更自由的竞争,在充分竞争的市场中,商家会提供更好的产品和更优质的服务,会采用创新的营销策略,用于自身的更好更快发展,而不是通过欺骗的行为来获得一时之利。在商品买卖的过程中,低价格是赢得消费者的重要手段之一,但不是唯一,特别是有些商品或服务的同质化程度日益提高,只有优质的服务才是商家取得竞争优势的重要法宝。

1.5本文主要研究内容和章节安排

本文研究的最初动因就是因为目前在我国广泛出现的网络团购活动。网络团购从诞生起,不断地发展变化着。就在笔者着手写这篇毕业论文时,国外最大的B2C网络团购网站letsbuyit.com也已经关闭。尽管国外有学者开始研究哪些因素导致网络团购遭遇失败,但研究成果并没有对网络团购营销策略上进行优化,在国外B2C网络团购仍然处于比较混乱地在小范围内应用的境地。正由于我国目前处于网络团购新兴阶段,在此时如果能对网络团购发展策略做出一定的探讨以及可行性分析,那么可以减少大量的盲目建设所带来的损失,这就是本文的研究动因。

本文共分为四章。

第一章简要介绍研究的背景和意义,以此引出网络团购信任危机这一问题。

第二章系统需求分析,系统总体设计要求,请求流程,主要目标和工作等。

第三章 系统概要设计,主要针对整个系统的功能模设计、数据库设计等。

第四章 系统各功能模块设计,对系统中各个模块功能进行详细说明。

第二章系统需求分析

2.1系统总体要求

2.1.1开发目标和要求

系统规划是管理信息系统生命周期的第一个阶段,是管理信息系统的概念形成时期,这一阶段的主要目标,就是制定出管理信息系统的长期发展方案,决定管理信息系统在整个生命周期内的发展方向、规模和发展进程。

系统规划阶段的主要任务是:根据组织的整体目标和发展战略,确定管理信息系统的发展战略,明确组织总的信息需求,制定管理信息系统建设总计划,其中包括确定拟建系统的总体目标、功能、大致规模和粗略估计所需资源,并根据需求的轻、重、缓、急及资源和应用环境的约束,把规划的系统建设内容分解成若干开发项目。

2.1.2 开发环境

操作系统:Windows XP professional

系统类型:32位操作系统

编程语言:JAVA1.6

开发工具:Myeclipse6.0.1

数据库:MySql 5.0

运行环境:Tomcat6.0

2.1.3 系统规划的目标,任务和主要工作

系统规划是管理信息系统生命周期的第一个阶段,是管理信息系统的概念形成时期,这一阶段的主要目标,就是制定出管理信息系统的长期发展方案,决定管理信息系统在整个生命周期内的发展方向、规模和发展进程。

系统规划阶段的主要任务是:根据组织的整体目标和发展战略,确定管理信息系统的发展战略,明确组织总的信息需求,制定管理信息系统建设总计划,其中包括确定拟建系统的总体目标、功能、大致规模和粗略估计所需资源,并根据需求的轻、重、缓、急及资源和应用环境的约束,把规划的系统建设内容分解成若干项目。

现提出如下的系统开发目标:

1 系统应具有实用性、可靠性和适用性。

2 对各个数据库进行动态管理,防止混乱。

3 能够按照用户选择的不同的条件进行简单查询。

4 能够对查询结果进行分类汇总,便于查询。

5 方便用户的操作,尽量减少用户的操作。

2.2需求分析

2.2.1工作原理

操作用户的所有请求都向JSP通过Web.xml中的servlet  URL路指向,跳转到相应的HttpServlet中,通过这种方式,Web.xml中的跳转配置成为系统的控制器,所有的请求都将由web.xml来处理。HttpServlet拦截到用户请求后,将请求转发到用户定义的业务逻辑控制器。将所有请求都使用HttpServlet拦截,将所有的JSP页面放入WebRoot/路径下,用户可以直接访问JSP页面。

2.2.2业务请求流程图

图3.3.1系统类请求图

第三章系统概要设计

3.1系统总体结构设计

3.1.1平台的体系架构

Web平台的三层分布式体系结构为图3.1.1所示。

图3.1.1Web平台的三层分布式体系结构

三层分布式体系结构的第一层是客户端表示层、客户层 仅仅是整个应用系统的图形界面表示;处于第二层的应用服务层,有一台或多台服务器组成,其中Web服务器主要负责对客户端应用程序的集中管理,应用服务器(Servlet)主要负责应用逻辑的集中管理,即事务处理;处于第三层的是数据中心层,有数据库系统,主要负责数据的存储和组织、数据库的分布式管理、数据库的备份和同步等等。

管理系统的应用可以看作用户与站点之间的一系列交互过程。整个交互过程从客户端所浏览的一个页面开始。用户单击该页面上的一个按钮或链接就产生一个请求,该请求通过HTTP传递到Web服务器上,Web服务器将页面中的请求及有关数据取出来传给应用服务器,应用服务器调用相关的商务逻辑,实际上是一个Web应用程序,进行相应的处理,从外部数据库服务器存取数据,然后将结果传回Web服务器,Web服务器再将数据结果转换为页面的形式传给浏览器,于是在客户端产生了新的页面。该页面是这一次请求的结果,也是下一次请求的开始。

3.1.2总体结构设计

本系统的设计是建立在详细需求分析之上,结合当前网络通信和WEB 技术的发展水平,采用JSP+servlet实现整体系统的功能实现,系统总共分前台商品信息浏览、查看团购信息,会员下订单购买商品。

后台管理系统。主要对整个基本信息系统维护,及系统的商品订单的处理、系统报表,详细见第四章系统功能模块。系统总体模块设计如图3.1.2。

图3.1.2工作流程图

3.3系统乱处理

系统页面统一格式为utf-8格式,在每个SERVLET类中都加入如下代码,对汉字获取页面汉字做类型转换,转换成非乱码汉字。

response.setContentType("text/html");

request.setCharacterEncoding("utf-8");

response.setCharacterEncoding("utf-8");

3.4系统数据库设计

3.4.1表与表关联

图3.4.1表与表之间关联

3.4.2数据字典

出入库表churuku_t

编号

字段名

字段类型

长度

说明

1

id0

Int

4

数据编号ID自增

2

Numbers

Varchar

100

商品类型编号

3

Name

Varchar

100

商品名称编号

4

Num

Varchar

100

出入库数量

5

Price

Double

0

商品入库单价

6

Total

Double

0

合计

7

Dates

Date

0

出入库日期

8

Remark

Text

0

备注

9

Type

Varchar

20

备用

10

estate

varchar

20

状态:1表示入库2表示出库

商品名称表goods_name_t

编号

字段名

字段类型

长度

说明

1

id0

Int

11

数据编号ID自增

2

Numbers

Varchar

255

商品类型编号

3

Name

Varchar

255

商品类型名称

订单编号与商品编号关联表Goods_ordernum_t

编号

字段名

字段类型

长度

说明

1

id0

Int

3

数据编号ID自增

2

ordernum

Varchar

100

订单编号

3

goodsid

Varchar

100

商品编号

商品信息描述goods_t

编号

字段名

字段类型

长度

说明

1

id0

Int

4

数据编号ID自增

2

Typeid

Varchar

100

商品类型编号

3

Name

Varchar

100

商品名称编号

4

Chengben

Double

0

商品成本

5

Xianjia

Double

0

商品现价

6

Zhekou

Double

0

商品折扣

7

Yuanjia

Double

0

商品原价

8

Shijian

Date

0

团购结束时间

9

Renshu

Int

4

团购人数

10

Tupian

Varchar

100

商品图片

11

Estate

Varchar

20

暂没有任何用处

12

Content

Text

0

商品描述

13

Pinpai

Varchar

200

商品图片

14

Guige

Varchar

200

商品规格

15

Chandi

Varchar

200

商品产地

16

Baozhiqi

Varchar

200

商品保质期

17

Baozhuang

Varchar

200

商品包装

18

Daxiao

Varchar

200

商品大小

19

Pifu

Varchar

200

适用皮肤

20

jiesheng

varchar

0

购买该商品节省

库存表kucun_t

编号

字段名

字段类型

长度

说明

1

id0

Int

4

数据编号ID自增

2

Numbers

Varchar

100

商品类型编号

3

Name

Varchar

100

商品名称编号

4

Total

Int

10

商品总入库合计

5

Chuku

Int

10

商品出库数量

6

Blance

Int

10

商品剩余数量

7

Type

Varchar

100

暂没有任何用

8

remark

text

0

备注

留言表liuyan_t

编号

字段名

字段类型

长度

说明

1

id0

int

4

数据编号ID自增

2

Content

Text

0

留言内容

3

Dates

Date

0

留言日期

4

Userid

Varchar

100

留言人ID

5

Hfuserid

Varchar

100

回复人ID

6

Huifu

Text

0

回复内容

7

hf_date

Date

0

回复日期

购物订单表note_t

编号

字段名

字段类型

长度

说明

1

id0

Int

4

数据编号ID自增

2

Ordernum

Varchar

100

订单编号

3

Userid

Varchar

100

会员用户ID

4

type_t

Varchar

500

原来是商品类型,现在改为:收货人

5

Goodid

Varchar

500

原来是商品名称,现在改为:地址

6

Total

Double

0

购买商品所花的钱

7

Zhekou

Double

0

购买商品所打的折扣

8

Heji

Double

0

商品原价合计

9

Dates

Datetime

0

下订单日期

10

Estate

Varchar

10

订单状态:1表示未处理。

2表示已处理订单。

11

Type

Varchar

500

表示付款方式,q表示钱包。b 表示货到付款

系统表system_t

编号

字段名

字段类型

长度

说明

1

id0

Int

4

数据编号ID自增

2

system_name

Varchar

40

系统名称

3

system_name_en

Varchar

100

无用

4

system_intro

Varchar

2000

无用

5

system_intro_en

Varchar

2000

无用

6

system_tel

Varchar

100

联系电话

7

system_fax

Varchar

100

传真

8

system_email

Varchar

100

邮箱

9

Address

Varchar

1000

地址

10

Guanyu

Text

0

无用

商品类型表Type_t

编号

字段名

字段类型

长度

说明

1

id0

Int

4

数据编号ID自增

2

type

Varchar

100

商品类型名称

公告信息表xinxi_t

编号

字段名

字段类型

长度

说明

1

id0

Int

4

数据编号ID自增

2

Xinxi

text

0

公告信息内容

用户登录表users_login_t

编号

字段名

字段类型

长度

说明

1

id0

Int

4

数据编号ID自增

2

Username

Varchar

100

用户名

3

Password

Varchar

100

密码

4

Name

Varchar

100

用户姓名

5

Sex

Varchar

10

性别,1表示男,0表示女

6

Age

Varchar

10

用户年龄

7

Tel

Varchar

20

用户联系电话

8

Email

Varchar

100

用户邮箱

9

Address

Varchar

100

用户邮件地址

10

Type

Varchar

10

用户类型。Admin表示超级管理员,1表示普通会员。

11

Estate

Varchar

10

无用

13

Zhekou

Varchar

100

用户所享折扣

14

qianbao

Varchar

100

用户钱包余额

第四章功能模块实现

4.1前台模设计

4.1.1首页显示

首页显示数据内容为如下图4.1.1

图4.1.1首页信息显示

4.1.1.1首页数据查询

首页数据查询分为系统参数查询、商品查询、商品类型查询。

1. 首页数据查询,通过JSP请求SERVICE后台业务逻辑操作,查出系统基本信息,保存至session中,request.getSession().setAttribute("system",st);当访问其面时不用在到数据库二次查询,提交工作效率。

2. 商品类型查询,一次性查询出部他商品分页显示,将商品循环显示。商品信息显示商品介绍、现价、原价、折扣、团购时间、团购人数。每件团购商品都会是时时显示倒计时间。

4.1.1.2实现代码

1.首页数据查询代码:

XinxiT xt = xs.findxinxi();

List tlist = ts.findlist();

SystemT system = ss.findSystem();

商品信息查询分为:商品类型搜索、价格搜索、商品名称搜索,台后通过获取页面请求参数

String finds = request.getParameter("finds");//名称搜索

String type = request.getParameter("typeid");//类型查询

String price = request.getParameter("price");//价格查询

将参数传入调用方法中,查询查关内容信息。

List glist = gs.findList(page, finds,type,price, request);

2.商品倒计代码:

通过团购时间与当前系统时间做时间减法得到倒计时功能,JS代码如下:

function RemainTime(id1,id2){

var iTime;

var Account;

var  sj = document.getElementsByName(id2);

//alert(sj.length);

    for(var i=0;i<sj.length;i++){

endDates = sj[i].value+" 23:59:59";

var endDate = new Date(endDates.replace("-",",")).getTime();

var now = new Date();

var year = now.getYear();

var month = now.getMonth()+1;

var day = now.getDate();

var hour = now.getHours();

var minutes = now.getMinutes();

var second = now.getSeconds();

var nowdate = year+"-"+month+"-"+day+" "+hour+":"+minutes+":"+second;

    var startDate = new Date(nowdate.replace("-",",")).getTime() ;

    iTime = (endDate-startDate)/1000;

    }

var iDay,iHour,iMinute,iSecond;

    var sDay="",sHour="",sMinute="",sSecond="",sTime="";

    if (iTime >= 0){

        iDay = parseInt(iTime/24/3600);

        if (iDay > 0){

            sDay = "<b class='heise'>"+iDay + "</b>天";

        }else{

          sDay = "<b class='heise'>0</b>天";

        }

        iHour = parseInt((iTime/3600)%24);

        if (iHour > 0){

            sHour = "<b class='heise'>"+iHour + "</b>小时";

        }else{

            sHour = "<b class='heise'>0</b>小时";

        }

        iMinute = parseInt((iTime/60)%60);

        if (iMinute > 0){

            sMinute = "<b class='heise'>"+iMinute + "</b>分钟";

        }else{

            sMinute = "<b class='heise'>0</b>分钟";

        }

        iSecond = parseInt(iTime%60);

        if (iSecond >= 0){

            sSecond = "<b class='heise'>"+iSecond + "</b>秒";

        }else{

            sSecond = "<b class='heise'>0</b>秒";

        }

        if ((sDay=="")&&(sHour=="")){

            sTime="<span style='color:darkorange'>" + sMinute+sSecond + "</font>";

        }else{

            sTime=sDay+sHour+sMinute+sSecond;

        }

        if(iTime==0){

         //clearTimeout(Account);

            sTime="团购结束,可继续团购";

            document.getElementById(id1).innerHTML = sTime;

        }else{

         document.getElementById(id1).innerHTML = sTime;

            Account = setTimeout("RemainTime('"+id1+"','"+id2+"')",1000);

        }

        iTime=iTime-1;

    }else{

        sTime="团购结束,可继续团购";

        document.getElementById(id1).innerHTML = sTime;

    }

}

4.1.2会员登录

4.1.2.1会员登录

已注册会登录,进行购物,查看订单信息,登录的用户根据不同的权限登录后,显示出不同的信息,普通会员登录后,依然进入前台。

4.1.2.1登录代码

UsersLoginService us = new UsersLoginService();

UsersLoginT ut = us.Login(username);

if(ut != null ){

if(ut.getPassword().equals(password)){

request.getSession().setAttribute("users",ut);

if(ut.getType().equals("admin")){

tiao = "/main.jsp";

}else{

tiao = "/index.jsp";

}

}else{

request.setAttribute("count", "用户名密码错误");

request.setAttribute("url", "login.jsp");

tiao = "/pages.jsp";

}

}else{

request.setAttribute("count", "用户名密码错误");

request.setAttribute("url", "login.jsp");

tiao = "/pages.jsp";

}

SystemService ss = new SystemService();

SystemT st = ss.findSystem();

4.1.3会员注册

4.1.3.1会员注册

通过页面上的注册连接,对未注册的会进行注册,并填写个人信息。用户注册成功后,会自动登录,进行商品购买,结账。

4.1.3.2注册代码

String name = request.getParameter("name");

String sex = request.getParameter("sex");

String age = request.getParameter("age");

String tel = request.getParameter("tel");

String email = request.getParameter("email");

String address = request.getParameter("address");

UsersLoginT user = new UsersLoginT();

user.setAddress(address);

user.setAge(age);

user.setEmail(email);

user.setEstate("1");

user.setName(name);

user.setPassword(password);

user.setSex(sex);

user.setTel(tel);

user.setType("1");

user.setZhekou("10");

user.setUsername(username);

boolean b = us.insertCaidan(user);

if(b){

request.getSession().setAttribute("userslogint", user);

request.setAttribute("count","注册成功");

request.setAttribute("url","/IndexAction");

tiao = "pages.jsp";

}

4.1.4购物车

4.1.4.1购物车

会员登录后,通过点击商品连接,进入到详细商品信息列表页面进行购买,如图4.1.4.1,当购买成功后,该商品会进自动保存到购物车中,并进入到购物车列表页面,用户可以对购买的商品进行订单生成,购买此商品,可以继续购买商品,购物车如图4.1.4.2。用在提交订单时会根据用选择的付款方式进行判断是货到付款还是从我的钱包中扣除,并且会根据用户所享有的折折扣进行合计报价,如图4.1.4.2。

图4.1.4.1商品购买

图4.1.4.2购物车

4.1.4.2代码实现

购物车代码如下:

String id= request.getParameter("id");

GoodsT gt = gs.findGoods(id);

List list = (List)request.getSession().getAttribute("gouwuche");

if(list == null || list.size() <=0)

list = new ArrayList();

list.add(gt);

double total = 0;

for(int i=0;i<list.size();i++){

GoodsT goods = (GoodsT)list.get(i);

total += Double.parseDouble(goods.getXianjia());

}

request.getSession().setAttribute("jianshu", list.size()+"");

request.getSession().setAttribute("gouwuche", list);

request.setAttribute("list", list);

request.setAttribute("total", total);

tiao = "/qg?type=jiesuan";

用户购买商品总价格、折扣、折扣后价格代码

List list = (List)request.getSession().getAttribute("gouwuche");

request.setAttribute("list", list);

double total = 0;

if(list != null && list.size()>0){

for(int i=0;i<list.size();i++){

GoodsT goods = (GoodsT)list.get(i);

total += Double.parseDouble(goods.getXianjia());

}

}

String zk = user.getZhekou();

int zhekou = 10;

if(zk != null && !zk.equals("")){

zhekou = Integer.parseInt(zk);

}

double ztotal = total*zhekou/10;//获得折扣后价格。

在提交订单时,会判断用户选择付款方式

if(fangshi != null && fangshi.equals("q"))

判断钱包里的钱是否够付款:

if(qb != null && !qb.equals("")){

double qianbao = Double.parseDouble(qb);

if(qianbao>=total){

DecimalFormat df = new DecimalFormat("#.00");

qgb = true;

qianbao -= total;

user.setQianbao(df.format(qianbao)+"");

uls.updateCaidan(user);

}else{

qgb = false;

}

}else{

qgb = true;

}

生成订单代码:

for(int i=0;i<list.size();i++){

GoodsT goods = (GoodsT)list.get(i);

GoodsT fg = gs.findGoods(goods.getId0()+"");

GoodsOrdernumT got = new GoodsOrdernumT();

got.setGoodsid(goods.getId0()+"");

got.setOrdernum(ordernum);

String rs = fg.getRenshu();

int renshu = 0;

if(rs != null && !rs.equals("")){

renshu =Integer.parseInt(rs)+1;

}else{

renshu = 1;

}

fg.setRenshu(renshu+"");

gs.updateGoodsRenshu(fg);

gos.insertsql(got);

}

NoteService ns = new NoteService();

NoteT note = new NoteT();

note.setOrdernum(ordernum);

note.setUserid(user.getId0()+"");

note.setTotal(total+"");

String zk = "";

if(user.getZhekou() == null || user.getZhekou()== "")

zk = "10";

else

zk = user.getZhekou();

note.setZhekou(zk);

note.setHeji(heji);

note.setDates(DateUtil.getCurrTime2());

note.setEstate("1");

note.setGoodid(address);

note.setType(fangshi);

note.setTypet(shouhuoren);

boolean b = ns.insertsql(note);

4.1.5订单查看

4.1.5.1订单查看

用户通过查看订单连接,查看生成的订单详细信息如图4.1.5.1.1订单列表

图4.1.5.1.1订单列表

通过点击订单编号,查看订单所有购买的物品详细信息,如图4.1.5.1.2购买物详细信息。

图4.1.5.1.2购买物详细信息

4.1.5.2代码实

查询订单代码:

UsersLoginT user = (UsersLoginT)request.getSession().getAttribute("userslogint");

if(user!=null){

user = ult.Login(user.getUsername());

List list = ns.findall(page, user.getId0()+"","", request);

request.setAttribute("list",list);

}

4.1.6会员注册

4.1.6.1会员注册

会员注册,主要是对在该团购网站上买商品的用户进行注册,用户在注册的时候,需要输入大于6的位密及正确的邮箱格式录入限制,注册页面如图4.1.6.1

图4.1.6.1注册页面

4.1.6.2代码实现

注册密码位数控制代码:

var ps1 = document.getElementById("ps1").value;

if(ps1.length<6){

alert("密长度不能少于6位");

return false;

}

邮箱录入则由正则表达式来完成代码如下:

function eMali(test){

var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/i;

var r=test.search(reg); 

if(r==-1){

return false;

}else{

return true;

}

}

4.2后台功能模块

4.2.1系统管理

4.2.1.1系统管理

对餐饮连锁店的基本信息进行管理,包括餐饮连锁店的名称,电话简介等基本的信息的管理。如图4.2.1.1基本信息设置。

图4.2.1.1基本信息设置

4.2.1.2代码实现

response.setContentType("text/html");

request.setCharacterEncoding("utf-8");

response.setCharacterEncoding("utf-8");

SystemService ss = new SystemService();

SystemT st = ss.findSystem();

String systemname = request.getParameter("systemname");

String systemnameen = request.getParameter("systemnameen");

String systemintro = request.getParameter("systemintro");

String systemintroen = request.getParameter("systemintroen");

String systemtel = request.getParameter("systemtel");

String systemfax = request.getParameter("systemfax");

String systememail = request.getParameter("systememail");

String address = request.getParameter("address");

String guanyu = request.getParameter("guanyu");

st.setAddress(address);

st.setGuanyu(guanyu);

st.setSystemEmail(systememail);

st.setSystemFax(systemfax);

st.setSystemIntro(systemintro);

st.setSystemIntroEn(systemintroen);

st.setSystemName(systemname);

st.setSystemNameEn(systemnameen);

st.setSystemTel(systemtel);

4.2.2今日公告

4.2.2.1今日公告

主要是在首页显示出今天团购公告信息,首页显示如图4.2.1.1.1。

图4.2.1.1.1首页公告显示

4.2.2.2代码实现

String xx = request.getParameter("xinxi");

if(xx != null && !xx.equals("")){

XinxiT xt = xs.findxinxi();

xt.setXinxi(xx);

boolean b = xs.updatexinxi(xt);

if(b){

request.setAttribute("xt",xt);

}

}else{

XinxiT xt = xs.findxinxi();

request.setAttribute("xt",xt);

}

4.2.3留言管理

4.2.3.1留言管理

留言管理是对前台会员用户对系统平台的留言及评论的回复如图4.3.3.1.2,后台管理员可以登录后台,对客户的留言进行回复操作,留言列表如图4.3.3.1.1

图4.3.3.1.1留言列表

图4.3.3.1.2留言回复

4.2.3.2代码实现

String huifu = request.getParameter("huifu");

LiuyanT lt = ls.findId(id);

lt.setHfdate(DateUtil.getCurrTime2());

lt.setHuifu(huifu);

lt.setHfuserid(ut.getId0()+"");

boolean b = ls.updateCaidan(lt);

if(b){

request.setAttribute("count","回复成功");

}else{

request.setAttribute("count","回复失败");

}

4.2.4会员管理

4.2.4.1会员管理

该模块中,主要是对系统中所有的注册会员进行基本管理,列表显示系统所有会员信息如图4.2.4.1.1管理员可以修改表页面如图4.2.4.1.2。在修改会员信息时当需要对折扣进行修改时系统会对折扣输入值进行判断。

图4.2.4.1.1会员列表页面

图4.2.4.1.2修改会员信息

4.2.4.2代码实现

JS判断折扣输入代码:

function adf(){

var zk = document.getElementById("zk").value;

if(zk != null && zk != ""){

if(parseInt(zk)>10){

document.getElementById("zk").value="";

alert("折扣应小于10");

}

}

}

4.2.5订单管理

4.2.5.1订单管理

订单管理,主要是对会员用户提交上来的订单进行处理,并查看订单详细信息,以及查看用户选择的商品信息,在订单详细信息页面可以对该订单进行出货处理,在出货后,系统将会自动从库存信息中扣除相关产品数量。订单列表如图4.2.5.1.1,查看订单详细信息如图4.2.5.1.2。

图4.2.5.1.1订单列表页面

图4.2.5.1.2订单详细信息

4.2.5.2代码实现

主要代码是在做订单出货处理时的处理过程。代码如下:

String ordernum = request.getParameter("ordernum");

List list = gs.findordernum(ordernum);

NoteT note = ns.findordernum(ordernum);

note.setEstate("2");

for(int i=0;i<list.size();i++){

GoodsT gt = (GoodsT)list.get(i);

KucunT kt = ks.findNumber(gt.getType(), gt.getName());

String num = "1";

// String remark = request.getParameter("remark");

ChurukuT ct  = new ChurukuT();

ct.setDates(DateUtil.getCurrTime2());

ct.setEstate("2");

ct.setName(kt.getName());

ct.setNum(num);

ct.setNumbers(kt.getNumbers());

ct.setRemark("");

boolean b = cs.insertchuruku(ct);

if(b){

kt.setBlance(kt.getBlance()-Integer.parseInt(num));

kt.setChuku(kt.getChuku()+Integer.parseInt(num));

b = ks.updateKucun(kt);

}

}

boolean b = ns.updatesql(note);

if(b){

request.setAttribute("count","处理成功");

}else{

request.setAttribute("count","处理失败");

}

4.2.6类型管理

4.2.6.1类型管理

类型管理,主要有两个模块,分别:类型管理和商品名称管理。

类型管理,主要是对该系统中所有商品类型的管理,由于首页的设计,只能存放6种类型,所以在对类型管理的时候,添加类型最多只能添加6种。如图4.2.6.1.1类型管理页面。商品名称可以无任何限制的添加,如图4.2.6.1.2。

图4.2.6.1.1类型管理页面

图4.2.6.1.2商品名称页面

4.2.6.1代码实现

主要代主要是商品类型在添加的时候,做的判断处理。

int a = ts.count();

if(a<6){

tiao = "/houtai/type_insert.jsp";

}else{

request.setAttribute("count","系统类别最多为6项");

request.setAttribute("url","/types");

tiao = "/pages.jsp";

}

商品名称添加代码

String name = request.getParameter("name");

String number = request.getParameter("number");

GoodsNameT goods = new GoodsNameT();

goods.setName(name);

goods.setNumber(number);

boolean b = gs.insertShipinType(goods);

if(b){

request.setAttribute("count","添加成功");

}else{

request.setAttribute("count","添加失败");

}

4.2.7库存管理

4.2.7.1库存管理

库存管理模块,共分为三大模块分别为:库存列表,如图4.2.7.1.1,商品入库列表,如图4.2.7.1.2,商品出库,如图4.2.7.1.3。

库存管理主要是对商品的一个入库、出库、库存的一个管理,实现了一个简单的进销存管理功能。商品在入库的时候会判断该商品是否已经存在库中,如果存在库中,则对该商品库存数量进行累加,否则生一个新的商品信息。

在库存列表功能中,主要显示出系统中所有的商品的库存信息,管理员可以对该商品进行详细描述,如图4.2.7.1.4,当对商品进行了详细后,在首面就会显示详细的商品信息。

图4.2.7.1.1库存列表

图4.2.7.1.2商品入库信息

图4.2.7.1.3商品出库列表

图4.2.7.1.4商品描述

4.2.7.2代码实现

主要代码出现在商品在入库的时候,需要判断是否有该类型该名称的商品存代码如下:

KucunT kt = ks.findNumber(numbers, name);

if(kt != null){

kt.setTotal(kt.getTotal()+Integer.parseInt(num));

kt.setBlance(kt.getBlance()+Integer.parseInt(num));

b = ks.updateKucun(kt);

}else{

kt = new KucunT();

kt.setBlance(Integer.parseInt(num));

kt.setChuku(0);

kt.setName(name);

kt.setNumbers(numbers);

kt.setRemark(remark);

kt.setTotal(Integer.parseInt(num));

kt.setBlance(Integer.parseInt(num));

b = ks.insertKucun(kt);

}

if(b){

request.setAttribute("count","入库成功");

}else{

request.setAttribute("count","入库失败");

}

在对商品进行描述的时候有一个图片上传的功能,图片上传功能用到SmartUpload功能,主要代码如下:

SmartUpload mySmartUpload = new SmartUpload();

  // 服务器的相对路径

String savePath = "/upload/";

mySmartUpload.setForcePhysicalPath(true);

  // 初始化

mySmartUpload.initialize(this.getServletConfig(), request, response);

try {

mySmartUpload.upload();

} catch (SmartUploadException e) {

e.printStackTrace();

}

// 保存文件

String filename = "";

for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {

com.jspsmart.upload.File file = mySmartUpload.getFiles().getFile(i);

if (file.isMissing())

continue;

try {

filename = filename(file);

file.saveAs(savePath + filename);

} catch (SmartUploadException e) {

e.printStackTrace();

}

}

4.2.8统计报表

4.2.8.1统计报表

统计报表,主要分为两大模块,一是商品报表,对商品的出入库做的一个报表统计,二是对销售商品做的一个报表统计,统计出商品销售的成本以及赢利统计。商品报表如图4.2.8.1.1,销售统计报告表如图4.2.8.1.2。

管理员在对报表统计的时候,可以通过选择日期,选择不同时间段的销售情况及赢利情况。

图4.2.8.1.1商品报表

图4.2.8.1.2销售报表

4.2.8.2代码实现

主要实现代码为SQL语句,通过多表连查将各种信息集合在一起统一展现出来。

出入库主要SQL语句如下:

public List baobiao(String sdate,String edate,String type){

String sql = "select  t.type as type,g.name as name,sum(num) as num,estate,sum(total) as total,price from churuku_t as c,type_t as t,goods_name_t as g"+

" where c.numbers=t.id0 and c.name=g.id0"+

" and c.dates>='"+sdate+"' and c.dates<='"+edate+"' group by estate,price";

return dao.baobiao(sql);

}

销售报表主要SQL语句如下:

public List baobiao(String sdate,String edate){

String sql = "select  t.type,n.name,chengben *renshu as chengben,yuanjia*renshu as yuanjia,xianjia*renshu as xianjia,"+

"(xianjia*renshu)-(chengben *renshu ) as yingli from goods_t as g ,type_t as t ,goods_name_t as n where g.typeid=t.id0 and g.name=n.id0"+

" and g.renshu>0 and shijian>='"+sdate+"' and shijian<='"+edate+"' group by g.typeid,g.name";

return dao.baobiao(sql);

}

总结

本系统选择我在指导老师的指导下在空闲时间完成的项目,由于时间紧张可能有些功能项及业务逻辑还没考虑到的。但本论文重点写软件项目从需求分析到开发实现的整个流程。经过几个月的毕业设计,从课题选择到代码的实现,我学到了基本MVC三层架构,MySql数据库基本查询操作,JSP网站开发的很多实用知识,并且提高了自己的动手能力,同时还锻炼了自己独立解决问题的能力。特别在面向对象进行软件开发方面,自己的理解更深了。

我通过开发这个项目,巩固了以前所学的理论知识,提高了自己理论联系实际的能力,为今后进一步学习新技术打下一个很好的基础。非常感谢学校和学院给我们实训的机会,在这里我们学到很多理论知识并积累很多实践经验,为走上社会实际工作岗位做好了充足的准备,为今后的职业发展打下良好的基础。面对以后各项挑战,我有信心做得更好!

当然,由于时间和技术上的原因,该系统还是存在一些问题和不足的地方,比如在数据容量方面,由于没有经过大量数据的测试,数据库能承受多大负荷还不能确定,在美工方面,由于缺少美工经验,所以很多页面看起来可能会不那么漂亮美观,在一些细小的处理上可能还缺少进一步的考虑。

当然,作为毕业设计,我认为这是一次很好的经历,从中也学到了许多很宝贵的经验,能够在老师和同学的帮助下顺利完成这个系统,对我自己也是一种鼓舞,也给了我更大的信心、更深的理解了团队合作的重要性。

致谢

五个月的精心准备,毕业论文终于完成了。我要感谢我的指导教师。老师虽身负教学、科研重任,仍抽出时间,对我的论文更倾注了大量心血。从初稿到定稿,老师不厌其烦,一审再审,大到篇章布局的偏颇,小到语句格式的瑕疵,都一一予以指出。

同时,我要感谢学院所有给我上过课老师,是他们传授给我方方面面的知识,拓宽了我的知识面,培养了我的功底,对论文的完成不无裨益。我还要感谢学院的各位工作人员,他们细致的工作使我和同学们的学习和生活井然有序。

当然班主任、院长、教授这四年来对我们的关心和培养,对我的学习和成长有着极为积极的作用,还有和同学们相处使我的人生得意丰富。

最后我要感激各位评审老师为了我们,幸苦的来回奔波,非常感谢!

参考文献

[1] 朱丽华 陈益材.网站建设经典范例.北京:清华大学出版社,2006

[2] 张海藩著.软件工程导论(第四版).北京:清华大学出版社,2003

[3] 朱印宏著.CSS商业网站布局之道.北京:清华大学出版社,2007

[4] 郑阿奇 刘启芬 顾韵华. SQL Server实用教程(第二版).西安:电子工业出版社,2005

[5] 王珊 萨师煊.数据库概论(第四版).北京:高等教育出版社,2006

[6] 韩万江 姜立新. 软件项目管理案例教程. 机械工业出版社,2006

[7] [美]Rogers Cadenhead. Java编程入门经典.梅兴文译.第4版.北京:人民邮电出版社,2007

[8] 周之英 现代软件工程    机械工业出版社2010

[9](美)Paul Nielsen. SQL Server 2005宝典.第二版.赵子鹏译.北京:人民邮电出版社,2008.06

[10]百度百科.网络团购定义.百度百科,

2010.3.​​http://baike.baidu.com/view/651774.htm​

[11]中国电子商务研究中心.2010电子商务领域风险投资逾5.5亿美元[R].中国电子商务研究中心.2011.1. ​​http://www.sinocredit.net/articles/53/5257.html​

[12] 中国商务信用平台.首批信用认证网站名单公示.中国商务信用平台.2010.10.​​http://bcp.ec.com.cn/articles/53/5266.html​

[13] 中国商务信用平台.团购信用认证机构须符合三条件.科技日报,

2010.11.​​http://www.sinocredit.net/articles/53/5257.html​

[14]吴国庆. “团购”行为特点及影响分析 [J], 商业研究, 2003(23):145-147

电子商务研究中心.2010年中国网络团购调查报告[F].电子商务研究中心,2010.9.​​http://b2b.toocle.com​

[15] 孙泠.变味的团购[J].NEWS观察,2010,9:22-23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值