毕业论文-基于web的网上商城设计与实现.docx_第1页
毕业论文-基于web的网上商城设计与实现.docx_第2页
毕业论文-基于web的网上商城设计与实现.docx_第3页
毕业论文-基于web的网上商城设计与实现.docx_第4页
毕业论文-基于web的网上商城设计与实现.docx_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计(论文) 基于web的网上商城设计与实现学 院 信息工程学院 专 业 测控技术与仪器 (计算机方向) 年级班别 2017年 5 月 摘 要进入信息社会以来,人们的生活发生了日新月异的变化,特别是计算机的应用、互联网技术的普及,使得社会经济和生活的各个领域发生了翻天覆地的变化。为了适应市场、适应经济前进的步伐,买家和商家都在努力积极地寻找一种能够带来高效率、低成本销售模式。随着新一轮的物价上涨,网上购物也日趋成为一种主流的购物方式,网上商城购物让消费者网上购物过程变得简单、方便、安全、快捷。网上商城购物系统是一种具有交互功能的商业信息系统。它在网络上建立一个虚拟的购物商城,使购物过程变得轻松、快捷、方便。根据需求,结合自身实际情况,本系统主要实现了书籍和数码产品的销售。 本次的系统采用了spring、hibernate和struts三个框架,在性能上保证了系统的稳定性,也提高了系统开发的效率;数据库方面采用了Mysql,能满足商城处理数据的要求。本系统共分两个部分:前台用户部分和后台管理部分。在前台用户部分中,包括用户在线注册、定购商品、浏览商品、查询商品信息等操作;后台管理部分包括:商品信息的管理、用户订单的管理、用户信息管理、类别管理和公告的发布。本文中所做的主要工作如下:(1)介绍了Java、Tomcat系统的一般原理;(2)阐述整系统结构及工作原理;分析了系统实现中的特殊性、难点和重点;(3)设计实现用户注册/登录、查询、购买;管理员对网站的系统管理;(4)进行测试并分析结果。关键词:信息;互联网;Java;Hibernate;Struts;前台;后台AbstractAlong with the gradual formation of a market economy, globalization, the economy has developed rapidly in China. Peoples life greatly changed, especially the application and popularation of computers in nearly every field of economy and social life. For this reason, shopping online is getting a new-fashioned and popular shopping way. In order to adapt to the market to adapt to the pace of growth of our economy, buyers and businesses are working actively to find a way to bring high efficiency, low cost sales model. The shopping online system, which is a kind of business information system with the function of interaction, establishes a dummy shopping market to make the purchase process becoming more and more convenient.In this system,it sells digital products and books only according the actually requirements.To develop a effective system,i use two freamwork ,there are spring,struts and hibernate. As the part of database,i choose Mysql.The whole system is divided into two parts,there are pages of products and background.The main work in this text is as follows:First,to introduct the theory of Java and Tomcat;Second,elaborate the whole system structure and the work principle of the whole characteristic pages boring system; Analyzing the special、difficulty、and the key point in the realization of the system;Third,design to carry out the customer registration, searching, shopping; The system management to the website by administrator; The characteristic page dynamic state is born- return to show to the procedure mold piece; Analyze and resolve some technique problem in the implementation; Last,establish the whole experiment website; carry on the test and to analysis the result.Key words: computers;shopping online;Java ;Hibernate;Struts;目 录1 绪论11.1 研究背景11.2 目前网上购物发展现状11.3 本文研究的目的和内容21.4 系统开发环境32 需求分析52.1 系统概述52.2 需求分析52.2.1 功能需求62.2.3 业务流程图63 总体设计103.1 系统总体设计103.2 数据库设计123.2.1 数据库设计概要123.2.2 数据分析123.2.3 ER图设计133.3 详细设计143.3.1 技术介绍14(1) Java14(2) Hibernate框架的介绍17(3) Struts框架的介绍17(4) Tomcat的介绍183.3.2 系统主界面193.3.3 用户登录193.3.4 用户注册203.3.5 购物车模块、下单模块213.3.6 用户信息管理213.3.7 订单信息管理223.3.8 商品信息管理223.3.9 类别信息管理234 系统测试244.1 测试目的及重要性244.1.1 测试目的244.2 系统测试254.2.1 系统登陆模块测试254.2.2 注册模块测试254.2.3 购物车模块测试264.2.4 订单模块测试264.2.5 系统主要特色264.2.6系统不足27结论28参 考 文 献30致 谢31附录A 密码加密源码321 绪论1.1 研究背景电子商务,就是在网上开展商务活动。它是以电子交易为手段,完成金融、物品、服务、信息等价值的交换,是快速而有效地进行各种商务活动的最新方法。电子商务的出现,改变了传统的一手交钱一手交货的模式,使得商业模式发生了很大的变化。进入21世纪以来,随着计算机科学技术的发展,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通流域,互联网的跨地域性和可交互性使其在与传统媒体行业和传统贸易行业的竞争中是具有不可抗拒的优势。人们对于互联网技术的要求已不在停留在浏览网页等普通的应用上,特别是年轻人对新型的购物方式的需求日益增长,在这个背景下,许多的网上商城应运而生,使得人群的购物方式发生了巨大的改变。无论是企业之间B2B,还是企业和客户之间B2C的交易,如果能够实现网上交易将大大提高交易速度节约成本。但是对网络的及时、一对一、跨时间、 跨空间等特性,并没有充分加以利用。对于普通的客户来说,他们希望通过网上购物买来物廉价美的物品,这样可以省去出门购物的时间。因此,系统的设计上突出体现实用的服务性功能,建立一个实用、适用的可交互的综合网上商务服务平台。客户实现足不出户完成对产品的浏览、购买意向以及与企业进行产品交易行为。1.2 目前网上购物发展现状最近几年电子商务得到了迅速的发展。尽管各个国家具体情况不同,但是基于对国家经济发展的预测,各国政府都很重视电子商务,并且积极地发展电子商务。电子商务在这些年的发展中已经日趋成熟,B2C的市场也因为各大巨头的加入而狼烟四起。不管是易趣的铩羽而归,还是TOM的卷土重来;不管是淘宝的一家独大,还是拍拍的望洋兴叹;网上购物系统的开发成为其中最受关注的“网商”必争的对象。不少有忧患意识的网商已经开始为自己的未来谋划出路,而解决方式却是惊人的一致:通过网上购物系统的开发建立独立的网店,并实现网络店铺和独立网店的同时运营。我国电子商务发展呈现典型的块状经济特征,东南沿海属于较为发达地区,北部和中部属于快速发展地区,西部则相对落后。在发达国家,电子商务的发展非常迅速,通过Internet进行交易己成为一种潮流。基于电子商务所连带出的商品交易方案、电子结账方案和信息安全方案等,已逐步成为国际信息技术市场竞争的焦点。随着电子商务的日益发展,产生了虚拟银行、网络营销、网上购物、网络广告等新兴信息产业,从侧面反应了电子商务正在对社会和经济产生着深刻的影响。2013年中国网络零售市场交易规模达18851亿元,较2012年增长42.8%,占社会消费品零售总额的8.04%。2013年中国网络购物市场之所以依然保持较高的增长,主要归结于以下原因:一是伴随网购市场日益规范,越来越多的人加入到网购队伍当中;二是电商企业在一二线城市发展稳定后,逐渐向三四线城市延伸,推动了网购市场扩大;三是2013年移动购物成为一股力量,推动网购的进一步发展。2014年中国网上零售市场交易规模达28637.2亿元,增速为45%,继续保持高增长的态势。2014年,网上零售市场增长迅猛,渗透率稳步提升,已成为国民经济重要组成部分,四季度“双十一”“双十二”促销季再次引爆网购热潮,网上零售业务对中国整个零售产业的影响愈加深刻。随着阿里巴巴、京东等电商巨头相继上市,网上零售市场格局逐渐清晰,淘宝、天猫、京东位居第一集团,无论是市场份额、业务创新,还是品类丰富度,都处于领先地位。其他电商企业则努力在细分市场稳固地位,在品类、模式等方面寻求突破。目前网上零售市场已基本形成“双超多强”的格局,并将长期保持目前的竞争力分析。1.3 本文研究的目的和内容目前在线购物虽然迅猛发展,作为电子商务一个重要模型之一的B2C模式却远远落后于B2B的发展,其中一个重要的原因是电子商务平台不能全面的解读电子商务,使电子商务只停留于形式。虽然我国互联网上已经有很多个电子商务网站,但真正能实现电子商务功能的却少之又少,很多的电子商务网站只是盲目的开站,却始终没有理解电子商务的真正含义。甚至于有很多是为了迎合电子商务发展而单纯建立一个界面,放几件商品,后台的工作完全不存在。因此开发一个功能全面,适合我国商务特色的,经济实用的电子商务平台是非常需要和必要的。本系统的研究目的是为了提高购物者和管理员的效率,为用户提供一个安全、方便的购物环境,同时也带动快递等相关行业的发展。开发分为两个部分,面向用户的部分,包括:顾客在线注册、购物、提交订单、付款等操作;另外一部分是管理部分,这部分的内容包括:产品的添加、删除、查询、订单的管理、操作员的管理、注册用户的管理等。在互联网日益发展的今天,网络购物已经不是什么新鲜的事物,一些大型的网络购物网站每年都会有上亿的成交量,其中比较出名的网络购物网站有:易趣,淘宝,阿里巴巴等,这些网上商店大多是综合的商场,网络商品五花八门,包罗万象,还有一些购物网站只销售单一商品,例如,华储网只销售图书。本网上商店是一套基于数据库的商品产品发布管理系统,可用于商品产品的实时发布以及企业产品数据管理,前台用户可通过页面浏览,查询和订购产品,后台管理员可以管理产品价格,简介,图片等多类信息。销售规模不受地盘限制。传统商店有多大就只能摆放多少商品,生意大小常常被小店面积限制。而在网上,即便在地面上只有一个小商店,或者干脆就没有门面,开店的生意却可以照样做得很大。不受店面空间的限制。哪怕只是街边小店,在网上却可以拥有百货大楼那么大的店面,只要投资者愿意,可以摆上成千上万种商品。目前国内最大的专业拍卖网站同时在线的商品要超过10万件已超过一些大超市。不受地理位置影响。不管客户离店有多远,也不管顾客是国内还是国外,在网上,客户一样可以很方便地找到并购买商品。这令消费群体突破了地域的限制,变得无限广阔了。该系统在功能上基本实现一个网上商店的应用。1.4 系统开发环境本系统采用B/S结构,前台开发工具为Eclipse,后台数据库是Mysql,服务器是Tomcat,软件要求:操作系统为Windows 10,Internet Explorer 8.01 或更高版本,硬件要求:Pentium 133 MHz* Pentium 133 MHz 或更快 128 MB* 256 MB 或更高。B/S结构的数据库访问模式B/S结构是真正的三层结构,它以访问Web数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问Web服务器和与其相连的后台数据库,我们称之为B/S(Browser/Server)模式。其三级结构组成如图1-1所示,图中从左到右,分为三个层次:第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上;客户端后台数据库WEB服务器客户端图1-1三级结构组成第二层Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;第三层数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。与传统的C/S模式相比,B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。对于有大量数据要处理的商城来说,使用C/S结构明显是不符合要求。由以上的比较分析可知,三层结构也可以理解为增加WEB服务器的C/S模式。2 需求分析软件需求分析工作是软件生存周期中重要的一步。只有通过需求分析才能把软件功能和性能的总体概念描述为具体上的软件需求规格说明,从而奠定软件开发的基础。软件需求分析工作也是一个不断认识和逐步细化的过程。该过程将软件调研阶段的需求资料进行分析和设计,使软件范围逐步细化到详细定义的程度,并分析出各种不同的软件元素,然后为这些元素找到可行的解决办法。本章将从不同角度的需求分析问题,讲述软件需求类型,分析过程,并部分给出了数据字典和数据流图。2.1 系统概述采用结构化系统分析的方法,建立新系统的逻辑模型,此模型尽量避免使用计算机术语,便于企业的计算机人员与系统开发人员的共同讨论。本系统的结构是层次化的暗盒模块结构。对高层模块,将采用以事物为中心的设计策略,把一个大的复杂的系统逐步分解成小的相对简单的暗盒模块,对低层模块,采用以变换为中心的设计策略。因此,为了提高模块的内聚性,降低模块的耦合程度,数据库的设计原则是把它作为模块间的邮政信箱,从而为实现数据共享由提高了模块的独立性,使系统具有很高的可修改性。通过分析我们可以得知用户对目标软件系统在功能、行为、性能、设计约束等方面的期望,从而有助于我们开发出用户满意的产品。前台用户需求分析,用户可以进行购物,查看购物车及查看订单的操作。用户需要登录和注册个人账户,同时可以修改个人信息。要求数据的安全性,完整性。要有安全保密、上下级数据一致性功能,本系统只设一个超级管理员,所以在数据的安全性方面较好。企业单位登陆后,如果需要修改产品的数量,完成操作后需要经过超级管理员的审核才可以通过。后台管理员需求分析,管理员需要对商品进行设置包括查看、删除、添加、修改等操作。管理员能对会员信息进行查看和删除,对订单信息能够进行查看、出货、删除,对公告进行设置。2.2 需求分析2.2.1 功能需求 面向用户部分功能:(1)注册功能。顾客首先要注册为网上商城的用户。注册时只要填写登录用户名、密码、联系电子信箱等信息即可。注册后,用户可继续如实填写详细个人信息及收货人信息,同时可修改密码、查询及修改订单。(2)选择产品功能。顾客浏览网上商城,将自己需求的产品放入到购物车中(可在网上商城首页、专柜首页、产品小类、专卖店首页、搜索结果页面、产品详细信息页面进行该操作),可连续添加商品。(3)管理购物车。顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。(4)订单功能。顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用(填写电话,地址,姓名等)。顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作。(5)付款功能。顾客在订单被销售方确认后,要选择付款方式,并付款给销售方,然后才可以收到货。 后台管理部分功能:(1)管理人员部分。该部分的用户有一个超级管理员,超级管理员拥有最高权限,可访问所有订单,可浏览、查询订单,可浏览、修改普通管理员和会员的资料,负责订单管理,可浏览、修改订单状态,可浏览会员信息,也需要管理界面,可增、删商品和广告等操作。(2)管理订单功能。顾客可通过Web方式取消、修改自己提交的订单(在管理员确认前),查询自己提交的订单(随时)。(3)管理商品功能。管理员可以添加、修改、删除商品。(4)可以供企业的用户修改商品的数量,但是需要经过管理员的审核。2.2.3 业务流程图购物商城会员注册登陆购物关键字查询分类检索挑选商品购物车继续购物修改购物车会员登陆填写或修改用户信息确认订单付款完成订单订单查询修改收货图2-1 业务流程图 主要的业务的流程是,会员浏览商品,找到自己喜欢的商品后选择加入购物车,如果是已近登陆的会员直接跳转进购物车页面,如果是未登录的用户,则提示用户需要先登陆。在主页面上,有一些公告和最新的动态,还有一些商品的搜索功能,用户可以通过点击完成相应的操作,在选择玩商品以后,可以选择继续购物或者是直接付款,在选择付款以后,在管理员处就能看到有这个订单,然后需要完成发货,如果库存足够,就完成发货,然后修改订单的状态,如果库存不足,则修改订单状态。3. 管理员1. 会员2. 网上购物系统下(查询、修改订)单订单反馈订单管理系统管理付款发货图2-2 顶层数据流图用户可以在界面进行商品的查询,搜索,下订单。当已经下订单,订单信息就会传输都后台,管理员这时候可以查看到订单信息,进行订单管理。若订单信息没有错误,用户就可以继续付款,付款成功之后,管理员可以进行发货。1.1未登录1.3登录验证1.2已登录验证成功验证失败登录1.4注册验证注册注册失败注册成功 会员信息记录文件注册成功1.5个人信息查询、修改下订单查询、修改订单订单反馈图2-3 网上购物系统一层图(会员)2.1 订单管理系统订单查询、修改订单订单反馈2.2 界面管理系统2.3 注册会员管理系统管理员图2-4 网上购物系统一层图(购物系统)用户首先会进入登录页面,若有账号就可以直接登录,若没有账号,就可以进行注册,当填入必须的注册信息就可以进行注册,注册成功之后就会直接进行登录。登录直接就可以进行用户操作(查询商品,选择商品,进行购物,管理购物车,下订单等),然后订单信息会交给后台。管理员可以进行订单管理,用户管理界面管理。3.1管理员订单管理系统已无库存3.2 管理员界面管理系统3.3 管理员注册会员管理系统3.4 个人信息修改 管理员信息记录文件 订单记录文件图2-5 网上购物系统一层图(管理员系统)3 总体设计3.1 系统总体设计本阶段设计的目标是解决系统的实现,也称概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。总体设计过程通常有两个主要阶段组成:系统设计和结构设计,其中系统设计确定系统的具体实现方案,结构设计确定软件结构。结构化设计技术的核心是模块分解设计,模块上系统结构图的主要元素。其设计思想是,采用自顶向下、逐层分解的方法,先给出总的模块功能,再逐层分解,使其分为多个大小适当,功能明确,具有一定独立性且容易实现的模块,从而把一个复杂的系统设计转变成为多个简单模块的设计。在本系统中,采用了模块结构化设计方法,根据数据流图,按层次划分各个模块,每个模块完成一个功能,且每个模块具有单入口单出口。该系统分为前台和后台,每个模块的功能都是按照在调研中搜集的资料进行编排制作的。前台包括用户信息查看修改、商品分类展示、商品分类查询、高级查询、购物车功能、新闻资讯、用户注册、用户登陆等模块。后台包括基本信息管理、商品管理、订单管理、审核信息、公告管理等模块。前台各个模块的详细功能说明如下: (1)注册功能。顾客首先要注册为网上商城的用户。注册时只要填写登录用户名、密码、联系电子信箱3项信息即可。注册后,用户可继续如实填写详细个人信息及收货人信息,同时可修改密码、查询及修改订单。(2)选择产品功能。顾客浏览网上商城,将自己需求的产品放入到购物车中,还可以对商品进行搜索,可连续添加商品。(3)管理购物车。顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。(4)订单功能。顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作。系统前台功能结构图如图4-1所示。网上商城改个人信息商品查询修改密码新闻资讯用户注册用户登陆 图3-1 系统前台功能结构图后台各个模块的详细功能说明如下:(1)用户信息管理:可以产看所有用户的信息,包括用户名、密码、积分、注册日期等等的信息,同时提供修改、删除、增加用户的功能,系统只设一个超级管理员。(2)类别管理:管理所有类别信息,显示所有的类别的名称、描述、编号、等级、是否有效等,同时提供增加根类别,可以在已知的类别下面增加相应的子类别,可以修改和删除相应的类别。(3)商品管理:管理所有商品信息,显示所有的商品的名称、价格、出版社、作者、库存、图片、是否有效等,可以修改和删除还要添加相应的商品。(4)订单管理:管理所有订单信息,显示所有的订单的名称、价格、状态、付款方式等,可以修改和删除订单信息。(5)审核内容:这个功能主要针对本系统开放给厂商的一个功能,就是添加和修改商品的功能,但是都需要经过超级管理员的审核才可以生效。(6)公告管理:管理所有公告信息,显示所有的公告的名称、内容、日期、状态等,可以修改和删除公告信息。增加商品修改商品删除商品添加类别修改类别删除类别增加公告修改公告订单管理删除订单修改订单类别管理公告管理用户管理增加用户修改用户删除用户审核内容审核商家输入商品管理删除公告网上商城图3-2 系统前台功能结构图3.2 数据库设计3.2.1 数据库设计概要数据库设计是在给定的DBMS、操作系统和硬件环境下,如何表达用户的需求,并将其转换为有效的数据库结构,构成较好的数据库模式,这个过程称为数据库设计。数据库及其应用系统开发的全过程可分为两大阶段:数据库系统的分析与设计阶段;数据库系统的实施、运行与维护阶段。数据库设计的任务是根据一个单位的信息需求、处理需求和数据库的支撑环境,设计出数据模式(包括外模式、逻辑(概念)模式和内模式)以及典型的应用程序。其中信息需求表示一个单位所需要的数据及其结构。处理需求表示一个单位需要经常进行的数据处理。前者表达了对数据库的内容及结构的要求,也就是静态要求;后者表达了基于数据库的数据处理要求,也就是动态要求。信息需求定义所设计的数据库将要用到的所有信息,描述实体、属性、联系的性质,描述数据之间的联系。处理需求定义所设计的数据库将要进行的数据处理,描述操作的优先次序、操作执行的频率和场合,描述操作与数据之间的联系。3.2.2 数据分析数据也称观测值,是实验、测量、观察、调查等的结果,常以数量的形式给出。数据分析的目的是把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,以找出所研究对象的内在规律。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。数据分析是组织有目的地收集数据、分析数据,使之成为信息的过程。这一过程是质量管理体系的支持过程。在产品的整个寿命周期,包括从市场调研到售后服务和最终处置的各个过程都需要适当运用数据分析过程,以提升有效性。例如J.开普勒通过分析行星角位置的观测数据,找出了行星运动规律。又如,一个企业的领导人要通过市场调查,分析所得数据以判定市场动向,从而制定合适的生产及销售计划。因此数据分析有极广泛的应用范围。3.2.3 ER图设计本系统采用E-R图的方法进行数据库概念结构设计。系统E-R图如下所示:图3-3 系统前台功能结构图3.3 详细设计详细设计的根本目标是确定应该具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。在项目开发时,使用一种稳定成熟的框架是项目成功的重要因素。MVC的基本思想就是逻辑与显示的分离,Model是应用程序的主体部分,它表示业务数据或者业务逻辑,View是应用程序中与用户界面相关的部分,也就是用户看到并与之交互的界面,Controller根据用户的输入,控制用户界面数据的显示和更新Model对象的状态,MVC不仅实现了功能模块和显示模块的分离,同时也提供了应用系统的可维护性、可扩展性、可移植性和组件的可重用性。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。根据上述运行可行性分析以及系统的数据库与系统的功能模块概要设计后,结合实际情况,先将系统运行平台设置如下:1服务器端硬件环境:CPU:Intel Pentium4或更高、内存:1G客户端硬件环境:CPU:Intel Pentium4、内存:1G由于客户端主要用于浏览器和操作数据,所以对客户端的硬件要求不高。2服务器端软件环境:Web服务器:Tomcat8、Java 开发包:JDK1.6以上、数据库:Mysql、开发工具:Eclipse ,3客户端软件环境:浏览器:Internet Explorer 6.0或以上3.3.1 技术介绍(1) JavaJava,是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由当时任职太阳微系统的詹姆斯高斯林(James Gosling)等人于1990年代初开发。它最初被命名为Oak,目标设置在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,在1995年5月以“Java”的名称正式发布了。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Java编程语言的风格十分接近C+语言。继承了C+ 语言面向对象技术的核心,Java舍弃了C+语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间。在Java SE 1.5版本中Java又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java不同于一般的编译运行计算机语言和解释执行计算机语言。它首先将源代码编译成字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,这同时也在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的运行速度有了大幅提升。与传统程序不同Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。关于Java的批评Java试图通过新的方式解决软件编写的复杂性。很多人认为Java语言做到了它承诺的一切。但是Java并不是一门完美的语言。整体性问题并不是所有的工程和环境需要企业级别的复杂性,比如一个简单的个人网站或者独自编程的程序师所写的程序。这些程序师会发现Java的复杂管理对于自己要做的程序来说过于强大了。一些人觉得Java在面向对象上面做的没有Ruby和Smalltalk纯粹。但是最新出现的用Java实现的语言Groovy解决了这些问题。语言问题有些程序师不喜欢原始类型(primitive type)和类(class)的分离,尤其是那些曾经使用过Smalltalk和Ruby的程序师。Java的代码相对于其他的代码来说过于冗长,这与它的轻便化声明相违背。Java是一种单层继承的语言。这也导致了程序师在试图使用多重继承时候的不便,而很多语言都可以使用这个特性。但是Java可以使用接口类,把多重继承可能导致的风险减少到最小。Java不支持运算符重载,这是为了防止运算符重载使得代码的功能变得不清晰。但是用Java实现的语言Groovy可以进行运算符重载。过去Java对于文本的操作和其他语言,比如Perl和PHP相比差的较多,但Java在1.4版本时候引入了正则表达式。类库问题使用Swing平台编写的带有GUI(图形用户接口)的程序和其他原始程序非常不同。选用AWT工具包编写程序的程序师看到的都是原始接口,而且也无法获得先进的GUI编程支持,如果使用的话,就要提供每个平台上面所需的API,这将是一项庞大的工程。Swing则是完全用Java语言所写的程序,避免了接口元素重复的问题,只使用所有平台都支持的最基本的绘图机制。但是很多用户不知道如何在Java风格和Windows风格之间进行转换,结果造成了Java程序的接口在很多程序中非常特殊。苹果电脑已经提供了优化过的Java运行时程序,包含了Mac OS X的经典Aqua接口风格。性能问题由于Java编译器和虚拟机的不同对Java代码的性能影响比语言本身的影响大的多,所以统一讨论Java的程序的性能经常是有误导性的。据IBM的数据,在同样的硬件上2001年时的IBM JDK版本的性能是1996年的JDK版本的十倍左右。Java语言的一些特性不可避免的有额外的性能代价,例如数组范围检查、运行时类型检查等等。Java程序的性能还会因为不同的动态复杂性和垃圾处理机制使用的多少而各有不同。如果JVM的实现比较优化的话,那么这些功能甚至可以增加存储器分配的性能。这和总是使用STL或者托管C+的程序的情况类似。尽管如此,仍然有许多人认为Java的性能低。这部分归因于Sun公司最初的JVM实现使用未优化的解释机制来运行字节码。一些新版本的JVM使用Just-In-Time(JIT)编译器,在加载字节码的时候将其编译成针对运行环境的本地代码来实现一些本地编译器的优化特性。Just-In-Time机制和本地编译的性能比较仍旧是一个有争议的话题。JIT编译需要很多时间,对于运行时间不长或者代码很多的大型程序并不适宜。但是不算JIT编译阶段的话,程序的运行性能在很多JVM下可以和本地编译的程序一争短长,甚至在一些计算比较密集的数值计算领域也是这样。目前,Java已经使用更先进的HotSpot技术来代替JIT技术,Java的性能有了更进一步的提升。另外,在使用-server选项运行java程序时,也可以对java进行更深入的优化,比如在运行时将调用较多的方法内联(inline)到程序中来提高运行速度,这就是所谓的“动态优化”,而本地编译器是无法做到这一点的;这也是一些java代码比对应用C/C+等语言编写的本地代码运行的更快的原因之一。微软的.NET平台也使用JIT编译器,所以也有类似问题。Java的设计目的主要是安全性和可携性,所以对于一些特性,比如对硬件架构和存储器地址访问的直接访问都被去除了。如果需要间接调用这些底层功能的话,就需要使用JNI(Java本地接口)来调用本地代码,而间接访问意味着频繁调用这些特性时性能损失会很大,微软的.NET平台也有这样的问题。所以到目前为止,性能敏感的代码,例如驱动程序和3D视频游戏,还是大多使用本地编译,甚至直接以不直接支持面向对象的C语言或机器码编写。但最近已经有了许多用纯Java编写的3D游戏,其效果与用C语言编写的不相上下,例如“合金战士”(英文名:Chrome)。这主要是因为新版的Java 3D技术已经能像C+一样调用硬件加速,也就是使用显卡来加速,无论是C+还是Java语言写的3D游戏都是使用显卡及GPU来处理,从而使得CPU可以专注于其他方面的工作。(2) Hibernate框架的介绍Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。 概览它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。.NET 上的 HibernateHibernate 有个在 .NET Framework 上的实现版本,称为 NHibernate,在 ADO.NET Entity Framework 发表之前,NHibernate 是在 .NET Framework 上经常被使用的 ORM 实现。Hibernate的架构有三个主要部分组成:1、连接管理:Hibernate的连接管理服务提供的数据库连接的有效管理。数据库连接是与数据库进行交互,因为它需要大量资源的开放和关闭数据库连接的最昂贵的部分。 2、交易管理:事务管理服务提供给用户能够同时执行多个数据库报表。3、对象关系映射:对象关系映射是从对象映射模型的数据表示为关系数据模型的技术。这部分是用来休眠选择,插入,更新和删除记录窗体的基础表。当我们传递一个对象到Session.save()的方法时,Hibernate读取该对象的变量的状态,并执行必要的查询。Hibernate是很好的工具尽可能对象关系映射的关注,但在连接管理和事务管理方面,它在性能和能力缺乏。所以通常冬眠与其他正在使用的连接管理和事务管理工具。例如Apache的二溴氯丙烷是用于与Hibernate的连接池。Hibernate提供了使用中的灵活性。它被称为“轻型”的体系结构时,我们只使用对象关系映射的组成部分。而在“全面解决”的体系结构的所有三个组件对象关系映射,连接管理和事务管理)的使用。 (3) Struts框架的介绍Struts项目是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller设计模式的应用框架,是MVC经典设计模式中的一个经典产品。MVC结构在Struts中,已经由一个名为ActionServlet的Servlet充当 控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的struts-config.xml的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。在MVC的 模型(Model)部分,经常划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动作),这两个概念子系统分别具体对应Struts里的ActionForm与Action两个需要继承实现超类。在这里,Struts可以与各种标准的数据访问技术结合在一起,包括Enterprise Java Beans(EJB), JDBC与JNDI。在Struts的视图(View)端,除了使用标准的JavaServer Pages(JSP)以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合,比如Velocity Templates,XSLT等。通过应用Struts的框架,最终用户可以把大部分的关注点放在自己的业务逻辑(Action)与 映射关系的配置文件(struts-config.xml)中。发展历程在Java EE的Web应用发展的初期,除了使用Servlet技术以外,普遍是在JavaServer Pages(JSP)的源代码中,采用HTML与Java代码混合的方式进行开发。因为这两种方式不可避免的要把表现与业务逻辑代码混合在一起,都给前期开发与后期维护带来巨大的复杂度。为了摆脱上述的约束与局限,把业务逻辑代码从表现层中清晰的分离出来,2000年,Craig McClanahan采用了MVC的设计模式开发Struts。后来该框架产品一度被认为是最广泛、最流行JAVA的WEB应用框架。Struts 2在2006年合并,WebWork与Struts这两个优秀的Java EE Web框架Web Framework的团体,决定合作共同开发一个新的,整合了WebWork与Struts优点,并且更加优雅、扩展性更强的框架,命名为“Struts 2”,原Struts的1.x版本产品称为“Struts 1”。至此,Struts项目并行提供与维护两个主要版本的框架产品:Struts 1与Struts 2。很多开发人员认为Struts目前尚不成熟,应用的成本较高。 附带的一点点建议: Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。 Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。(4) Tomcat的介绍Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将 Tomcat 和 Apache Web 服务器混淆,Apache Web Server 是一个用 C 语言实现的 HTTP web server;这两个 HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了一个配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。Tomcat 是一个轻量级的应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论