• 1.13 MB
  • 2022-04-22 13:33:17 发布

二手商品交易网设计与开发毕业论文.doc

  • 42页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'毕业设计(论文)系统技术介绍二手商品交易网设计与开发毕业论文目录摘要IABSTRACTII1引言11.1课题来源11.2课题背景11.3国内外现状分析11.4研究目的及意义22系统技术介绍32.1JSP介绍32.2JDBC介绍32.3MVC模式介绍42.4Struts2介绍52.5Hibernate介绍52.6Spring介绍62.7MySql介绍62.8TOMCAT介绍72.9JAVA语言简介82.10运行平台及环境配置82.10.1.JDK的安装和配置82.10.2Tomcat的安装和配置93网站分析113.1可行性分析113.1.1经济可行性113.1.2市场可行性113.1.3技术可行性113.1.4时间可行性113.2需求分析123.2.1系统需求123.2.2功能需求123.2.3性能需求123.2.4运行需求1214 毕业设计(论文)系统技术介绍3.2.5其他需求124网站总体设计134.1概要设计134.1.1概要设计阶段的主要任务134.1.2概要设计的过程134.1.3概要设计原则134.2系统开发设计原则134.2.1整体性原则134.2.2相关性原则134.2.3适应性原则144.2.4可靠性原则144.2.5经济性原则144.3系统设计的体系结构144.4C2C的特点144.5网站功能分析154.6数据库设计164.6.1数据库综述164.6.2数据库关系表164.6.3关系E-R图194.6.4数据模型205网站详细设计215.1网站执行流程图215.2系统首页225.2.1用户登陆225.2.2用户资料管理235.2.3商品查询245.2.4日历的实现245.3用户注册255.4留言板265.5商品详情265.5.1商品详情275.5.2查看卖家信息275.6会员中心275.6.1会员发布商品菜单285.6.2会员收藏的商品菜单295.7管理员后台界面305.7.1基本操作菜单305.7.2注册用户管理菜单305.7.3商品类别管理菜单315.7.4商品管理菜单335.7.5公告管理菜单336系统测试346.1准备测试346.2制定测试计划3414 毕业设计(论文)系统技术介绍6.3设计测试用例346.3执行系统测试356.4缺陷管理与改错37结论38参考文献39致谢401引言1.1课题来源随着时代的发展,网络以其巨大的功能影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。网络以其将虚拟性与现实相结合的巨大魅力和跨越时间空间的便利性决定了这将是一种影响人类发展的革命性事物,在为人们的生活和学习提供了巨大的方便,衍生的种种也已经渗透到了人们现实生活的方方面面。电子商务作为其中的重要应用之一已经逐渐普及,成为人们生活中的重要组成部分,基于网络的支付手段和在线交易,已经成为新的商务趋势。尤其是以个人交易为主的基于B/S模型的交易系统模式,更是在近几年蓬勃兴起,为网络的繁荣增添了新的活力。1.2课题背景电子商务(e-business,e-comerce,e-trade)从英文的字面意思上看就是利用现在先进的电子技术从事各种商业活动的方式。近年在我国国内互联网学生数量不断上升,中国学生规模达到4.85亿,较2010年底增加2770万人,互联网普及率攀升至36.2%。如今在国内的电子商务有京东,淘宝,当当,卓越,飞虎乐购,乐酷天,凡客,梦芭莎等也如火如荼,然而现在专门针对校园电子商务还是起步阶段,特别是专门针对校园大量的二手商品,市场前景巨大。校园电子商务从模式来看类似于电子商务,属于C2C模式:绝大多数的卖家和买家都是个人。卖的东西大多是也以个数为计量单位,并且大多与学生有关,电脑配件、往年教材、辅导资料、自行车、房屋出租、化妆品等是最常见的商品。,与“拍拍”、“淘宝”等这样纯粹的商业性C2C14 毕业设计(论文)系统技术介绍不同,校园交易网没有自己的支付系统,靠的大多就是卖家和买家的互相见面,然后一手交钱,一手交货,看上去有些“原始”,但面对面交易,不需担心买卖的安全问题。1.3国内外现状分析网络的发展,给许多行业都带来巨大的商机,人们已经逐渐意识到这其中的商业价值,在全球范围内有许多很大的电子商业交易平台,每年的无法估量的交易金额流入到网络电子交易平台,经过不断的摸索、探究和发展,电子商务逐渐走向成熟,在现在达成共识的应用模式中,整个C2C模式(CustomToCustom)又因其广泛的参与性和可操作性在最近几年得到了极大的发展,国外最成功的例子E-BAY所取得的巨大成功和影响力我们可以看到,这种交易模式的魅力和价值已经得到了广泛的认同。同样,近几年在国内新起的淘宝也获得了很大的成功,这些成功并不是偶然的,它们都得益于基于B/S结构网络交易系统,所以他们的成功也可以看作是基于B/S结构网络交易系统模式的成功。1.4研究目的及意义Internet技术迅速发展,互联网走进了生活的各个领域,电子商务网站的建立给人们的生活带来了极大的方便,人们可以足不出户就购买到自己喜欢的商品,有效的解决了传统方式的信息资源和地域的限制,与此同时随着大学的校园的扩招,有大量的学生需要一个平台去交易二手物品,由其是在开学和学生毕业期间,“跳蚤市场”更是格外红火,花三四折的价钱买本参考书、几百块钱买个名牌手机、几十块钱买辆二手车,这样的经济型消费越来越得到广学生的喜爱,以前学生依靠校园公告栏打广告、校园BBS、摆地摊等方式交易物品,严重的影响了校园的正常秩序,同时也影响了交易的效率,基于JSP的二手物品交易平台具备电子商务平台的优点,为传统的物品交易提供了新的方式,有利于建立节约型的文明校园。建立二手交易市场的宗旨是:①为卖方解决“废之不用、弃之可惜”的物品。②为贫困生提供廉价、有用的二手物品。目前各高校在校学生的消费差距仍然是比较大的,许多学生由于生活的拮据根本无法承担高额的学习、生活费用,但是一些生活、学习用品又是必须具备的,以往他们常常为了寻找廉价的商品而费尽周折。如今,只需进入学校建立的二手市场就可轻而易举的找到廉价的二手商品。③14 毕业设计(论文)系统技术介绍净化校园环境。众所周知,由于没有很好的规范,学校的宣传栏贴满了诸如报名、旧物品买卖等各种信息,而学校正常活动的通知却被这些信息所覆盖,造成不必要的损失。尤其是在每年毕业前夕,部分学生在路边兜售旧书塔二手物品,废弃了的就随意丢弃,对校园环境造成了影响。然而,在网上的虚拟空间内不再需要传统的纸张海报,只需注册登录后即可发布信息,方便快捷。2系统技术介绍2.1JSP介绍javaserverpage(java服务器端页面技术),是sun公司制订的一种服务器端动态页面生成技术的规范。SUN公司在Java的基础下开发出的JSP具有动态页面与静态页面分离,能够脱离硬件平台的束缚,以及编译后到处运行等优点而大大提高了其执行效率,逐渐成为因特网上的主流开发工具。因为直接使用servlet生成页面,如果页面比较复杂,则代码过于繁琐,并且难以维护,所以对于比较复杂的页面,使用jsp来编写,更容易编写和维护。与ASP(ActiveSeverPages)、PHP一样,JSP在动态网页的建设中具有强大而特别的功能,但是JSP技术与这两种技术相比,有着十分突出的优越性,因为JSP技术有J2EE(Java2PlatformMicroEdition)平台支持,发展前途不可限量。众所周知,J2EE平台提供了Java企业应用编程接口(JavaEnterpriseAPIs),为企业计算以及电子商务应用系统提供了相关的技术支持和强大的类库支持。J2EE平台包括十几种技术,JSP技术正是其中的一种核心技术。J2EE的发展势头十分迅猛,在可以预见的将来,Sun公司的J2EE平台可能是唯一可以与微软的.Net构架相抗衡的平台。J2EE是目前主流的技术体系,它已成为一个工业标准。JSP页面是由HTML代码和嵌入其中的JAVA代码所组成,JSP本身具有一次编写,到处运行,这样大大提高了工作效率。JSP基本是可以在现在所有平台的任意环境上开发。它具有一个完整的数据库应用程序开发工具,可用于开发适合特定的数据库管理的Windows应用程序。(JSP运行的原理图如图2.1)response执行Jspparser*.jsp*.java*.classrequestservletServlet分析器图2.1JSP运行的原理14 毕业设计(论文)系统技术介绍2.2JDBC介绍JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBCAPI是SUN公司提出的访问数据库的接口标准。有了JDBCAPI,就不必为访问不同的数据库编写不同的程序,程序员可以使用相同的一套API访问不同的数据库,同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。JDBC对Java程序员而言是API,对数据库厂商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现不数据库的连接提供了标准方法。简单地说,JDBC可做三件事:不数据库建立连接、发送操作数据库的语句、返回处理结果。JDBC与java应用程序和数据库的关系的关系如图2.2。JavaApplicationJDBCAPIJDBCDriverManagerJDBCDriverJDBCDriverJDBCDriverOracleSQLServerMySql图2.2JDBC与java应用程序和数据库的关系2.3MVC模式介绍MVC就是按照职责不同将程序划分为3个组成部分.可以改善程序结构,便于日后维护和扩展,MVC模式图图2.3。①M-Model模型模型(Model)的职责是负责业务逻辑。包含两部分:业务数据和业务处理逻辑。比如实体类、DAO、Service都属于模型层。②V-View视图视图(View)的职责是负责显示界面和用户交互(收集用户信息)。属于视图的类是不包含业务逻辑和控制逻辑的JSP(如果在JSP页面中有<%%>就丌能算是视图层的类,戒者JSP中有转发和戒者重定向的控制逻辑也是丌可以的)。14 毕业设计(论文)系统技术介绍③C-Controller控制器控制器是模型层M和视图层V间的桥梁,用于控制流程。5)将Request转给JSP4)将数据放到Request中3)调用DAO……增加显示JSPServletDAOJSPJSP1)请求提交给控制器2)分发请求图2.3MVC模式图2.4Struts2介绍最早出现的Struts1是一个非常著名的框架,它实现了MVC模式。Struts1简单小巧,其中最成熟的版本是Struts1.2。以后出现了WebWork框架,其实现技术比Struts1先进,但影响力不如Struts1。在框架技术丌断发展过程中,有人在WebWork核心XWork的基础上包装了Struts1(算是两种框架的整合),由此,结合了Struts1的影响力和WebWork的先进技术,Struts2诞生了。所以说,Struts2丌是Struts1的升级,它更像是WebWork的升级版本。Struts2应用程序的执行流如图2.4所示:图2.4Struts应用程序的执行流程14 毕业设计(论文)系统技术介绍2.5Hibernate介绍Hibernate是开源的、用于封装数据访问层的组件,我们称为数据访问层框架(戒持久层框架)。以前我们通过JDBC/SQL语句从数据库中访问/操作数据,而Hibernate就是封装了这些操作,与门用于数据访问层的组件技术,出现Hibernate框架以前在企业项目开发过程中,如下几点造成了程序员们的痛苦,SQL语句过亍繁杂,和数据库的耦合度高,指有些SQL会涉及到多表操作,戒者有些表会非常庞大,这时候写在DAO中的SQL就会非常复杂,同时导致DAO和数据库的耦合度较高。不同数据库间SQL的不同,导致移植困难,不同数据库虽然SQL语句大致相同,但是还有一些绅节上的差别,比如Oracle中的分页方式和Mysql中的分页是不同的(请参看数据库部分知识),所以会有代码移植困难的因素。二维关系表和对象间数据结构的不匹配我们从数据库中取出的数据是结果集(一张表),而我们开发时需要将查询到的结果集封装为对象,然而数据库中二维表的数据结构和内存中Java对象的数据结构是不匹配的(表中的数据需要经过处理才能变为Java对象)。基于如上几点,痛苦促进了技术的革新和迚步,Hibernate应运而生2.6Spring介绍Spring用于整合,好处是解耦。解耦,可以降低组件不组件间的关联,改善程序结构,便于系统的维护和扩展。我们在使用Spring框架时,主要是使用Spring容器的两个特性:IoC和AoP。IoC全称InverseofControl(反向控制戒控制反转)。在类和类之间存在控制权,控制权指的是对象的创建和使用,比如有类A和类B,我们以前的做法是在A中调用B,那么控制权就在A中,这样做的耦合度较高,如果修改了B,A也要做相应修改。引入Spring框架后,控制权由spring容器来负责。当A想使用B时,需要由Spirng容器通过配置文件迚行注入。这种思想就是IoC(为了更好的理解,我们可以这样认为,对象创建和使用的控制权转移到了Spring容器,由Spring容器来控制)。AOP为AspectOrientedProgramming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期劢态代理实现在丌修改源代码的前提下给程序劢态统一添加功能的一种技术。Struts2中的拦截器,就是使用AOP的思想。使用AOP思想编写程序,会是程序更加灵活。一般而言,使用Spring框架的主要作用:我们会使用IoC整合组件(各种Bean),使用AOP来管理事务。和Hibernate相同,Spring的使用也没有限制,到底是用于Web工程还是普通Java程序。14 毕业设计(论文)系统技术介绍2.7MySql介绍MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL作为后台数据库工具,它功能远比Fox、Access强大,并提供了许多标准的关系数据库管理功能的支持。它各种关系数据库管理系统适应于各种硬件平台,包括Unix,PC和主机系统。它的特点有以下几点:①集成性集成性即集多种应用数据于一体。集成性的主要表现为三个方面。首先采用统一的数据结构;其次它建立一个全局统一的数据模式,即不仅可以建立一个全局性的数据结构还可以建立数据间存在的语义联系,从而构成一个内在紧密联系的数据整体;最后它可以根据每个应用的数据需要构作局部模式,这种从局部到全局,再从全局到局部的过程是数据库系统数据集成性的主要特征。②高共享性和低冗余性数据共享性主要表现在数据多个应用程序使用,并可用于不同的目的;数据可以在已有数据库系统上开发新的应用程序;它可以向外界提供信息服务功能。数据冗余指同一个数据在不同的地方出现了重复储存。数据库系统所具有的高共享性和低冗余性不仅可以减少不必要的存储空间,更为重要的是可以避免数据的不一致性。③数据独立性数据独立性指数据库中的数据与使用这些数据的应用程序之间的互不依赖性,即数据或数据结构的改变不会导致对使用这些数据的应用程序的修改,反之亦然。数据独立性包括物理独立性和逻辑独立性。物理独立性是指数据的物理结构(包括存储结构和存取方式)的改变,不影响数据库的逻辑结构,从而不致引起应用程序的变化。逻辑独立性指数据库总体逻辑结构的改变,如修改数据模式,增加新的数据结构,改变数据间联系等不需要相应修改应用程序。④数据的统一管理与控制数据的统一管理与控制表现在四个方面:数据的完整性检查,即对数据库中数据正确性作检查以确保数据的正确;数据的安全性保护,它对数据库访问者作检查以防止非法访问;并发控制,它对多个应用并发访问所产生的相互干扰作控制以保证其正确性;数据库故障恢复,它对遭受破坏的数据具有恢复能力,使数据库具有抗破坏性2.8TOMCAT介绍Tomcat是一个开放源代码、运行Serv1et和JSPWeb应用软件的基于Java的Web应用软件容器。Tomcat是由Apache一Jakarta14 毕业设计(论文)系统技术介绍子项目支持,并由来自开放代码Java社区的志愿者进行维护。TomcatServer是根据servlet和JSP规律执行的,因此我们就可以说Tomcatserver也实行了Apache一Jakarta规比绝大多数商业应用软件服务器要好。Tomcat很可能成为下一代JavaWebServer的主流。因为Tomcat受到Sun的全力支持,并由非常强大的开发组织apache来进行发展,这一工程被称Jakarta计划。从战略上看,Sun现在正借助ApaChe的影响来开发Server端Java技术,这就是Tomcat。因此可以相信Tomcat己经或者即将是一个较理想Jsp&Servlet开发和支撑平台。相对地,JSWDK只是一个简化的服务器平台,和稳定程度都比较有限,而且实际上S幽并不许可将它作为Iflternet上的平台。在SUTN公司的大力支持下,Tomcat将成为以后Web平台的主流平台。2.9JAVA语言简介Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。在早期,Java比较多的用在浏览器上,插入到网页中(即是JavaApplet程序),成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着JavaServlet的推出,Java在电子商务方面开始崭露头角,最新的JSP(JavaServerPage)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。JAVA自问世以来,以其得天独厚的优势,在IT业界掀起了研究、开发它的浪潮,显示了“鹏程万里”的美好前景。作为一种与底层硬件无关的、“编写一次,到处运行”的高级语言和计算平台,Java天生就具有将网络上的各个平台连成一体的能力,真正实现了“网络就是计算机”的理念。以Java为代表的网络的成长,改变了我们的联系方式、生活方式、学习方式和经营方式。它的到来使我们目睹了一场类似印刷术的重大变革。毫无疑问,它将影响人类社会的发展,这就是:Java加速人类进入网络时代!2.10运行平台及环境配置为了使系统能够正常运行JSP和相关程序,必须先配置好能使用JSP的WEB服务器。Jsp的运行平台很多,各种能使用Servlet技术的WEB服务器中,运用得最多的是Tomcat服务器,本系统选择的是Jdk1.6+Tomcat+Meclipse。因为在安装Tomcat前必须安装JRE,Tomcat是中小型站点的应用平台,完全免费,而且版本也在不断升级。该软件录属于Apache的子项目Jakarta14 毕业设计(论文)系统技术介绍,定期更新版本,适合大众化的学习和使用。Tomcat即可以单独作为小型Servlet、Jsp测试服务器,也可以集成到ApacheWeb服务器。2.10.1JDK的安装和配置JDK是JavaDevelopKit的缩写,它是早期Java的开发包名称,一直延用至今。1998年JDK发表1.2版本的时候,Sun公司使用了新名称Java2Platform来称呼Java,译成中文就是“Java平台”,修改后的JDK称为J2SDK即Java2(Platform)SoftwareDevelopingKill。并分为标准版、企业版、微型版,它们有不同的用途。从SUN公司的Internet站点下载最新版本的JDK,可以从Sun公司的主页上免费下载,它的下载网址为:http://java.sun.com。双击下载的JDK安装程序,进入安装界面,单击“下一步”按钮,更改安装目录,这里更改为d:java;连续单击“Next”(下一步)按钮,直至安装结束。下面是对JDK的环境配置说明(因为现在用Windowsxp版本的用户居多,所以以下的环境变量设置都是针对于Windowsxp环境)。在Windowsxp桌面上选择“我的电脑”(右键)→属性→高级→环境变量,单击系统变量中的“新建”按钮,分别添加如下的系统变量。变量名:JAVA_HOME;变量值:D:JAVA。变量名:CLASS_PATH;变量值:.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar(加.表示当前路径,所以这里的.;是不能少的)。变量名:PATH;变量值:%JAVA_HOME%bin;%JAVA_HOME%jrebin。2.10.2Tomcat的安装和配置Tomcat是一个开放源代码、运行Serv1et和JSPWeb应用软件的基于Java的Web应用软件容器。Tomcat是由Apache一Jakarta子项目支持,并由来自开放代码Java社区的志愿者进行维护。TomcatServer是根据servlet和JSP规律执行的,因此我们就可以说Tomcatserver也实行了Apache一Jakarta规比绝大多数商业应用软件服务器要好。Tomcat很可能成为下一代Java Web Server的主流。因为Tomcat受到Sun的全力支持,并由非常强大的开发组织apache来进行发展,这一工程被称Jakarta计划。从战略上看,Sun现在正借助ApaChe的影响来开发Server端Java技术,这就是Tomcat。因此可以相信Tomcat己经或者即将是一个较理想Jsp&Servlet开发和支撑平台。相对地,JSWDK只是一个简化的服务器平台,和稳定程度都比较有限,而且实际上S幽并不许可将它作为Iflternet上的平台。在SUTN公司的大力支持下,Tomcat将成为以后Web平台的主流平台。14 毕业设计(论文)系统技术介绍双击下载的Tomcat安装程序,连续单击“下一步“,直至安装结束,只在选择安装路径时更改为d:Tomcat5.0。·设置环境变量:在“我的电脑”属性中设置环境变量:先测试一下Tomcat服务器。首先启动Tomcat服务器,执行Tomcat目录bin子目录下的startup-using-launcher.bat程序,会出现一个Dos窗口,几秒钟后Dos窗口会自动消失,并在任务栏中出现标题为Catalina的小窗口,表明服务器已启动成功了。然后打开浏览器,在地址栏中输入http://localhost:8080(Tomcat默认端口为8080),如果看到有一个小猫就证明Tomcat成功运行。可直接关闭窗口退出Tomcat.·建立站点:修改d:Tomcat5.0confserver.xml,在上一行添加如下代码来建立站点。此步骤应该对应程序安装的目录。更改完成后,可直接在地址栏中输入http://localhost:8080/education/login.jsp进行访问。Tomcat需要配置建立好环境。Tomcat的默认端口号为8080,服务器环境变量配置如下表所示: 表2.1环境变量变量名变量值Catalinac:Tomcat6.;java_homec:myeclipsepathc:jdk1.4.2binclasspathC:Commonbinarycom.sun.java.jdk.win32.x86_1.6.0.013jre.14 毕业设计(论文)网站分析3网站分析3.1可行性分析3.1.1经济可行性首先,传统销售方式是商家把商品放置在商店里供顾客挑选,铺面的位置、面积、等客观因素都会影响商店的销售,而且商品的存放与销售都要花费人才、财力、物力进行管理,雇员的工资、店面的租金等又增加了成本,顾客也不能迅速的找到自己想要的商品,而通过网络销售中要求提供一个存放商品的仓库。其次,学生的二手商品数量有限,为学生提供一个二手交易平台,可以减少学生在校内打广告的花费,同时也可以减少学校的管理支出。随着我国高校的不断发展,各高校都十分在意学校的形象,开发本网站可以解决毕业生离校二手商品的处理问题。随着电子商务的发展,本网站将会在高校发挥重要作用,该网站在末来将会有很好的应用前景。3.1.2市场可行性通过对市场的初步调研和分析,高校的二手交易市场前景广阔,首先,每年都有新生来校,同时毕业生不可能将所有物品全部拿走,而在高校大部分学生的消费水平不高,都希望能够买到物美价廉的商品,在部分高校园内,学校都会指定地点方便学生出售自己的二手商品,但由于学生二手商品有限,同时也受到时间空间等方面的限制,无法满足学生日常的二手物品的处理。高校既是知识密集的地方,同时也是电脑普及率最高的地方之一,所有的高校都有自己的局域网,70%的以上的学生经常使用网络,为二手网站的建力提供了网络基础。3.1.3技术可行性目前网站建设的技术完善,有许多的网站建设技术,如ASP、.NET、PHP、JSP等技术,并且网络上都有许多网站建设的模板供参考。在本网站是基于internet环境下实现的典型C2C模式。在这个网站中,以windowsxp为操作系统平台,采用JSP技术进行开发,借助Dreamweaver和Myeclipse等开发工具,tomcat作为服务器,数据库采用Mysql,通过后台负责数据库的管理,现在的软硬件都能满足开发要求,所以,基于web的二手商品交易系统在技术上是可行的。3.1.4时间可行性本次网站开发为期三个月时间,在大学三年多学习了相关的网站开发技术,编写代码不会花费太多的时间,同时,自己也有相关的建站经验,能合理的安排开发流程,因此开发时间足够。14 毕业设计(论文)网站分析综上所述,本系统的开发从经济上、从技术上、从市场上、从时间上都是完全可靠的。3.2需求分析随着Internet技术发展,网络电子交易走近了人们的生活,虽然新起十来年,但发展快,但如何使电子商务与高校师生的需求相结合,并完全发挥网上电子商务的优势,这是个我们有待解决的问题,这就需要充分了解高校师生的现情况和需求。经过调查和了解,确立了以下几点需求。3.2.1系统需求用Jsp+Struts2+Hibernate+Spring技术基于C2C模式开发此系统,系统软件和数据集中存放于服务器中,软件的安装与升级在服务器上进行。所有的工作基于浏览器,安装、使用、维护、升级。3.2.2功能需求用户注册、用户修改信息、用户发布信息、查询浏览、发表评论、商品管理、用户管理、物品管理、前台展示、后台管理等功能。3.2.3性能需求为了保证系统能够长期、高效、安全、稳定、可靠的运行。系统对用户和数据的管理以及程序开发语言的编写很重要。因此本系统采用SSH框架开发,不仅有得利代码的编写,同时也有利于系统的二次开发并且能保证系统的准确性和及时性,MYSQL数据库也是当前IT行业内相对流行的数据开发语言,安全性和稳定性促以得到保障。3.2.4运行需求硬件条件:酷睿3CPU、1GRAM、20G硬盘以上的PC机。软件条件:WindowsXP或其它操作系统,tomcat服务器,Myeclipse软件运行平台,MySql数据库。3.2.5其他需求本系统有较好的可维护性、安全性、可靠性。界面要易于用户操作。同时在后台方面也要有利于管理用户的管理。并且在开发时间,经费上要严格控制,以最大的限度,合理的利用有限资源,来完成所需功能,满足用户需求。14 毕业设计(论文)网站总体设计4网站总体设计4.1概要设计4.1.1概要设计阶段的主要任务①本人综合分析了网站需求分析、书写了网站开发计划及相关的文档,提出了最佳开发方案,制定了网站建设的进度计划,网站各功能模块的流程图,以便指导老师审定。②确定模块结构,划分功能模块,把网站建设的功能划分成最小的单元模块。确定各模块间的关联,确定数据结构、数据库的选择、软件的测试方法。编写开发计划书,功能模块的详细设计,选择合适的开发语言。本网站主要采用了划分模块和分解功能的设计原则。4.1.2概要设计的过程概要设计首先要进行系统设计,而后制定设计计划与需求,并确定开发的具体方案,确定网站结构,进行结构设计。4.1.3概要设计原则①采用迭代开发的方式把网站划分成若干个独立模块。②如何表示不同的成分内的数据结构和功能细节。③如何统一衡量网站设计的技术质量。4.2系统开发设计原则4.2.1整体性原则二手商品交易网是由各子功能组成的整体,具有整体性特征。与传统手工方式下,由于处理手段的制约,信息处理主要采用各职能部门分别收集信息和保存信息、分散处理形式。二手交易网系统总体出发,克服手工信息分散处理的不足,各子系统的功能都尽可能规范,数据采集,语言描述都要一致,信息资源要共享。并且保证各子系统协调一致地工作,避免信息的大量冗余,寻求系统的整体优化。4.2.2相关性原则组成该网站的各子功能各自有其独立功能,同时它们间又相互联系,相互影响。通过不同的信息流把它们的功能联系在一起,某一子功能发生了改变,其他子功能也要相应的进行做出调整和改变,因此,在二手交易网的开发中,不能不考虑系统的相关性,即要孤立出不同功能模块,同时也要合理的将各功能模块联系起来。42 毕业设计(论文)网站总体设计4.2.3适应性原则二手商品交易网的设计与开发要对外界条件的变化有较强的适应能力。不能有效的随着环境变化做出相应变化的系统是没有生命力的。由于二手商品交易网是一个相对变化较大的网站,故要求对网站的结构具有较好的灵活性和可重塑性。当软件环境、硬件环境、网站部分功能的变化时,系统才能够容易地进行修改、扩充。4.2.4可靠性原则只有可靠的网站才能得到使用者的信任。在设计网站时,要保证网站各方法的可靠性、如整体的稳定性;数据采集的质量;数据校验功能;总之要有一套完整的安全措施。只有做到这样,系统的可靠性才能得到保证。网站的可靠性是检验网站成败的重要指标之一。4.2.5经济性原则经济性是衡量该网站值不值得开发的重要根据。开发过程中,尽可能节约开发的资金和缩短开发时间周期。在网站投入运行后,尽快回收投资,以提高系统的经济效益和社会效益。4.3系统设计的体系结构本网站的设计及开发采用了当前流行的C2C(客户端到客户端)模式,利用JSP来进行前台展示,主要采用SSH框架来实现对网站的整体设计,来达到对业务功能的实现,数据库的管理,同时方便网站的维护和二次重建,采用MYSQL作为数据库语言。本网站主要分为使用用户和管理员用户,使用者主要负责人机间的交互,主要是通过前台的页面展示来实现与数据的交互,同时也能进入使用者自己的后台对数据库进行管理,管理员用户主要负责全部网站功能模块的管理,能实现对数据库的管理。4.4C2C的特点网上交易市场的本质是一个虚拟商城,它突破传统交易市场的时间和空间限制,交易活动有着更强的灵活性。目前,在Intemet上,有很多已投入商业运作的网上交易平台,其中二手商品交易平台通常被称作“C2C商城”,C2C是电子商务交易模式——消费者对消费者的交易模式。C2C电子商务平台就是为买卖双方提供一个在线交易平台,使卖方可以主动提供商品上网拍卖,而买方可以自行选择商品进行竞价,它灵活的交易方式类似于现实商务世界中的跳蚤市场.全球知名C2C平台供应商EBay和我国的易趣、淘宝网的成功运行证明这种交易模式是具备市场发展潜力的.C2C42 毕业设计(论文)网站总体设计的构成要素包含买卖双方以及电子交易平台供应商,后者类似于现实中的跳蚤市场场地的提供者和管理员,在C2C模式中,电子交易平台供应商扮演着举足轻重的作用,其应具备的特点如下。首先,平台供应商应具备知名度和公信力.由买卖双方均信任且认知的供应商提供平台将散布的买卖双方聚集在一起,比双方单靠在网络上漫无目的的搜索,发现机会的可能性要大.其次,电子交易平台提供商承担监督和管理的职责.供应商负责对买卖双方的诚信进行监督和管理,对交易过程进行监控,应做到最大限度地避免欺诈行为的发生,保障买卖双方的权益.最后,电子交易平台提供商还能为买卖双方提供技术支持服务.服务内容包括帮助卖方建立个人店铺、发布产品信息、制定定价策略等;帮助买方比较和选择产品以及进行电子支付等;涉及买卖双方的信用评价等。正是由于有了这样的技术支持,C2C的模式中,电子工业交易平台提供商是到关生要的一个角色,它直接影响这种商务模式存在的前提和基础。4.5网站功能分析网站的具体功能如下:①用户注册:主要是用户注册时基本信息的验证,以及把用户的基本信息保存入数据库。②用户登陆:用户登陆后对商品的收藏,商品的发布,以及查看自己发布的商品,查看自己购买的商品。③浏览商品:这部分主要是前台的页面展示。④留言板功能:用户对网站的留言⑤后台管理:主要分为商品类别的管理,商品管理,公告管理,用户管理,留言管理整个网站的按照系统功能模块分解如图4.142 毕业设计(论文)网站总体设计二手商品交易网站系统用户注册浏览商品留言板后台管理商品收藏发布商品我发布的商品我的购买商品用户管理类别管理商品管理公告管理留言管理用户登陆修改资料修改资料图4.1主要功能模块4.6数据库设计4.6.1数据库综述数据库是长期存储在计算机内的、有组织的、可共享的数据集合,也是现实世界中相互关联的大量数据及数据间关系的集合。它的主要作用是对信息数据按一定的模型进行组织、描述和存储,具有较小的冗余度和较高的数据独力性和易扩展性,并可以被不同的用户共享。所以数据库设计是网站建设的一个重要环节,良好的设计,将有利于后期的开发,数据的存取,有利于程序的实现。4.6.2数据库关系表在整个数据设计过程中,一共设计了七张表,各表结构如下:①管理员信息表(t_admin)包含所有的管理员信息,主要用来后台的登陆,该表的结构如表4.1所示。表4.1管理员信息表(t_admin)域名含义数据类型可否为空备注userID管理员IDINT(11)N主键userName管理员名字VARCHAR(50)NuserPw管理员密码VARCHAR(50)N②注册用户的信息表(t_user)包含了所有注册用户的信息,主要用来用户的登陆,以及完成对用户的增删改查等功能,该表的结构如表4.2所示。42 毕业设计(论文)网站总体设计表4.2注册用户的信息表(t_user)域名含义数据类型可否为空备注user_id用户IDINT(11)N主键user_name用户名称VARCHAR(20)Nuser_pw用户密码VARCHAR(50)Nuser_type用户类型INT(11)Nuser_realname用户真实名字VARCHAR(20)Yuser_address用户地址VARCHAR(50)Yuser_sex用户性别CHAR(2)Nuser_tel用户电话VARCHRA(13)Nuser_email用户邮箱VARCHAR(50)Nuser_qq用户QQ号VARCHAR(15)Nuser_del用户被删出CHAR(10)N③商品种类信息表(t_catelog),主要是由管理员操作,用来对商品类别的管理,该表的主要结构如表4.3。表4.3商品种类表(t_catelog)域名含义数据类型可否为空备注catalog_id类别IDINT(11)N主键catalog_name类别名称VARCHAR(50)Ncatalog_miaoshu类别描述TEXTYcatalog_del是否被删出CHAR(10)N④公告信息表(t_gonggao),是由管理员在后台进行公告的寻入,该表的主要结构如表4.4。表4.4公告信息表(t_gonggao)域名含义数据类型可否为空备注gonggao_id公告IDINT(11)N主建gonggao_title公告标题VARCHAR(50)Ngonggao_content公告内容TEXTNgonggao_data公告日期VARCHAR(30)N42 毕业设计(论文)网站总体设计gonggao_del是否被删出CHAR(10)N⑤商品信息表,此表中包含所有用户发布的商品,只有管理员用户能操作该表,该表的主要结构如表4.5。表4.5商品信息表(t_goods)域名含义数据类型可否为空备注good_id商品IDINT(11)N主键good_name商品名称VARCHAR(20)Ngood_miaoshu商品描述TEXTYgood_fujian商品图片VARCHRA(50)Ygood_danjia商品价格CHAR(10)Ngood_catelog_id商品类别IDINT(11)N外键good_user_id发布者IDINT(11)N外键good_shijian上传时间INT(11)Ngood_publish是否批准布CHARNgood_del是否删出CHARN⑥收藏者信息表(t_collect),此表中包含所有用户发布的商品,只有管理员用户能操作该表,该表的主要结构如表4.6。表4.6收藏者信息表(t_collect)域名含义数据类型可否为空备注collect_id收藏号INT(11)N主键collect_good_id收藏商品IDINT(11)N外键collect_user_id收藏者IDINT(11)N外键collect_shijian收藏时间VARCHAR(50)Ndel是否被删出CHARN⑦留言信息表(t_liuyan),此表中包含所有用户对留言信息,只有系统管理员才可以看到,该表的主要结构如表4.7。42 毕业设计(论文)网站总体设计表4.7留言信息表(t_liuyan)域名含义数据类型可否为空备注liuyan_id留言IDINT(11)N主键liuyan_title留言标题VARCHAR(50)Nliuyan_content留言内容TEXTNliuyan_date留言日期VARCHAR(20)Nliuyan_user_id留言者IDINT(11)N外键4.6.3关系E-R图由于直接将显示世界信息按具体的数据组织模型进行组织,必须同时考虑很多因素,设计工作非常复杂,并且效果也不很理想,因此,需要一种方法来对现实世界的信息结构进行描述。E-R方法就是一种实体--关系方法,而其使用的工具就是E-R图。E-R图由实体、实体的属性以及实体之间的关系三部分组成,实体是具有相同的性质并且彼此之间可以相互区分的现实世界对象的集合;属性是实体所具有的特征,它是描述实体或者关系的性质的数据项;实体之间的关系通常是指不同实体之间的关系。二手商品交易网站的关系E-R图如图4.2所示N1N1用户用户ID名称密码电话QQ……..商品商品ID是否删出商品描述发布收藏商品名称……商品类别类别ID是否删出类别描述类别名称从属图4.2二手商品交易网站的关系E-R图4.6.4数据模型验证商品管理商品管理员42 毕业设计(论文)网站总体设计p二手交易系统浏览商品注册会员会员普通用户发布商品图4.3整体数据流程图存入数据库用户注册登陆网站图4-4会员登陆系统的数据流程用户信息修改后信息修改后维护指令管理员维护存入数据库调出用户界面图4.5会员维护系统数据流程图42 毕业设计(论文)网站详细设计5网站详细设计5.1网站执行流程图网站主要分为注册用户和管理员用户,分别能行不同的操作,注册用户执行流程图见下图5.1,管理员用户执行流程图见图5.2YESNO开始登陆检测收藏商品修改资料发布商品……安全退出结束图5.1注册用户执行流程开始5.1系统首页登陆NOYES检测本网站的首页设计主要采用JSP页面来完成,整个页面包含了三个JSP页面,一个incFoot.jsp、incTop.jsp,以及index.jsp,页面风格主要以简单为主,使用页面链接能够转接到相对应功能,在用户登陆功能、以及用户注册都使用了JS验证,这样解决了传统网站“等待-响应-等待”的缺点。整个首页展示的效果如如图5.1所示。修改资料增加商品类别……管理注册用户商品管理安全退出结束图5.2管理员用户执行流程图42 毕业设计(论文)网站详细设计5.2系统首页本网站的首页设计主要采用JSP页面来完成,整个页面包含了三个JSP页面,一个incFoot.jsp、incTop.jsp,以及index.jsp,页面风格主要以简单为主,使用页面链接能够转接到相对应功能,在用户登陆功能、以及用户注册都使用了JS验证,这样解决了传统网站“等待-响应-等待”的缺点。整个首页展示的效果如如图5.3所示。图5.3网站首页展示5.2.1用户登陆用户登陆模块的样式如图5.3所示,其主要是通过查询数据库,查看输入的用户名是否存在,用户密码是否正确,代码如下:publicStringuserLogin(){Stringsql="fromTUserwhereuserName=?anduserPw=?";//sql语句Object[]con={userName,userPw};//参数ListuserList=userDAO.getHibernateTemplate().find(sql,con);//从数据库中查询用户if(userList.size()==0)//如果用户不存在{42 毕业设计(论文)网站详细设计this.setMessage("用户名或密码错误");this.setPath("qiantai/default.jsp");}else{//如果用户存在,把用户信息放入session中Mapsession=ServletActionContext.getContext().getSession();TUseruser=(TUser)userList.get(0);session.put("user",user);//把用户信息放入sessionthis.setMessage("成功登录");this.setPath("qiantai/default.jsp");}return"succeed";}5.2.2用户资料管理用户资料修改主要是在用户登陆后,对自己的资料进行更新,在用户登陆时,查询出用户的所有信息,查询代码见5.2.1节,同时将用户信息保存到session中,在用户资料管理的.jsp中使用Struts2的OGNL表达式填充到标签中,展示出用户的所有信息,最后当用户修改好自己的资料,点击确定后,将会将更新后的用户资料填入数据库。用户资料管理界面设计如图5.4。图5.4用户资料管理界面设计42 毕业设计(论文)网站详细设计5.2.3商品查询商品查询样式如图5.1所示此系统目前只实现了按商品名称查询,输入商品名称就可以查找自己想寻找的商品。主要是是通过在数据库中查询相,模糊匹配的商品名。主要实现代码以下:publicStringgoodSearch(){Maprequest=(Map)ServletActionContext.getContext().get("request");Stringsql="";sql="fromTGoodswheregoodsDel="no"andgoodsNamelike"%"+goodsName.trim()+"%""+"orderbygoodsCatelogId";//查询的sql语句,ListgoodsList=goodsDAO.getHibernateTemplate().find(sql);//在数据库中查询request.put("goodsList",goodsList);//将查询结果放入request对象中returnActionSupport.SUCCESS;}5.2.4日历的实现网站的美化是整个网站的成败的重要因素,虽然日历在整个网站功能上没有什么具体作用,但它可以美化整个网站,主要代码实现如下,界面设计如图5.5所示:图5.5日历样式①得到当前的系统的日期GregorianCalendarcurrentDay=newGregorianCalendar();intyear=currentDay.get(Calendar.YEAR);intmonth=currentDay.get(Calendar.MONTH);inttoday=currentDay.get(Calendar.DAY_OF_MONTH);intweekday=currentDay.get(Calendar.DAY_OF_WEEK);②日历样式的实现42 毕业设计(论文)网站详细设计<%for(intj=0;j<6;j++){%><%for(inti=j*7;i<(j+1)*7;i++){if((i-firstIndex+1)==today){%><%=days[i]%><%}else{%><%=days[i]%><%}}%><%}%>5.3用户注册在注册页面使用了人性化的提醒,这样方便用户注册,整个对话框主要使用了
