版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要互联网技术发展到现在已经相当成熟,互联网已经成为一个全世界最大最全的信息中心,越来越多的人在利用互联网来完成他们的工作,同时也有越来越多的人利用互联网来解放他们的生活,他们利用互联网来完成几乎所有所有现实生活中的事物。由于所有的领域都在利用互联网,传统商业也是,现在已经有越来越多的商家将他们的生意搬上了互联网,他们小一点的可以开个小的网店。大一点的可以开个网站。本次毕业设计的题目就是设计和实现一个网上售书的电子商务网站。为一个传统的书店提供一个网上展览和销售的平台。本系统主要以Struts和Hibernate加Mysql为开发基础,以JSP为前台表现手段。在功能上面基本实现一个电子商务网站
2、应该有的功能模块,包括前台和后台两个层面。前台方面主要功能有:用户注册,登录,注销,添加收货人信息,修改收货人信息,删除收货人信息,浏览商品。添加商品进购物车,修改购物车中商品,删除购物车中商品,清空购物车,将购物车中商品生成定单,查看定单,查看定单明细。后台方面主要功能有:查看管理员列表,添加管理员,删除管理员,修改管理员,查看用户列表,添加用户,删除用户,修改用户,查看商品列表,添加商品,删除商品,修改商品,查看定单列表,删除定单等。关键字:StrutsHibernateB/SAbstractInternettechnologyhasbeendevelopedtoamature,theIn
3、ternethasbecomeaworld-widelargestandmostoftheinformationcenter,anincreasingnumberofpeopleusingtheInternettocompletetheirwork,andalsomoreandmorepeopleusetheInternettotheliberationoftheirlivesTheyusetheInternettocompletealmostallofallthethingsinreallife.SinceallthefieldsintheuseoftheInternet,tradition
4、albusinessisalsonowagrowingnumberofbusinessmenwillbetheirbusinessontotheInternet,thesmallertheycanopenasmallshop.Thebigpointcanopenawebsite.ThegraduationprojectisthesubjectofDesignandImplementationofanon-lineBooksellersofecommercesites.Foratraditionalonlinebookstoretoprovideaplatformforexhibitionand
5、sale.ThissystemismainlytoStrutsandHibernatebasisforthedevelopmentandMysqltoJSPforthefutureperformanceofmeans.Intheabovebasicrealizationofafunctionale-commercesitesshouldhavefunctionalmodules,includingtheprospectsandthebackgroundlevel.Prospectsinthemainfeaturesare:userregistration,signin,write-off,ad
6、dtheconsignee,theconsigneetoamendtheinformation,deletetheconsigneeinformation,visitthemerchandise.Addgoodsintotheshoppingcart,shoppingcartofgoodsamendedtodeletetheshoppingcartofgoods,emptyshoppingcart,thecartwillgenerategoodsorders,vieworders,ordersDetailsview.Backgroundinthemainfeaturesare:Showthel
7、istadministrators,managersadd,deleteadministrator,modifyadministratortoviewthelistofusers,addusers,deleteusers,modifytheusertoviewthelistofgoods,addedcommodities,commoditiesdelete,modifyMerchandise,vieworderslist,deleteandsoonorders.Keyword:StrutsHibernateB/S1绪论近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠
8、道并进入传统的流通领域。于是电子商务开始流行起来,一种全新的购物理念开始形成并逐步发展。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介等;动态信息是指随时变化的商务,是通过电子化的手段来完成商业贸易活动的一种方式。等等。那么究竟什么是电子商务?电子商务,顾名思义是指在互联网上进行的电子化的商务活动。从狭义上看,电子商务也就是电子交易,主要指利用Web提供的通信手段在网上进行交易活动,包括通过Internet买卖产品和提供服务。产品可以是实体化的,如汽车、电视,也可以是数字化的,如新闻、录像、软件等基于比特的产
9、品。此外,还可以提供各类服务,如安排旅游、远程教育等。总之,电子商务并不仅仅局限于在线买卖,它将从的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。今天,我们已经可以确信电子商务毋庸置疑是未来的发展方向。但是电子商务却还没有一个标准的定义。Intel公司认为:电子商务=电子市场+电子交易+电子服务;旧M认为:电子商务=web;HP公司则说:电子生产到消费各个方面影响进行商务活动的方式。除了网上购物,电子商务还大大改变了产品的定制、分配和交换的手段。而对于顾客,查
10、找和购买产品乃至服务的方式也大为改进。而从广义上讲,电子商务还包括企业内部商务活动,如生产、管理、财务等以及企业间的商务活动,它不仅仅是硬件和软件的结合,更是把买家、卖家、厂家和合作伙伴在Internet、Intranet和Extranet上利用Internet技术与现有的系统结合起来开展的业务活动。从最初的电话、电报到电子邮件以及20多年前开始的EDI,都可以说是电子商务的某种形式;发展到今天,人们已提出了包括通过网络来实现从原材料的查询、采购、产品的展示、定购到出品、储运以及电子支付等一系列贸易活动在内的完整电子商务的概念。在发达国家,电子商务已发展迅速,通过Internet进行交易已成为
11、潮流。2开发环境及开发工具的介绍2.1 Java语言介绍Java语言是一门高级程序设计语言.它在各个重要的行业部门得到了广泛的应用,Java技术的通用性、高效性、平台移植性和安全性,使之成为网络计算的理想技术.除上面的技术之外还有其他的特点:Java语言是面向对象的语言,主要集中在对象和接口的设计。Java将具有相同特性的数据封装成一个类,实现了对现实实体的抽象,也就是对对象的总体描述;Java可以实现模块化和信息隐藏,Java将数据和操作数据的方法封装在一起,使得数据全都隐藏起来,暴露给外面程序的仅是对数据操作的方法;一个类提供了一类对象的原型,通过Java的继承机制,子类可以使用父类所提供
12、的方法,从而实现了代码的复用;多态就是一个实体多种形态,在Java中表现的最突出的就是一个类实现了多个接口,从而可以有多个功能。另外Java语言是安全的,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用"特洛伊"木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。Java程序是可移植的,与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。同时Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的Java运行时系统由标准C实现,这使得Java系统本身也具
13、有可移植性。Java语言和其它解释执行的语言如BASIC不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。2.2 JavaBean介绍简单地说,JavaBean是用Java语言描述的软件组件模型,其实际上是一个类。这些类遵循一个接口格式,以便于使函数命名、底层行为以及继承或实现的行为,可以把类看作标准的JavaBeanffl件进行构造和应用。JavaBean有以下特点:易于维护、使用、编写。可实现代码的重用性。可移植性强,但仅限于Java工作平台。便于传输,不限于本地还是网络。可以以其他部件的模式进行工作。Java程序中往往有重复使用的段落,Jav
14、aBean就是为了能够重复使用而设计的程序段落,而且这些段落并不只服务于某一个程序,而且每个JavaBean都具有特定功能,当需要这个功能的时候就可以调用相应的JavaBean从这个意义上来讲,JavaBean大大简化了程序的设计过程,也方便了其他程序的重复使用。2.3 Servlet/Js阶绍Jsp<JavaServerPage)是在普通Html中嵌入了Java代码的一个脚本,在这一点上,它与其它的脚本语言一样,但它与其它语言不同的是:其它脚本语言由服务器直接解释这个脚本,而Jsp则由Jsp容器<如Tomcat)首先将其转化为Servlet,然后再调用Javac将Servlet编
15、译为Class文件.最终,服务器解释的是Class文件.那么什么是Servlet呢?Servlet其实是一个特殊的Java类,Servlet类一般从HttpServlet类继承而来,在这个类中至少要实现doGet或者doPost函数,在这两个函数中处理来自客户的请求,然后将结果返回.2.4 Eclips阶绍Eclipse是一种可扩展的开放源代码IDE.,业界厂商合作创建了Eclipse平台.Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了工程工作流程,使开发者可以专注在实际的业务上.利用Eclipse,我们可以将高级设计(也许是采用UML与低
16、级开发工具(如应用调试器等结合在一起.如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件.事实上,由于Eclipse并不了解开发语言,所以无论Java语言调t器、C/C+调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点.Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台.Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。2.5 Tomcat介绍T
17、omcat是一个免费的开源的Serlvet容器,是一个开源的服务器,里面可以装载WAR的类似于JAR的压缩文件,这个文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要.通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类如JavaBear)在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到
18、这个文件,并将其解压.你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译.编译以后,访问将会很快2.6 MySql介绍MySQL是一个真正的多用户、多线程SQL数据库服务器,它是一个客户机/服务器结构的实现。MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点。MySQL主要目标是快速、健壮和易用。关键的是它是免费的,可以在Internet上免费下载到,并可免费使用。MySQL对于一般中小型,甚至大型应用都能够胜任。MySQL是开源的,开源意味着任何人都
19、可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL要不需要支彳任何费用.如果你愿意,你可以研究其源代码,并根据你的需要修改它3开源框架介绍3.1 Hibernate介绍3.1.1 Hibernate的工作方式使用Hibernate惟一需要做的就是创建一份XML“映射文档”,告诉Hibernate希望保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求Hibernate以对象的形式获取数据,或者把对象保存为数据.Hibernate在运行时,Hibernate首先读取映射文档,然后动态构建Java类,以便管理数据库与Java之间的转换.在Hibernat
20、e中有一个简单而直观的API,用于对数据库所表示的对象执行查询.要修改这些对象,一般情况下)只需在程序中与它们进行交互,然后告诉Hibernate保存修改即可.类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉Hibernate有关它们的信息,这样就能在数据库中保存它们.HibernateAPI学习起来很简单,而且它与程序流的交互相当自然.在适当的位置调用它,就可以达成目的.它带来了很多自动化和代码节省方面的好处,所以花一点时间学习它是值得的.而且还可以获得另一个好处,即代码不用关心要使用的数据库种类.借助于Hibernate,只需要简单地修改Hibernate配置文件即可.3.1.
21、2 使用Hibernate的场合如果应用对于数据存储的需要十分简单一一例如,您只想管理一组用户优先选择一一就根本不需要数据库,更不用说一个优秀的对象-关系映射系统了对于熟悉使用关系数据库和了解如何执行完美的SQL查询与企业数据库交互的人来说,Hibernate似乎有些碍手碍脚,这就像带有动力和自动排挡的快艇车会使注重性能的赛车驾驶员不耐烦一样.如果您属于这种人,如果您所在的工程团队拥有一个强大的DBA,或者有一些存储过程要处理,您可能想研究一下iBATIS.当然,还有其他的外部原因会导致采用另外的方法.比如,在一个企业环境中,必须使用成熟的EJB架构<或者其他的一些非普通对象映射系统).
22、可以为提供自己的数据存储工具的平台量身定做代码,比如MacOSX'sCoreData.使用的可能是像XMLDTD这样的存储规范,而它根本不涉及关系数据库.但是,如果您使用的是富对象模型,而且想要灵活、轻松且高效地保存它,那么Hibernate很可能就是您理想的选择.您可能会惊讶于节省的时间之多,以及您将会多么地喜欢使用它.3.1.3 Hibernate的两中类型的配置文件首先创建系统的Hibernate配置文件hibernate.cfg.xml,该文件中存放着数据库连接驱动程序类、登录数据库的用户名/密码、映射持久化类配置文件的位置等,Hibernate初始化时会自动在classe变各
23、径中寻找这个文件,并读取其中的配置信息,为后期数据库操作做准备,其完整代码如下。<?xmlversion='1.0'encoding='UTF-8'?><!DOCTYPEhibernate-configurationPUBLIC"-/Hibernate/HibernateConfigurationDTD/EN""http:<hibernate-configuration><session-factory><propertyname="connection.driver_cla
24、ss"><!寸旨定连接数据库用的驱动->com.microsoft.jdbc.sqlserver.SQLServerDriver</property><propertyname="connection.url"><!-指定连接数据库的路径->jdbc:microsoft:sqlserver::1433databaseName=db_Material</property><propertyname="connection.username">sa<
25、;/property><!-f定连接数据库的用户名-><propertyname="connection.password"></property><!寸旨定连接数据库的密码-><propertyname="show_sql">true</property><!-当show_sql属性为true时表示在程序运行时在控制台输出SQL语句,取认为false,建议在调试程序而g为true,发布程序之前再改为false,因为/&出SQL语句会影响程序的运行速度->&
26、lt;mappingresource="com/actionForm/GoodsForm.hbm.xml"/><!一4旨定持久化类映射文件-><!-此处省略了指定其他持久化类映射文件的代码-></session-factory></hibernate-configuration>创建持久化类的映射文件<?xmlversion="1.0"?><!DOCTYPEhibernate-mappingPUBLIC"-/Hibernate/HibernateMappingDTD3.0/
27、EN""http:<hibernate-mappingpackage="com.tarena.bookshop.entity"><classname="Catalog"table="e_catalog"><idname="catalogid"column="catalogid"type="integer"><generatorclass="identity"></generator&
28、gt;</id><-此处省略属性配置-></class></hibernate-mapping>3.2 Struts介绍Struts是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的.由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的这段时间里.Struts把Servlet、JSP、自定义标签和信息资源(messageresources>!合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架.Str
29、uts主要有三个部分组成,首先是支持MVC模式的的三个部分,其次是关于Struts的配置文件struts-config.xml。下面来介绍下他们。3.2.1 模型(Model>本质上来说在Struts中Model是一个Action类(这个会在后面详细讨论>,开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller向Action的转发过程是基于由struts-config.xml文件描述的配置信息的.3.2.2 视图(View>View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面.3.2.3 控制器(Con
30、troller)本质上是一个Servlet,将客户端请求转发到相应的Action类.struts-config.xml配置文件是整个框架的主心骨.web.xml文件定义了一个请求到来应向何处转发后,后面的工作就全权由struts-config.xml管理控制了.可以说struts-config.xml就是整个Struts框架的核心,只有它清楚所有请求与动作的映射关系。如今的应用系统,XML形式的配置文件越来越多,如果整个系统只使用一个这样的配置文件的话,那么保持整个系统的模块化和可维护性都非常的轻松.使用配置文件来描述请求-动作的控制过程和相互关系,而不是在代码中将对象之间的调用关系写死,那么
31、当应用系统有变动时,我们只用修改配置文件就行了,而不是再重新编译发布程序了.Controller通过struts-config.xml文件的配置信息确定当有请求时应该调用那个对象来处理,从效率的角度出发,这些信息都是在系统启动时读入并存在内存中的4需求分析4.1系统主要功能详细描述(用户可以注册,登录。(登录用户可以查看用户资料,修改密码,添加收货人,删除收货人。(i所有用户可以浏览商品列表及每个商品的详细信息。(2所有用户可以进行查询本站所拥有的自己需要的物品。(3所有用户可以查看用户留言列表,登录用户可以留言。(3登录用户可以进行购物,并会像超市的购物车一样放入自己需要的物品以便后面的下(
32、登录用户可以对自己的购物车进行相关操作。(4登录用户可以在进行购物后,进行下单,网站可以对定单进行处理。(5用户只能查看自己已经有的定单,并能看到每个定单的详细信息。(6后台管理员可以对用户进行添加,删除,修改和查询操作。(6后台管理员可以对商品进行添加,删除,修改和查询操作。(7后台管理员可以查看所有的用户对应的定单。并能对每个定单进行删除操作。(6后台管理员可以对用户留言进行删除操作。4.2系统角色及其功能分析系统主要用户有三类:游客,登陆用户,管理员。游客主要可以用的功能是:查看所有商品,搜索商品,查看商品详细信息,查看用户留言列表。登录用户主要可以用的功能:查看修改自己的资料,查看所有
33、商品,搜索商品,查看商品详细信息,购买商品,下定单,查看定单,查看用户留言列表,留言。管理员主要功能:操作普通管理员信息,操作用户信息,操作产品信息,操作定单信息,操作用户留言信息。5系统总体设计网上书城系统是基于B/S架构。实现网上售书的电子商务网站。系统使用Java语言开发,利用到Hibernate和Struts等开源框架,整个系统分成多层,有效实现了系统各部分的低偶合.整个系统主要有:表现层.业务层.数据访问层。利用软件分层把系统偶合度降低。在数据访问层,使用接口和和实现分离。上层的服务只依赖于底层的接口,底层的实现方式改变不会影响到上层的服务。这样就会最大程度的降低了软件各部分之间的偶
34、合。便于以后修改底层的实现。在分层的基础上。有将软件分模块,从而使系统横向上面分模块,纵向上面分层次。整个软件的层次是:表现层业务层数据访问层DB整个软件根据系统需求分析,可得出系统两种用户的业务流程图 前台用户操作业务流程为:开始用川百言 购物车生成定单在用户业务流里面,首先用户连接到主界面,主界面显示所有商品,并且提供商品的搜索服务,在主界面可以直接连接到用户留言列表界面,在主界面还可以连接到用户登录界面。用户在主界面可以浏览所有的商品,也可以查看商品的详细信息,在用户主界面和商品详细信息界面,用户可以将商品添加进购物车,此操作只有登录用户可以使用,非登录用户选自添加进购物车会被拦截到未登
35、录界面。用户在留言主界面可以进行留言。非登录用户不能留言。用户可以点击购物车,进入购物车界面,在购物车界面,用户可以对购物车里的商品进行删除操作,也可以将购物车中的商品修改数量,还可以清空购物车。也可以在购物车界面选择继续购物,连接到主界面继续选择商品。用户还可以在购物车界面进行下单操作。将购物车里的冏品生成定单。生成定单后,用户可以查看自己的定单。结束在后台中,管理员可以直接进入管理员入口登录管理员管理界面。在管理员管理的主界面显示的是管理员所有的操作。管理员可直接选择操作进入不同的管理界面,对管理员管理主要有超级管理员来实现,其他管理员没有此操作。用户管理界面直接显示所有用户的列表,在用户管理界面。管理员可以选择添加和删除用户,在产品管理界面,管理员可以添加和删除产品。定单管理界面。管理员可以删除定单。留言管理界面。管理员可以删除留言。5.1 D层设计DB主要是保存实体及实体之间关系的,这里只些关于此次系统中作者设计的几个模块的E-R图:4.4.1User于Order关系图用户与定单之间是一对多的关系,每个用户可以同时有多个定单,每个定单却只能属于一个用户。这样在定单的实体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子设备调试工岗前安全生产规范考核试卷含答案
- 竹藤编艺师班组协作能力考核试卷含答案
- 铁水预处理工岗前测试验证考核试卷含答案
- 塑料焊工安全技能测试模拟考核试卷含答案
- 雷管制造工班组管理水平考核试卷含答案
- 益虫饲养工安全文明知识考核试卷含答案
- 2025年中成药制药生产线项目合作计划书
- 2025年中子、电子及Γ辐照装置合作协议书
- 中国品牌冰淇淋行业市场前景预测及投资价值评估分析报告
- 2025年银钎料项目发展计划
- 人民军队性质宗旨教育
- 护士长管理培训课件
- 初三期末藏文试卷及答案
- 暂缓行政拘留申请书
- 小学班主任经验交流课件
- TSG 21-2015《固定式压力容器安全技术监察规程》
- 2025个人年终工作总结
- 中国水利教育培训手册
- 变配电室工程施工质量控制流程及控制要点
- 小学数学元角分应用题200道及答案
- 主播合同纠纷答辩状
评论
0/150
提交评论