版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连东软信息学院毕业设计(论文)摘要大连东软信息学院毕业设计(论文)论文题目论文题目:五号店零食购物网站的设计与实现——XXXXXX系所:专业:学生姓名:学生学号:指导教师:导师1导师2导师职称:导师1职称导师1职称完成日期:年月日大连东软信息学院DalianNeusoftUniversityofInformationIIAbstractThisthesismainlyexpoundsthe5storesnacksshoppingsitebasedonWebdesignandimplementation.Indynamicwebapplicationdevelopmentandbasedonthedataaccesstechnology,thispaperexpoundsthedesignschemeandrealizationmethodofthesystemandthedevelopmenttoolsandrelatedtechnologiesadopted.ThisthesisisasimpleWebapplicationmodel,asystemforadministratorsandordinaryusers.Cancompletethefunctionofdifferenttypeindifferentusers.Usercontainsfeaturesmallhomepage,myinformation,myshoppingcart,myorder,Iwanttoleaveamessageontheregisteredseveralfunction,theadministratorcontainsthefunctionofthebasicoperations,productmanagement,salesinformationmanagement,financialmanagement,messagemanagement,customerinformationmanagement,fromthesystem.Frontdeskfunctionsprovidedtousers,backgroundmanagementandadministratorstorealizethecommodityinformationmaintenanceandupdateofsystemmanagementfunctions.JSPtechnologywithitsuniquepositiontobecomethedevelopmenttoolsofchoiceforwebsitesystem,usingtheEclipsedevelopmenttoolscaneventuallyachieveclientalloperations.BecausetheJSPhaswriteonce,runeverywhere,richandhighqualitytoolssupport,throughthecomponentreuseandtag,withsurfacethroughinstructionandtaglibrarytoenhancedevelopmentability,thedevelopmentofthesystemcanbewrittenonanyplatform,JAVAservercomponenttorunonanyplatform.Keywords:5storesnacksshopping;Snacksmanagement;TheJSP大连东软信息学院毕业设计(论文)目录PAGEIII目录摘要 IAbstract II目录 III第1章绪论 11.1研究目标 11.2选题背景 1第2章相关的理论和技术 32.1Java技术介绍 32.2Eclipse平台 32.3Struts2+Spring+Hibernate框架 32.4B/S结构 52.5tomcat数据库连接池介绍与配置 6第3章系统需求分析 73.1可行性分析 73.2功能需求概述 83.3UML用例图 8第4章系统设计 94.1功能模块设计 94.2数据库概念结构设计 114.3数据库逻辑结构设计 12第5章系统实现 185.1用户注册登录 185.2后台基本操作 205.3商品管理功能 215.4销售信息管理 215.5前台首页展示 22第6章系统调试和测试 246.1测试的目标 246.2测试的步骤 246.3测试的内容 24结论 26致谢 27参考文献 28大连东软信息学院毕业设计(论文)PAGE1第1章绪论1.1研究目标五号店零食购物网站,本系统是一个典型电子商务网上零食购物系统,它主要是对顾客购买零食进行详细的管理,并且对购物方式、价格进行简单管理,最关键的是这些管理功能都必须能够在网上实现,是人民能够享受到电子商务带来的方便和快捷。五号店零食购物网站是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买购物网站的基本原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。随着网络和经济的快速发展,网上购物的热潮越演越烈,进行网上购物的人也越来越多,网上零食购物网站的发展也越发迅速,在社会中所占的比重也越来越大。系统采用Java语言开发,在Eclipse平台下开发系统的网页和功能。五号店零食购物网站主要实现如下功能:根据实际,本网站主要包括一下功能:游客可以浏览网站。用户注册,用户登陆,用户能够浏览网站。提供搜索引擎,使用户能够按特定的条件对所需商品进行搜索。用户能够对自己的注册资料进行修改。用户下定单购买商品。用户处理定单,对商品发表评论。管理员权限:商品管理(添加/删除商品、商品类别管理、商品信息处理)、管理用户资料、管理定单、处理定单、管理评论等。1.2选题背景中国加入WTO以后,越来越多的中国商品走入国际市场,带动了整个国际市场的繁荣发展,贸易的简单化和合法化也带动了国内的食品消费市场,随着我国国民收入急剧增长,人们生活水平普遍提高,极具消费潜力的中国市场让进口食品国际品牌竞相来华挖掘商机。食品生产商十分关注国内消费者对健康进口食品多样化、个性化、细分化的需求。来自欧美、韩国、日本、东南亚、港澳台的进口食品进入中国大陆,瑞士巧克力、日本棉花糖、韩国海苔、法国红酒、小包装的饼干、糖果等以其新奇、美味、可爱的图案、松脆的口感,在市场上十分走俏,受到大众普遍欢迎,产品销量正在加大。因为人们发现日常需要补充的营养不能仅从一日三餐而来,这些进口食品也可以为自己提供身体所需补充的营养。同时包装精美的进口食品,也是普通市民喜爱选用的送礼佳品,用以馈赠给亲朋好友。进口食品逐步普及全国,不仅方便了大众生活,满足了多样化口味需求,同时也提升了人们的生活质量和品位。PAGE10第2章相关的理论和技术2.1Java技术介绍java语言是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java语言不同于一般的编译语言和直译语言。它首先将源代码编译成字节码,然后依赖那些来自不同平台的虚拟机进行解释执行字节码,实现“一次编写,到处运行”的跨平台特性。2.2Eclipse平台Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。虽然大多数用户很乐于将Eclipse当作Java
集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于
Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言。Eclipse提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。2.3Struts2+Spring+Hibernate框架struts+spring+hibernate框架,简称SSH框架,这些框架在一起合作,我们使用Struts作为系统的整体基础架构,主要负责MVC的分离,在Struts框架的模型部分是负责控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(DataAccessObjects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理Struts和Hibernate。系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的SpringIoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响。(1).Struts2 Struts2以webwork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为webwork的更新产品。Struts2请求流程:1.客户端发送请求(客户端初始化一个指向Servlet容器(如Tomcat)的请求);2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器;3.FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action;4.如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy;5.ActionProxy通过ConfigurationManager询问Struts配置文件(Struts.xml),找到需要调用的Action类;6.ActionProxy创建一个ActionInvocation的实例;7.ActionInvocation调用真正的Action,当然这涉及到相关拦截器的调用(interceptor);8.Action执行完毕,ActionInvocation创建Result并返回,返回结果前要做些动作也是可以的。(2).SpringSpring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。(3).Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。2.4B/S结构架构特点:(1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为桌面电脑操作系统不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.5tomcat数据库连接池介绍与配置数据库连接池概述:数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素:1)最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费;2)最大连接数是连接池能申请的最大连接数,如果当前数据库的连接请求超过最大连接数那么,这些超过的请求将会进入等待池中进行等待操作,这会影响之后的数据库操作,进而影响程序的相应时间。3)如果最小连接数和最大连接数相差巨大,那么在等待池中的最先的请求将会获利。以下介绍一下连接池配置关键几个环节:1)首先在$CATALINA_HOME/conf/server.xml中,配置应用程序的路径<Contextpath="/DBTest"docBase="DBTest"debug="5"reloadable="true"crossContext="true"> 2)然后配置资源名,用以在jndi中进行查询<Resourcename="jdbc/TestDB"auth="Container"type="javax.sql.DataSource"/> 3)定义各连接参数,用户名,密码,数据库驱动以及数据源的查找路径<parameter><name>username</name><value>javauser</value></parameter><parameter><name>password</name><value>javadude</value></parameter><parameter><name>driverClassName</name><value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></parameter><parameter><name>url</name><value>jdbc:mysql://localhost:3306/javatest?autoReconnect=true</value></parameter></ResourceParams></Context> 4)由于系统是一个web应用程序,被布署在tomcat容器中,所以需要在$CATALINA_HOME/webapps/quality/WEB-INF/web.xml里设置被引用的资源:下面是配置代码,必须放在<web-app>和</web-app>里。<!--DatabaseConfigstart--><resource-ref><description>connectDBtest</description><res-ref-name>jdbc/connectDB</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref><!--DatabaseConfigend-->5)最后,将第3方的驱动都保存在$CATALINA_HOME/common/lib/*.jar中,如我们这里连接的是mssql,则将mssql的驱动程序msbase.jar,mssqlserver.jar,msutil.jar放入其中。第3章系统需求分析3.1可行性分析开发项目需要一台计算机,台式计算机或者个人笔记本电脑均可。电脑应该配置WindowsXP或者Windows7/8/10等操作系统,操作系统应该配置的软件包括MySQL数据库,javajdk7,和myeclipse8等工具。(1)经济上的可行性由于本系统是在学生电脑上服务器中发布,然后在浏览器中打开网址,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。(2)技术上的可行性B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当购物公司对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显——所有的升级操作只需要针对服务器进行。(3)可靠性和安全性特点Java最初设计目的是应用于电子类消费产品因此要求较高的可靠性。Java虽然源于C++,但它消除了许多C++不可靠因素,可以防止许多编程错误。首先,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。上述几种机制结合起来,使得Java成为安全的编程语言。3.2功能需求概述实现一个简化的Web应用程序模型,完成一个系统提供给管理员和普通用户使用。不同的用户类型所能完成的功能不同。用户含有的功能有商城首页,我的信息,我的购物车,我的订单,我要留言登陆注册几个功能,管理员含有的功能有基本操作,商品管理,销售信息管理,财务管理,留言管理,售后信息管理,退出系统。前台功能提供给用户使用,后台管理又管理员实现系统的维护和商品信息的更新管理功能。3.3UML用例图五号店零食购物网站可以满足两种用户的需求,分别是用户和管理员,普通用户的功能包括:商城首页,我的信息,我的购物车,我的订单,我要留言,登陆注册。普通用户的用例图如图3-1所示。图3-8普通用户用例图管理员的功能包括:基本操作,商品管理,销售信息管理,财务管理,留言管理,售后信息管理,退出系统。管理员的用例图如图3-2所示。图3-8管理员用例图第4章系统设计4.1功能模块设计根据对系统的功能进行分析我们总结五号店零食购物网站的具体功能模块包括下面的几个主要的功能模块:系统的功能模块图:如图4-1所示:图4-1系统功能模块图PAGE274.2数据库概念结构设计数据库设计的基本步骤如下,共分为六个阶段。1.需求分析阶段,即准确了解与分析用户需求,包括数据与处理。是整个设计过程的基础,是最困难、最耗费时间的一步。2.概念结构设计阶段,即整个数据库设计的关键阶段,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。3.逻辑结构设计阶段,即将概念结构转换为某个DBMS所支持的数据模型,对其进行优化。4.数据库物理设计阶段,即为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法。5.数据库实施阶段,即运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果。建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。6.数据库运行和维护阶段,即数据库应用系统经过试运行后即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价、调整与修改。E-R方法是“实体-联系方法”(Entity-RelationshipApproach)的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型。系统数据流程图如图4-2所示:图4-2数据库整体关系图4.3数据库逻辑结构设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:*每一个实体要转换成一个关系*所有的主键必须定义非空(NOTNULL)*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。系统数据库建表语句如下:/*MySQLDataTransferSourceHost:localhostSourceDatabase:shop_xsTargetHost:localhostTargetDatabase:shop_xsDate:2016/4/611:41:49*/SETFOREIGN_KEY_CHECKS=0;--Tablestructurefort_admin--CREATETABLE`t_admin`(`userId`int(11)NOTNULL,`userName`varchar(50)DEFAULTNULL,`userPw`varchar(50)DEFAULTNULL,PRIMARYKEY(`userId`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefort_catelog--CREATETABLE`t_catelog`(`catelog_id`int(11)NOTNULL,`catelog_name`varchar(50)DEFAULTNULL,`catelog_miaoshu`varchar(5000)DEFAULTNULL,`catelog_del`varchar(50)DEFAULTNULL,PRIMARYKEY(`catelog_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefort_gonggao--CREATETABLE`t_gonggao`(`gonggao_id`int(11)NOTNULL,`gonggao_title`varchar(50)DEFAULTNULL,`gonggao_content`varchar(8000)DEFAULTNULL,`gonggao_data`varchar(50)DEFAULTNULL,`gonggao_fabuzhe`varchar(255)DEFAULTNULL,`gonggao_del`varchar(50)DEFAULTNULL,`gonggao_one1`varchar(50)DEFAULTNULL,`gonggao_one2`varchar(50)DEFAULTNULL,`gonggao_one3`varchar(50)DEFAULTNULL,`gonggao_one4`varchar(50)DEFAULTNULL,`gonggao_one5`datetimeDEFAULTNULL,`gonggao_one6`datetimeDEFAULTNULL,`gonggao_one7`int(11)DEFAULTNULL,`gonggao_one8`int(11)DEFAULTNULL,PRIMARYKEY(`gonggao_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefort_goods--CREATETABLE`t_goods`(`goods_id`int(11)NOTNULL,`goods_name`varchar(50)DEFAULTNULL,`goods_miaoshu`varchar(5000)DEFAULTNULL,`goods_pic`varchar(50)DEFAULTNULL,`goods_yanse`varchar(50)DEFAULTNULL,`goods_shichangjia`int(11)DEFAULTNULL,`goods_tejia`int(11)DEFAULTNULL,`goods_isnottejia`varchar(50)DEFAULTNULL,`goods_isnottuijian`varchar(50)DEFAULTNULL,`goods_catelog_id`int(11)DEFAULTNULL,`goods_kucun`int(11)DEFAULTNULL,`goods_Del`varchar(50)DEFAULTNULL,PRIMARYKEY(`goods_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefort_liuyan--CREATETABLE`t_liuyan`(`liuyan_id`int(11)NOTNULL,`liuyan_title`varchar(50)DEFAULTNULL,`liuyan_content`varchar(5000)DEFAULTNULL,`liuyan_date`varchar(50)DEFAULTNULL,`liuyan_user`varchar(50)DEFAULTNULL,PRIMARYKEY(`liuyan_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefort_order--CREATETABLE`t_order`(`order_id`int(11)NOTNULL,`order_bianhao`varchar(50)DEFAULTNULL,`order_date`varchar(50)DEFAULTNULL,`order_zhuangtai`varchar(50)DEFAULTNULL,`order_songhuodizhi`varchar(50)DEFAULTNULL,`order_fukuangfangshi`varchar(50)DEFAULTNULL,`order_jine`int(11)DEFAULTNULL,`order_user_id`int(11)DEFAULTNULL,PRIMARYKEY(`order_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefort_orderitem--CREATETABLE`t_orderitem`(`orderItem_id`int(11)NOTNULL,`order_id`int(11)DEFAULTNULL,`goods_id`int(11)DEFAULTNULL,`goods_quantity`int(11)DEFAULTNULL,PRIMARYKEY(`orderItem_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefort_user--CREATETABLE`t_user`(`user_id`int(11)NOTNULL,`user_name`varchar(50)DEFAULTNULL,`user_pw`varchar(50)DEFAULTNULL,`user_type`int(11)DEFAULTNULL,`user_realname`varchar(50)DEFAULTNULL,`user_address`varchar(50)DEFAULTNULL,`user_sex`varchar(50)DEFAULTNULL,`user_tel`varchar(50)DEFAULTNULL,`user_email`varchar(50)DEFAULTNULL,`user_qq`varchar(50)DEFAULTNULL,`user_man`varchar(50)DEFAULTNULL,`user_age`varchar(50)DEFAULTNULL,`user_birthday`varchar(50)DEFAULTNULL,`user_xueli`varchar(50)DEFAULTNULL,`user_del`varchar(50)DEFAULTNULL,`user_one1`varchar(50)DEFAULTNULL,`user_one2`varchar(50)DEFAULTNULL,`user_one3`varchar(50)DEFAULTNULL,`user_one4`varchar(50)DEFAULTNULL,`user_one5`varchar(50)DEFAULTNULL,`user_one6`int(11)DEFAULTNULL,`user_one7`int(11)DEFAULTNULL,`user_one8`int(11)DEFAULTNULL,`user_one9`datetimeDEFAULTNULL,`user_one10`datetimeDEFAULTNULL,`user_one11`decimal(19,0)DEFAULTNULL,`user_one12`decimal(19,0)DEFAULTNULL,PRIMARYKEY(`user_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Records--INSERTINTO`t_admin`VALUES('1','a','a');INSERTINTO`t_catelog`VALUES('7','干货','干货','no');INSERTINTO`t_catelog`VALUES('8','果脯','果脯','no');INSERTINTO`t_catelog`VALUES('9','密蘸','密战','no');INSERTINTO`t_catelog`VALUES('10','大枣','大枣','no');INSERTINTO`t_catelog`VALUES('11','长城','长城','no');INSERTINTO`t_gonggao`VALUES('1','公告公告公告公告','请输入内容','2016-3-199:19:00','NUll','',null,null,null,null,null,null,null,null);INSERTINTO`t_goods`VALUES('11','零食','零食风味:\r\n价格:\r\n颜色:\r\n产地:\r\n\r\n','/upload/1.jpg',null,'105','100','yes',null,'5','100','yes');INSERTINTO`t_goods`VALUES('12','零食','零食风味:\r\n价格:\r\n颜色:\r\n产地:\r\n\r\n','/upload/2.jpg',null,'188','98','yes',null,'8','90','no');INSERTINTO`t_goods`VALUES('13','零食','零食风味:','/upload/3.jpg',null,'198','89','yes',null,'8','98','no');INSERTINTO`t_goods`VALUES('14','零食','零食风味:','/upload/4.jpg',null,'209','109','yes',null,'8','99','no');INSERTINTO`t_goods`VALUES('15','零食','价格:','/upload/1.jpg',null,'213','213','no',null,'7','100','no');INSERTINTO`t_goods`VALUES('16','零食','颜色:','/upload/5.jpg',null,'123','78','yes',null,'7','97','no');INSERTINTO`t_order`VALUES('6','20160419125304','2016-3-199:19:00','no','','货到付款','98','2');INSERTINTO`t_order`VALUES('7','20160419125330','2016-3-199:19:00','no','','货到付款','156','2');INSERTINTO`t_order`VALUES('8','20160419125341','2016-3-199:19:00','no','','货到付款','980','2');INSERTINTO`t_order`VALUES('9','20160419125349','2016-3-199:19:00','no','','货到付款','109','2');INSERTINTO`t_order`VALUES('10','20160419125406','2016-3-199:19:00','no','','货到付款','89','2');INSERTINTO`t_order`VALUES('11','20160419125454','2016-3-199:19:00','no','','货到付款','98','2');INSERTINTO`t_order`VALUES('12','20160419125503','2016-3-199:19:00','no','','货到付款','89','2');INSERTINTO`t_order`VALUES('13','20160419050603','2016-3-199:19:00','no','','货到付款','0','2');INSERTINTO`t_order`VALUES('14','20160406114014','2016-04-0611:40:14','yes','北京的','银行付款','78','2');INSERTINTO`t_orderitem`VALUES('1','1','5','1');INSERTINTO`t_orderitem`VALUES('2','2','1','1');INSERTINTO`t_orderitem`VALUES('3','3','4','1');INSERTINTO`t_orderitem`VALUES('4','4','9','1');INSERTINTO`t_orderitem`VALUES('5','5','7','1');INSERTINTO`t_orderitem`VALUES('6','6','17','1');INSERTINTO`t_orderitem`VALUES('7','7','16','2');INSERTINTO`t_orderitem`VALUES('8','8','12','10');INSERTINTO`t_orderitem`VALUES('9','9','14','1');INSERTINTO`t_orderitem`VALUES('10','10','13','1');INSERTINTO`t_orderitem`VALUES('11','11','17','1');INSERTINTO`t_orderitem`VALUES('12','12','13','1');INSERTINTO`t_orderitem`VALUES('13','14','16','1');INSERTINTO`t_user`VALUES('1','gao123','123456','0','高云飞','江苏省南京市','男','12345673213','gao@','295199087',null,null,null,null,'no',null,null,null,null,null,null,null,null,null,null,null,null);INSERTINTO`t_user`VALUES('2','test','test','0','test','323r2','男','2121','121@','1212123',null,null,null,null,'no',null,null,null,null,null,null,null,null,null,null,null,null);INSERTINTO`t_user`VALUES('3','xx','xx','0','xx','xx','男','xx','xxx','',null,null,null,null,'no',null,null,null,null,null,null,null,null,null,null,null,null);第5章系统实现本章主要对五号店零食购物网站的主要功能模块进行详细的设计,利用软件工程所学的知识来解释系统中的几个比较重要的功能模块的实现过程,以及实现方法和实现过程等信息进行描述。5.1用户注册登录进入系统中,系统中的多数功能只能登录进入系统之后,才可使用,所以要首先进行新用户注册,进入注册界面,需要编辑个人信息,提交进入系统,注册成功可以进行账号的登陆操作了。在进行登陆的时候,填写已经有的或者是新注册的账号,填写完用户名和密码,点击登陆按钮,系统自动搜索数据库中用户的信息和添加的账号密码进行对比,如果在数据库中存在相关的信息,即可登录进入系统。如果是用户名或者是密码填写错误会提示填写错了,登陆不成功,即重新填写用户名和密码,填写完点击登录即进行登录,如没有提示填写错误即登陆成功.用户登陆首先输入用户名和密码,如果没有输入就给出相应的提示,输入之后利用程序进行判断,如果输入的正确就登陆成功,输入错误就返回到登陆输入账号和密码的状态重新输入登陆账号和密码。用户的登录界面如图5-1所示:图5-1用户登录界面用户登录的关键代码如下:publicStringlogin(StringuserName,StringuserPw,intuserType) { System.out.println("userType"+userType); try { Thread.sleep(700); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringresult="no"; if(userType==0)//系统管理员登陆 { Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } }publicStringadminPwEdit(StringuserPwNew){ System.out.println("DDDD"); try { Thread.sleep(700); } catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)session.getAttribute("admin"); admin.setUserPw(userPwNew); adminDAO.getHibernateTemplate().update(admin); session.setAttribute("admin",admin); return"yes";}}5.2后台基本操作管理员登陆系统后台后,可以进行系统维护和数据更新,具体的操作功能界面如图5-2所示:图5-2修改密码界面5.3商品管理功能商品是购物网站的主要角色,管理员要随时更新商品信息,后台提供的功能有商品增加和商品管理两个功能,主要操作界面如图5-3显示:图5-3商品管理界面5.4销售信息管理对于网站的销售信息,管理员要时刻可以看到,可以监控到,而且可以进行管理,防止销售信息出问题影响系统稳定运行,具体的操作界面如图5-4显示:图5-4销售信息界面5.5前台首页展示前台页面的展示信息需要很好的布局,信息展示要有条理,这样才能让用户有一个好的使用体验,下图便是网站首页展示图:图5-5网站首页展示界面关键代码如下:protectedvoidinitDao() { //donothing } publicvoidsave(TNewstransientInstance) { log.debug("savingTNewsinstance"); try { getHibernateTemplate().save(transientInstance); log.debug("savesuccessful"); }catch(RuntimeExceptionre) { log.error("savefailed",re); throwre; } } publicvoiddelete(TNewspersistentInstance) { log.debug("deletingTNewsinstance"); try { getHibernateTemplate().delete(persistentInstance); log.debug("deletesuccessful"); }catch(RuntimeExceptionre) { log.error("deletefailed",re); throwre; } } publicTNewsfindById(java.lang.Integerid) { log.debug("gettingTNewsinstancewithid:"+id); try { TNewsinstance=(TNews)getHibernateTemplate().get( "com.model.TNews",id); returninstance; }catch(RuntimeExceptionre) { log.error("getfailed",re); throwre; } } publicListfindByExample(TNewsinstance) { log.debug("findingTNewsinstancebyexample"); try { Listresults=getHibernateTemplate().findByExample(instance); log.debug("findbyexamplesuccessful,resultsi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省承德市平泉市2025-2026学年三年级下学期7月期末考试语文试卷(有答案)
- 2026-2027学年-统编版九年级上册语文第11课《岳阳楼记》练习卷(含答案)
- 多学科协作下的精准手术方案制定
- 财务科工作总结及明年工作思路
- 百度-搜索推广-智能诊断 产品介绍及操作指南 202609
- 2026新学期心脑血管疾病患者心梗的预防与急救课件
- 河北祖冲之中学2026-2027学年高二上学期开学考试政治试卷(含答案)
- 2025-2026年江苏省苏教版初中物理九年级上册第2章光学基础知识巩固习题
- 2025-2026年四川省人教版高中化学选修第三十三册单元测试卷
- 2025-2026年浙江省部编版初中二年级体育健康知识测试卷
- 【2026】超星尔雅学习通《大学生恋爱与性健康(中国性学会)》章节测试及答案
- 2026年4月自考13477电子商务系统分析与设计试题试题及答案
- 2026年初级安全工程师实务《化工安全》试卷真题(答案解析附后)
- 机械设备出厂检验记录表范本
- 肠内肠外营养规范应用
- GB/T 47067-2026塑料模塑件公差和验收条件
- 道路旅客运输及客运站管理规定2026版
- 肿瘤患者认知功能障碍照护方案
- 新疆建设工程消防设计审查、验收常见问题技术解析(2024年)
- 2026年中国中冶安全管理考试题含答案
- 高效液相安全培训课件
评论
0/150
提交评论