标签,其中同时也采用了JQUERY验证技术,这样可以更加提高网站整体的效率。实现效果如图5.6所示:图5.6用户注册页面42 毕业设计(论文)网站详细设计5.4留言板留言板的实现主要使用了struts2中集成的FCKeditor文本编辑器,在项目的web.xml中增加相应的FCKeditor配制,导入相关的架包,就能实现该功能。主要配方法见下,实现的样式如图5.7所示:图5.7留言板在JSPWEB中配制FCKeditor的方法:1将FCKeditor所需的两个.jar包复制到WEB-INF/lib包下。2将FCKeditor所需的标签库复制到WEB-INF3将FCKeditor所需的fckconfig.js、fckeditor、fckstyles.xml和fckemplate.xml复制到WebRoot下。4将FCKeditor所需的editor文件夹及其全部内容复制到WEB-INF下。5在WebRoot下新建一个用于存放上传文件夹的目录。6在web.xml增加FCKeditor的配制7在fckconfig.js中加入一些中文字体及对有关网页进行局部修改。8在.JSP中加入<%@tagliburi=“/WEB-INF/FCKeditor.tld”prefix=”fck”%>5.5商品详情直接从首页点击进入商品详情页面,可以查看商品图片,商品的描述,也可以收藏商品,查看卖家信息。如图5.8所示:图5.8商品详情42 毕业设计(论文)网站详细设计5.5.1商品详情查看商品详情功能主要是通过商品的ID进行查询,这样能保证从数据库里查出来的商品唯一性,主要实现的查询代码如下:publicTGoodsfindById(intid)//通过商品ID进行查询{log.debug("gettingTGoodsinstancewithid:"+id);try{//通过ID去查找TGoods,找到则返回,否则抛出异常TGoodsinstance=(TGoods)getHibernateTemplate().get("com.model.TGoods",id);returninstance;}catch(RuntimeExceptionre){log.error("getfailed",re);throwre;}}5.5.2查看卖家信息每次卖家发布出售商品,都会通过数据库中的外键将卖家的ID存入到商品表中,我们只需要能过卖家的ID就能找到对就的卖家信息。主要代码如下:publicTUserfindById(java.lang.Integerid)//通过用户ID进行查询{log.debug("gettingTUserinstancewithid:"+id);try{//通过ID去查找TUser,找到则返回,否则抛出异常TUserinstance=(TUser)getHibernateTemplate().get("com.model.TUser",id);returninstance;}catch(RuntimeExceptionre){log.error("getfailed",re);throwre;}}5.6会员中心会员中心是用户的后台,只有登陆用户才能使用,在这个页面能用户能发布商品,查看自己收藏的商品及详情,主菜单栏如图5.9所示:42 毕业设计(论文)网站详细设计图5.9用户后台主菜单栏5.6.1会员发布商品菜单发布商品菜单用户可以发布自己的二手商品,主要实现也采用了struts2中集成的FCKeditor文本编辑器,在留言板中有介绍,这里不在说明。这里同时也用到了Struts2中的Fileupload文件上传功能,这样大大降低了开发的难度,详细的实现见下,效果图如图5.10。同时在发布商品菜单栏也可以查看自己已发布的商品,如图5.11。图5.10发布商品图5.11自己发布商品详情文件上传功能实现方法:①JSP中代码:42 毕业设计(论文)网站详细设计/upload.action"name="formAdd"method="post"enctype="multipart/form-data">②Struts2中的.xml中的配制:/upload/upload_re.jsp③后台action代码:publicStringupload(){StringnewFujianName=newDate().getTime()+fujianFileName.substring(fujianFileName.indexOf("."));//新的文件名由上传时间和原文件名组成。StringdstPath=ServletActionContext.getServletContext().getRealPath("upload")+"\"+newFujianName;//上传到目录路径FiledstFile=newFile(dstPath);copy(this.getFujian(),dstFile);//copy()函数通过流的方式将文件上传到指定目录。Maprequest=(Map)ServletActionContext.getContext().get("request");request.put("newFujianName",newFujianName);request.put("oldFujianName",fujianFileName);request.put("fujianPath","/upload"+"/"+newFujianName);returnActionSupport.SUCCESS;}5.6.2会员收藏的商品菜单我收藏的商品菜单,点击商品标题,可以查看对自己收藏的商品详情,详细界面设计如图5.12。图5.12收藏商品详情42 毕业设计(论文)网站详细设计5.7管理员后台界面后台是对整个网站的管理,只有管理员用户才能进入操作,在进入后台前,首先需要管理员登陆,再进入后的主要实现功能菜单如图5.13所示。图5.13后台菜单5.7.1基本操作菜单基本操作主要是管理对自己密码的修改如图5.14所示,同时也可以增加和删出管理员用户如图5.15所示图5.14密码的修改图5.15管理员用户增加5.7.2注册用户管理菜单可以查看注册的用户作息,对注册用户进行删出操作,但是并没有在数据库中删出用户,原因是也许删出的用户有发布的商品,这样将影响网站一些功能,只是将注册用户的是否被删出属性(user_del)改为YES。界面如图5.16所示。42 毕业设计(论文)网站详细设计图5.16注册用户管理①查询所有注册用户实现的代码如下:publicListfindAll(){log.debug("findingallTUserinstances");try{StringqueryString="fromTUserwhereuserDel="no"";//查询没有被管理员删出的用户returngetHibernateTemplate().find(queryString);}catch(RuntimeExceptionre){log.error("findallfailed",re);throwre;}}②删出注册用户主要代码实现:publicvoiddelete(TUserpersistentInstance){log.debug("deletingTUserinstance");try{getHibernateTemplate().delete(persistentInstance);log.debug("deletesuccessful");}catch(RuntimeExceptionre){log.error("deletefailed",re);throwre;}}5.7.3商品类别管理菜单商品类别管理,主要功能是添加和删出商品类别,在删出商品类别时不会将数据库中的原商品类别删出,只会将商品类别是否被删出属性修改为YES,整个界面如图5.17所示,点击添加按钮可以实现对商品类别的增加,界面如图5.18所示。42 毕业设计(论文)网站详细设计图5.17商品类别详情图5.18商品类别添加①查看所有商品类别的实现代码:publicListfindAll(){log.debug("findingallTCateloginstances");try{StringqueryString="fromTCatelog";returngetHibernateTemplate().find(queryString);//从数据库中查找所有的商品类别,并返回。}catch(RuntimeExceptionre){log.error("findallfailed",re);throwre;}}②商品类别添加实现代码:publicvoidsave(TCatelogtransientInstance){log.debug("savingTCateloginstance");try{//向数据库中保存新增的商品类别getHibernateTemplate().save(transientInstance);log.debug("savesuccessful");}catch(RuntimeExceptionre)42 毕业设计(论文)网站详细设计{log.error("savefailed",re);throwre;}}③商品类别删出代码:publicvoiddelete(TCatelogpersistentInstance){log.debug("deletingTCateloginstance");try{getHibernateTemplate().delete(persistentInstance);//从数据库中的删出商品类别log.debug("deletesuccessful");}catch(RuntimeExceptionre){log.error("deletefailed",re);throwre;}}5.7.4商品管理菜单商品管理菜单,管理员可以查看用户发布的所有商品,管理员可以对用户发布的商品进行删出操作,如图5.19图5.19商品详情5.7.5公告管理菜单公告菜单主要是由管理员发布网站公告,同时可以删出网站公告,界面如图5.20所示。图5.20公告管理42 毕业设计(论文)系统测试6系统测试系统测试,英文是SystemTesting。是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试的目的是验证最终软件系统是否满足用户规定的需求。系统测试流程如图6.1所示。迭代制定测试计划设计测试用例执行系统测试缺陷管理与改错图6.1系统测试流程6.1准备测试系统测试前,首先我确保系统能运行起来,将项目拷贝入Myclipse的工作区间,打开Myeclipse,运行server,将项目部署到Tomcat服务起上,在浏览器中运行网站的首页http://localhost:8080/ershou/,如果首页能正常显示,说明部署成功,可以开始测试。6.2制定测试计划在第五章的截图已完成了部分测试,还有如下几点未来做出测试,测试的主要内容有以下几点:①前台页面链接测试。②用户注册功能和用户登陆功能测试。③商品详情和收藏测试。④用户后台测试也就是会员中心测试。⑤管理员后台测试。6.3设计测试用例测试所用的用户账号:tangjun密码:123456测试所用的管理员账号:admin密码:admin42 毕业设计(论文)系统测试6.3执行系统测试①首先在浏览器页面中输入http://localhost:8080/ershou/,进入网站首页,点击首页上的商品链接,能正常进入,多试几次看是否一样能查看到商品详情,结果,都能正常查看商品的详情,说明首页商品详情链接正常。②点击首页上方的留言板,显示如图6.2所示。点击我的信息、会员中心显示结果都一样。图6.2链接错误提示正确输入上面的测试用户后,再一次点击,进入相应页面,说明功能正确。③用户登陆测试,首先不输入任何信息,测试结果如图6.3所示:图6.3登陆错误提示1)输入用户名不输入密码时,测试结果如图6.4所示:图6.4登陆错误提示2)当错误的输入时,测试结果如图6.5所示:图6.5登陆错误提示3)正确输入测试用户信息,测试结果如图6.6所示:图6.6登陆正确提示④用户后台测试,用户后台测试,主要包括用户是否能发布商品,查看发布商品的详情,对发布商品的删出和查看被收藏情况,以及是否能安全退出。在不登陆的情况下进入后台,提示信息图6.7所示。42 毕业设计(论文)系统测试图6.7登陆用户后台正确提示正常登陆,进入用户后台,点击我发布的商品->发布商品,进行发布商品,选择商品类别,速度较慢,主要原因分析为,每次都要从数据库中得到商品类别,读取数据要花费时间,不填入任何信息将提示:请选择商品类别。选择类别二手手机/iphone再提交,提示:请输入商品名称,输入后商品名名称“好电脑”,提示:请输入价格,输入123。都正常填入后提示信息见图6.8所示:图6.8商品发布正确提示在我的发布里查看刚发布的商品信息,查找到发布的商品,正确显示在我的发布商品菜单中,如图6.9所示:图6.9.我发布的商品点击删出,提示:你确定删出吗?确定后再查看,商品信息被删出。⑤查的我收藏的商品,可以看到收藏时间和商品名名称,点击商品名称,可以是看到商品我详细信息,与数据库对比后,一致,说明功能正确。⑥管理员后台测试,首先进入后台,测试登陆,如用户前台的测试方法。一切正常。⑦基本操作测试,包括密码修改主和管理员用户维护,点击密码修改,进入修改页面,按提示输入相应信息后,点击修改,提示修改成功。管理员用户主要是对管理员用户的增加和删出。都能正常执行。⑧商品类别管理,主要功能有添加和删出功能。点击添加添加的样的内容见图6.10,不填入,直接提交,提交成功后,此处错误。填入信息手,再提交,成功可以查看到刚添加的商品类别,如图6.11所示。点击删出后,商品类别信息被删出。42 毕业设计(论文)系统测试图6.10商品类别添加图6.11类别添加成功⑨商品管理测试,打开商品管理菜单,可以看到已经发布的商品信息,对商品的管理里主要是删出已经发布的商品。对刚发布的商品进行删出,提示:确定要删出吗,点击确定,商品信息被删出。⑩公告管理测试,主要功能有添加公告,点击添加公告,直接确定,出现成功,说明出现错误,不应该提交到数据库,有待修改代码。输入信息,可以提交到数据库。6.4缺陷管理与改错经测试网站的大体功能实现良好,运行正常,主要存在问题在于网站的部分验证上,如用户注册时,不是先预处理,检测注册的信息填入内容正确,将在后面修改成AJAX验证技术。类别添加处没有加验证,发生错误,加入验证后再测试正常。公告官理的错误与上一样,修改后正常。其它错误还有待后期更多的测试发现。42 毕业设计(论文)结论结论本文主要介绍了通过Jsp+SSH和MySql建设网站的整个过程。网站主要实现了三个方面,一是商品前台展示、用户后台、管理员后台。在这三个方面又衍生出了许多小的功能模块,各功能模块间又存在联系,从整体上来说,网站整体界面设计较好,主要功能齐全,能满足大部分用户的需求,运行良好,多次测试都没有报错,与数据库交互方面也能正常进行,说明本网站的总体设计是成功的。由于自己能力有限,开发经验不足,许多功能在实现时考虑不周到,虽然实现了功能,但是依然存在着许多问题,比如在网站建设时网站的安全性,完全没有考虑过,而且自己也不知道怎么从安全方面着手建设网站。在数据库方面,设计的不太理想,导致开发时遇到了许多问题,比如表间的关联约束,做的就不太好,数据的冗余问题都有待改善。如果再二次开发本网站,可以从如下几方面着手完善网站的功能,①做前期的调查,更加详细的写开发说明;②借鉴现有二手网站的功能,实现到二手商品交易网中;③修改数据库中的部分关系,使整个数据库能加完善,相信更多功能能更加完善,满足更多用户需求。42 毕业设计(论文)参教文献参考文献[1]孙卫琴,李洪成.Tomcat与JavaWeb开发技术详解[M].北京:电子工业出版社,2004.4.[2]孙佳,刘中兵,李伯华.JSP+Oracle动态网站开发案例精选[M].北京:清华大学出版社,2005.9.[3]赵辉,姚胤含.白领就业指南:JavaWeb开发设计师之路[M].北京:电子工业出版社,2006.9.[4]清宏计算机工作室.JSP编程技巧[M].北京:机械工业出版社.[5]张利国.Java实用案例教程[M].北京:清华大学出版社,2003.1.[6]李伯华,邹晨.Jsp数据库项目安全导航[M].北京:清华大学出版社,2006.[7]田文燕.从纸笔测试到计算机化语言测试的发展[J].湖北广播电视大学学报.2007.6.[8]曾灵秀,李然.计算机化自适应测验的理论与应用[J].四川教育学院学报,2006年12月,第22卷[9](美)Eckel,B.Java编程思想(英文版)[M].机械工业出版社,2004.1.[10](美)Bronson.Java程学设计基础.北京大学出版社[M],2005.1.[11](美)温斯耐特.PHP和MySQL应用开放核心技术[M].机械工业出版社,2006.9[12]刘强,郎青.基于J2EE网络考试系统的设计与实现[J]–中央民族大学学报(自然科学版);2006年5月,第15卷第2期[13]杨易.Jsp网络编程技术与实例[M].人民邮电出版社,2005.10.[14]赛奎春.JSP信息系统开发实例精选[M].北京:机械工业出版社,2005.9.[15]AndreaSteelman,JoelMurach.Murach"sJavaServletsandJSP[M].2004.[16]MarkusAleksy,AxelKorthaus,MartinSchader.UseJavaandtheCORBArealizationdistributetypesystem[J].JournalofPingxiangCollege,No.4,2005:104-105.[17]WattsDJ.SmallWorlds.Thedynamicsofnetworksbetweenorderandrandomness[P].America:56A2579BB6,l999-05-13.[18]Tsui,FrankF.JSPEMDASHARESEARCHSIGNALPROCESSORINJOSEPHSONTECHNOLOGY[C].IBMJournalofResearchandDevelopment,Vol24,No2,1980:243-252.[19]MichaelGehond.LogicProgrammingandNonmonotonicReasoning[M]德国.SpringerBerlin/Heidelberg.2007[20]AndreasEide.ProfessionalASP.NETWebServices[M].英国.SpringerLondon.200742 毕业设计(论文)致谢致谢本毕业设计能最终顺利完成,首先要感谢我的指导老师XX老师。XX老师在我的毕业设计开题、调研、网站开发阶段以及撰写论文的过程中始终都耐心指导,及时的给我网站建设计的建议,在整个指导期间始终严格的要求,XX老师的严谨的治学作风和求实的工作态度,以及深厚的理论水平和开发经验都认我受益匪浅,这对我在以后的工作和学习中都有很大的帮助。衷心的感谢在我读本科期间栽培我的各位老师,你们孜孜不倦的教导,不仅让我学会了知识,同时也学会了生活的态度。感谢在本次毕业设计中,给我最大支持和帮助的同学,在我请教时,耐心的请解。感谢在百忙之中抽出时间、精心审阅本论文的各位老师!感谢我的父母和亲人,正是有了他们的关心和支持,我才得以顺利完成学业。最后,再次感谢所有关心和爱护过我的老师、亲人、同学和朋友!42'