资源描述
网上拍卖系统设计与实现摘 要进入21世纪后,电子商务凭借互联网的支持迅速发展并逐渐成熟。其中,网上拍卖己经成为电子商务的重要组成部分,也是近年来研究的热点。随着电子商务、电子政务等应用的快速发展,以及用户要求的不断提高,传统的电子商务开发技术,尤其是网上拍卖系统的开发技术暴露出许多不足之处,造成了其开发的效率降低、成本上升、扩充与维护困难、分工合作不好进行等问题,限制了网上拍卖系统的进一步发展。本文的主要工作是对基于B/S模式及JSP技术的网上拍卖Web应用系统进行了研究与设计。本文首先介绍了网上拍卖系统的背景,分析比较了国内外相关网上拍卖系统的运行模式、系统特点与开发技术。然后分析了目前热点的各种Web应用开发技术中存在的优势和不足之处,权衡利弊后,选择并重点研究了JSP技术进行开发。然后根据Web应用的特点提出了基于B/S模式、采用JSP技术的Web应用开发方案。最后对基于该方案的网上拍卖系统进行了功能模块设计、体系结构设计和数据库设计,提出了网站开发过程中的关键技术的研究与选用(如如何获得“及时”信息等),并给出了相应的实现。在设计方面,系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。后台数据库选用MYSQL数据库。关键字: JSP;B/S结构;JavaBean;网上拍卖系统ABSTRACTEnter after twenty-first Century, e-commerce has developed quickly and became mature. Among them, the online auction has become an important part of electronic commerce, is the focus of recent research. With the rapid development of e-commerce, e-government applications, and continuously improve the user requirements, development technology of the traditional e-commerce, especially online auction system development technology has exposed many shortcomings, which reduce the efficiency, the development costs, expand and maintenance difficulties, not for division of labor and other issues, limit the further development of the online auction system.The main work of this thesis is the research and design of the online auction application system of Web mode and JSP technology based on B/S. This paper first introduces the background of online auction system, analysis and comparison of the mode of operation, the system characteristic and the development technology of domestic and international relevant online auction system. Then analyzes all kinds of Web application development technology hot spot in current advantages and shortcomings, weigh the advantages and disadvantages, focusing on the study of JSP technology selection and development. Then according to the application characteristics of Web put forward B/S model, using JSP technology application development based on Web. At the end of the online auction system based on the scheme of function module design, system structure design and database design, and puts forward the research and selection of key technology in the web development process ( such as how to obtain the timely information), and gives the corresponding implementation.In terms of design, system uses B/S three layer structure, and dynamic page design using JSP technology, considering system security and code reusability, using the key code of the JavaBean program package. Background database using MYSQL database.Key Words:JSP;B/S structure;JavaBean; Network Auction System目 录引 言5一 概 述51.1课题研究的目的61.2课题研究的意义61.3国内外发展趋势61.4课题的可行性分析81.4.1课题调研81.4.2可行性分析8二 系统需求分析92.1 功能需求描述102.2 非功能需求描述11三 总体设计113.1系统总体结构设计113.2软件模块高层设计123.2.1资讯管理123.2.2留言管理123.2.3会员管理123.2.4商品管理133.2.5网站简介133.2.6资讯浏览133.2.7留言发布133.2.8商品发布133.2.9商品管理133.2.10商品竞价143.2.11竞价记录14四 数据库设计144.1概念设计(E-R图)144.2逻辑结构164.3物理设计19五 详细设计225.1模块详细设计225.1.1资讯管理225.1.2网站简介235.1.3会员管理245.1.4商品管理255.1.5留言管理275.1.6用户注册285.1.7会员登陆295.1.8商品浏览305.1.9资讯浏览325.1.10商品竞价335.1.11我的商品355.1.12我的竞价375.2界面设计385.2.1网站首页395.2.2后台管理员界面39六 系统测试396.1测试方法396.2测试用例40总 结43参考文献44致 谢45引 言进入21世纪后,电子商务凭借Internet的支持迅速发展并日渐成熟。其中,网上拍卖模式已经成为电子商务中常见的重要业务之一。由于Internet的世界性、广泛性、灵活性以及即时性等突出的优点,为拍卖商务行为的参与者开创了一个前所未有的巨大市场和交易平台。一 概 述网络和电子商务的迅速发展是世人有目共睹的。商务交易的许多关键部分都己经得到支持,比如搜索能力,安全认证,支付过程等。然而,达成合同协议的谈判过程仍然是一个费用昂贵的、需要手动的过程,很难借助网络和电子商务的支持。电子商务的交易可以分成四个阶段:信息阶段、谈判阶段、结算阶段、售后支持阶段。信息阶段已经被当前的技术很好的支持,结算阶段也可以依赖一套安全支付基础设施,售后支持则可以通过一系列的技术完成。虽然仍存在大量问题,但是电子商务环境下的这三个阶段相对好处理一些。和这三个阶段相比,谈判阶段就相对很难得到支持了。在现实世界中,谈判阶段可以通过许多方式得到解决,比如固定价格交易方式和复杂的讨价还价机制。固定价格交易方式也称为“接受或离开”方式,即接受这个固定价格从而达成交易,否则离开。一旦价格被确定下来后,策略是很容易实施的。而讨价还价则描述了一个公开的来回的谈判模式,在这种模式中,两个或更多的市场参与者对一笔交易的一个或多个属性有顺序的交换出价和还价。买卖双方之间的讨价还价策略是极为复杂的,通常要进行很长时间,而且需要对要揭示的信息量有精明的判断,以及确定什么时候说谎等。把这么复杂的一个过程全自动化是一项相当复杂的任务,到目前为止还几乎没有什么进展和支持。当前在电子商务中进行简单的固定价格谈判过程是可能的,但是要实现全自动的谈判,目前还不存在足够的技术和理论基础进行支持。然而,在全自动谈判领域中的一个子领域网上拍卖,无论是从理论的角度,还是技术的角度来看,都是可行的。1.1 课题研究的目的 1.掌握J2EE的工作原理。2.学会使用JAVA开发工具。3.掌握小型关系数据库。4.提高逻辑思维能力。5.培养相互合作的精神。1.2 课题研究的意义网上拍卖系统是一个提供给在校大学生交易的平台,学生们可以将自己的闲置物品发布出来转让给有需要的同学,避免了因物品闲置而导致的浪费,而有需要的同学也可以以低的价格淘到所需的物品,这样一个系统存在于学校必定会为学生带来收益。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情。在下面的各章中我们将谈谈其开发过程和所涉及到的问题及解决方法。本文中所做的主要工作如下:(1) 阐述整个系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。(2) 设计实现前台用户注册、物品发布、拍卖竞价、发表留言、资讯浏览,后台实现用户管理、商品审核管理、留言管理、资讯管理、网站基本信息管理等。 (3) 分析并解决实现中的若干技术问题。 (4) 建立完整的拍卖流程系统。1.3 国内外发展趋势拍卖网站的经营者为所有有心成为“买卖人”的网民提供了自由空间,比如有不少热心旅游的网民就可以将自己周游各地带回的稀奇物件罗列在网上进行出售。底价可以自己定,限定叫价时间,将商品卖给叫价最高的人,从而获得利润和拍卖的乐趣。而对于买家来说,想买二手货,想买商场中无法找到的稀罕物件,网络为他们提供了可能。于是,网络拍卖不出意料地在短时间内火了起来。在国内,在线拍卖业呈现出强者愈强的局面。著名在线拍卖网站淘宝网公布的业绩显示,今年第一季度其总成交额突破亿元人民币,同比增长超过。淘宝的不俗表现给海内外业界猜测其将有可能取代无疑又提供了一份依据。今年月日出版的美国福布斯杂志就曾刊登标题为淘宝反击的文章,分析了目前中国电子商务市场的竞争局面。认为如果马云有其后续发展之道,那么最终占领全球在线拍卖市场的不会是,而是淘宝。在雅虎于加利福尼亚州桑尼韦尔举办的一年一度的分析师大会上,马云亦对出席会议的华尔街分析师们表示,中国消费者电子商务市场上的战役已经结束。他透露,在过去的两年里,旗下的淘宝网已夺下了其竞争对手大部分的网上拍卖市场,现在市场占有率超过。根据国内调查公司易观国际以及中国互联网络信息中心发布的数据,淘宝网已经在市场份额上大大超过了对手。国内市场如此,国际市场也不例外。雅虎公司不久前宣布于月日结束在美国和加拿大的拍卖业务。在北美的拍卖业务是雅虎在年前推出的。雅虎在声明中称,公司继续重组资源以关注核心战略,向用户提供超级体验,作为这种努力的一部分,公司将优先开发相应产品。显然,雅虎在这些地方的在线拍卖业务竞争不过等对手,当地的在线拍卖市场份额也日益集中。面对淘宝网的强势地位,后来者要想再涉足大而全的在线拍卖业务显然是困难的。但是在线拍卖业务并没有因此向后来者关闭大门,细分的在线拍卖领域就是人们可以选择的机会。作为专业化细分市场的服务性网络拍卖网站,在国内外都已经出现,其优势已经得以充分体现,比如专业艺术品拍卖网站就为艺术爱好者提供了一个专业的艺术品拍卖平台,拍卖网站的专业化运作使它可以有效地细分目标市场,以更加专业的高水准途径服务该细分市场。目前,已有不少人开始涉足细分在线拍卖业务。不久前,全国首家化工产品网上在线交易平台易通盈泰化工交易网在武汉光谷建成。易通盈泰化工交易网是目前国内化工行业首家实现“全程在线”交易的平台,网站开通后,企业在网上可完成在线招标、在线拍卖、网上交易等行为,可大大降低交易成本,并可快速获知行业内供求信息。易通盈泰化工交易网在接受媒体采访时表示在线拍卖业务将是网站日后发展的重点业务之一。早在去年底,上海机动车拍卖中心有限公司主办的企业公务车改革专场拍卖会便率先在国内使用了由二度车网开发的“二手车网络同步拍卖”系统,几十位来自全国各地的竞买者通过互联网成功实现了远程竞标,这标志着中国二手车拍卖进入了网络化时代。据悉,在未来年内,上海机动车拍卖中心除了采用“二手车网络同步拍卖”系统外,部分车辆还特别提供现场拍摄的录像,并在二度车网上公示,任何地区的竞买者不仅能了解到车辆的注册和变更情况、客观科学的车况检测报告,还可以体验到接近实地观看效果的车况视频服务。今年月日,各地买家在线参与了上海市余辆二手车的拍卖,这是上海市对二手车网络拍卖的又一次成功尝试。北京远方国拍将业务主要定位于艺术品在线拍卖,而雅典娜拍卖网则将自己的触角伸到全球专利领域,专利领域的在线拍卖在全世界都是比较新的事物。国内著名房产网站搜房网也于不久前开展了一次在线房产拍卖活动,虽然不能依此判断搜房网将涉足在线拍卖房产的业务,但是这样的尝试仍然具有不一般的意义。互联网拍卖细分领域还有很多,只要细心挖掘,人们就不难发现在线拍卖的机遇。1.4 课题的可行性分析1.4.1 课题调研(1)与实践活动和相关的文件和资料由教师提供。(2)本课题要求学生有较强的自学能力以及一定的关系数据库理论开发功底。(3)具有对复杂表进行处理的能力。(4)具体问题再做详细调查研究并与指导老师面谈。1.4.2 可行性分析鉴于系统是个小型二手商品拍卖系统,开发难度适中。通过对诸多开发工具和数据库进行比较及指导老师的建议,最终确定采用Eclipse作为前台开发工具、Tomcat作为系统测试工具、MYSQL作为关系数据库,系统设计语言为JSP。Eclipse是一个开放源代码的、与NetBeans、Sun ONE Studio和Borland Jbuilder类似的一种基于Java的整合型可扩展开发平台,也是目前最著名的开源项目之一,其本身只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。其未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。 MYSQL 数据库引擎提供完整的XML支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。MYSQL关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千并发修改数据库的用户的开销减到最小。同时分布式事务支持充分保护任何分布式数据更新的完整性。JSP是在普通的Html中嵌入了Java代码的一个脚本,它由JSP容器(如Tomcat)首先将其转化为Servlet,然后再调用Javac将Servlet编译为Class文件,最终,服务器解释的是Class文件。JSP是Sun公司J2EE架构中重要的部分。Tomcat是一个免费的开源Servlet容器。基于Tomcat的开发其时主要是JSP和Servlet的开发,而Tomcat短小精悍,配置方便,能满足需求,因此在这种情况下选择Tomcat。同时,Tomcat和Eclipse结合起来,加上MVC 的框架实现本次毕业设计的要求。根据用户的要求,系统采用B/S模式。B/S模式是三层体系结构,它将表示层、业务逻辑层层、数据服务层分布到不同的单元。表示层由浏览器和动态的Web页面构成,接收和处理用户的请求,并交给Web应用服务器。业务逻辑层对应于Web应用服务器,其业务逻辑处理过程使用数据源层的服务来得到必要的信息或存储、修改相应的数据。数据服务层对应于数据库服务器,数据库服务器实现对数据库的管理和库中数据的访问与增加、删除及修改。二 系统需求分析随着Internet的迅速普及,目前网上交易己经日益成为人们认可的又一种交易方式之一。网上交易不仅让买家获得大量商品信息,使他们通过网络购买价廉物美的各类商品,也让卖家在网上能以全新的模式销售商品,在有效控制成本的同时大幅提升销售量,同时不受地域与时间的限制。一个典型的网上拍卖系统一般都要提供拍卖商发布拍卖品信息,上传相关拍卖品信息,查看竞价记录等功能,同时也应该提供竞价人拍卖品搜索,查看拍卖品信息,查看拍卖商情况,参与拍卖品竞价等功能。在本系统的设计中,由于考虑到系统应用的广泛性和延展性,任何一个用户应该可以既是拍卖商,又是竞拍商。既可以将自己的商品发布,供其他用户竞拍,又可以参与其他用户发布的商品的竞拍。所以任何一个注册的用户都可以使用竞拍商和拍卖商的所有功能。而对于任何一个参与拍卖的活动,系统都应该能以竞拍报告的形式自动发送给用户,以便用户及时查阅。经过调研与分析,网上拍卖系统主要应具有以下功能:(1)会员管理。会员管理包括管理员查看各会员信息。(2)资讯管理。资讯管理包括站内资讯信息的录入、修改与删除等功能。(4)网站简介管理。网站基础信息的编辑,如:联系方式,EMAIL,地址等(3)商品管理。管理员审核并查看会员发布的商品。(4)留言管理。管理员管理会员提交的留言信息(5)会员注册。游客填个人信息以注册(6)商品发布。会员发布二手商品(7)资讯浏览。游客或会员浏览其它会员发布的二手商品。(8)竞拍竞价。会员针对某一商品进行竞价。(9)留言。会员提供留言给管理员(6)用户个人信息修改。2.1 功能需求描述功能性需求 描述了系统与其独立于系统实现环境之间的交互。(1)会员前台需求游客游客希望可以查看会员发布的商品信息、站内资讯;可以注册会员。会员会员希望可以发布商品,对其它会员发布的商品进行竞价,而禁止对自己发布的商品竞价;可以管理自己的竞价记录,对于中标的商品能做付款操作;可以管理自己发的商品,并对其进行管理;可以留言给管理员;(2)后台管理员需求管理员希望能对站内资讯进行编辑;能查询所有注册会员的信息;能处理会员的留言;能查询所有会员发布的所有商品信息,并可对商品进行审核操作,只有审核通过的商品才可以供会员竞价;能编辑网站基础信息内容。(3)界面操作部分所有用户要求界面友好,功能易理解易操作。2.2 非功能需求描述非功能性需求描述了不直接关联到系统功能行为的系统的方方面面。非功能性需求包括用于系统不同方面的广大范围,涉及可用性到性能。l 可用性 用户可以学会使用操作,提供系统帮助。l 可靠性 系统对操作失败,能够检测错误给予用户提示。l 实现需求 WINXP 以上操作系统10G硬盘 JAVAWEB服务器端。128M内存l 界面需求 系统提供合法的系统交互格式。l 数据库安全性 (1)通过对不同用户设置不同权限,保证数据库的安全。 (2)设计备份与恢复数据库模块,能更好的维护数据库。 l 数据库完整性 (1) 实体完整性 通过设置主键保证数据库实体完整性 (2) 参照完整性 通过设置外码保证数据库参照完整性 (3)用户定义完整性 通过CHECK约束保证用户自定义的完整性三 总体设计3.1 系统总体结构设计根据需求分析的结果,系统可按用户角色分为两部分,即管理员模块、会员模块。系统功能架构图如下:由上图可以清楚的看到各角色的功能模块3.2 软件模块高层设计3.2.1 资讯管理管理员编辑发布站内资讯信息,供游客、会员用户浏览。模块名:资讯管理参与者:管理员涉从及关注点:管理员能发布、修改、删除、查询资讯类信息;游客、会员能查询资讯信息。前置条件:管理员成功登陆后置条件:资讯添加、编辑或删除成功,更新news表3.2.2 留言管理管理员管理会员发布的留言信息模块名:留言管理参与者:管理员涉从及关注点:管理员能查看会员的留言并可以删除前置条件:管理员成功登陆后置条件:留言信息查询成功,若删除成功则更新msg表3.2.3 会员管理管理员查询所有会员的信息模块名:会员管理参与者:管理员涉从及关注点:管理员能对会员信息进行查询。前置条件:管理员成功登陆后置条件:会员信息查询成功3.2.4 商品管理管理员查询并审核会员发布的二手商品信息。模块名:商品管理参与者:管理员涉从及关注点:管理员能查询商品信息,并可以对商品信息进行审核。前置条件:管理员成功登陆后置条件:商品信息审核,更新goods表3.2.5 网站简介管理员编辑网站基础信息模块名:网站简介参与者:管理员涉从及关注点:管理员能编辑网站基础信息前置条件:管理员成功登陆后置条件:网站基础信息更新成功,更新siteinfo表3.2.6 资讯浏览会员或游客浏览站内资讯信息模块名:资讯浏览参与者:管理员涉从及关注点:会员或游客能浏览管理员发布的站内资讯。前置条件:进行网站后置条件:资讯查询成功,显示在页面。3.2.7 留言发布会员登陆后发表留言。模块名:留言发布参与者:管理员涉从及关注点:必须登陆后才能发表留言,管理员在后台能查询到会员发布的留言。前置条件:会员成功登陆后置条件:留言发表成功,更新msg表3.2.8 商品发布模块名:商品发布参与者:会员涉从及关注点:会员登陆后发布二手商品信息供其它会员竞拍前置条件:会员成功登陆后置条件:添加成功更新goods表3.2.9 商品管理模块名:商品管理参与者:会员涉从及关注点:会员能查询与自己ID关联的商品。前置条件:会员成功登陆后置条件:从goods表中查询当前登陆会员所关联的商品,显示到页面。3.2.10 商品竞价用例名:商品竞价参与者:会员涉从及关注点:会员竞价,只能对其它会员发布的商品进行竞价,且每次竞价金额不得低于此商品当前最高竞价金额。前置条件:会员成功登陆后置条件:竞价成功,新增一条竞价记录,更新JJ表3.2.11 竞价记录用例名:我的竞价参与者:会员涉从及关注点:会员登陆后查询自己所参与的所有竞价前置条件:会员成功登陆后置条件:从JJ表中查询当前登陆者所参与的竞价,显示在页面。四 数据库设计4.1 概念设计(E-R图)系统各实体间关系图:系统用户实体图:商品实体图竞价记录实体图留言信息实体图资讯信息实体图:4.2 逻辑结构逻辑结构设计阶段完成的任务是概念模型向某种数据模型的转换。设计逻辑结构应该选择最适用于表达相应概念结构的数据模型。设计逻辑结构时,一般需要将概念结构转换为一般的关系、网状、层次模型,再将转化来关系、网状、层次模型向特定DBMS支持下的数据模型转换,并对数据模型进行优化。关系模型的逻辑结构是一组关系模式的集合,而ER图则由实体、实体的属性和实体之间的联系三要素组成。将ER图转换为关系模型实际上就是将实体,实体属性和实体之间的联系转换为关系模式。转换过程中常见规则有:(1)一个实体型转换为一个关系模式;(2)一个一对一的联系可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并;(3)一个一对多的联系可以转换成一个独立的关系模式,也可与多的那一端对应的关系模式合并;(4)一个多对多的关系转换成一个关系模式。本系统数据库的功能主要是存储平台中所有数据,以便进行操作。本系统数据库采用MYSQL数据库,系统数据库名称为studentpm_db,共包含6张表。关于数据库中的数据表如下:(1)goods(商品信息表)用于存储商品数据信息,表goods的结构如表B.1所示。表B.1 表goods的结构字段名数据类型长度是否主键描述idint11序号gnamevarchar500商品名称yearvarchar500购买年份chengsevarchar500成色pricevarchar500起拍价remarkvarchar500备注shstatusvarchar500审核状态pmstatusvarchar500拍卖状态savetimevarchar500发布时间unamevarchar500发布人imgvarchar500图片delstatusvarchar500删除状态typevarchar500类别etimevarchar500结束时间(2)jj(竞价信息表)竞价信息表主要用来保存会员的竞价的信息。表jj的结构如表B.2所示。表B.2 表jj的结构字段名数据类型长度是否主键描述idint11序号gidvarchar500商品IDjpricevarchar500竞价金额unamevarchar500竞价人statusvarchar500中标状态savetimevarchar500竞价日期fkstatusvarchar500付款状态(3)msg(留言信息表)用于存放会员的留言信息,表msg的结构如表B.3所示。表B.3 表msg的结构字段名数据类型长度是否主键描述idint11序号contentvarchar500留言内容replyvarchar500回复内容savetimevarchar500留言时间unamevarchar500留言人(4)news(资讯信息表)用于存放资讯信息,表news的结构如表B.4所示。表B.4 表news的结构字段名数据类型长度是否主键描述idid11序号titlevarchar500 标题contentvarchar500内容savetimevarchar500发布日期(5)siteinfo(网站基础信息表)用于存放网站基础信息,表siteinfo的结构如表B.5所示。表B.5 表siteinfo的结构字段名数据类型长度是否主键描述idid11序号infovarchar500 网站信息telvarchar500联系电话faxvarchar500传真emailvarchar500邮箱addrvarchar500地址(6)sysuser(系统用户信息表)用于系统用户信息,表sysuser的结构如表B.6所示。表B.6 表sysuser的结构字段名数据类型长度是否主键描述idint11序号unamevarchar500 用户名upassvarchar500密码realnamevarchar500真实姓名sexvarchar500性别telvarchar500电话addrvarchar500地址utypevarchar500用户类型savetimevarchar500注册日期4.3 物理设计基于上面关系模型,向特定的RDBMS的数据模型转换。下面设计数据表,表与表之间相互关联,共同存储着系统所需要的数据。在设计表的过程中,一般要遵循下面原则:数据库的一个表最好只存储一个实体或对象的相关信息;不同的实体最好存储在不同的数据表中;如果实体还可以再分,实体的划分原则是,划分后的实体比当前系统要开发的实体复杂度小;数据表的信息结构一定要合适,表的字段的数量一般不要过多;扩充信息和动态变化的信息一般要分别放在不同的表里;多对多的关系尽量不出现。根据上一节的分析,网上拍卖系统数据库(名称定为“studentpm_db”)中应该包含6 个数据表,分别是用于存放系统用户信息的系统用户表“sysuser”、用于存放商品信息的信息表“goods”、用于存放竞价信息的信息表“jj”、用于存放留言信息的信息表“msg”、用于存放资讯信息的信息表“news”、用于存放网站基础信息的信息表“siteinfo”。各数据表的结构(包含的表字段、表字段的数据类型、大小、约束)及相关说明如下:商品表设计竞价表设计留言信息表设计资讯信息表设计网站基础信息表设计系统用户表五 详细设计5.1 模块详细设计5.1.1 资讯管理流程设计图:添加资讯:/资讯发布public String newsAdd()News news = new News();news.setTitle(title);news.setContent(content);news.setSavetime(Info.getDateStr();commonDAO.update(news);suc=;return success;/资讯编辑public String newsEdit()News news = (News)commonDAO.findById(id, News);news.setTitle(title);news.setContent(content);commonDAO.update(news);suc=;return success;5.1.2 网站简介流程设计图:/网站信息编辑public String siteEdit()Siteinfo s = (Siteinfo)commonDAO.findById(id, Siteinfo);s.setAddr(addr);s.setEmail(email);s.setFax(fax);s.setTel(tel);s.setInfo(info);commonDAO.update(s);suc=;return success;5.1.3 会员管理流程设计图:5.1.4 商品管理流程设计图:/文件上传public void upLoadFile(File source,File target) InputStream in=null; OutputStream out=null; try in=new BufferedInputStream(new FileInputStream(source),FILE_SIZE); out=new BufferedOutputStream(new FileOutputStream(target),FILE_SIZE); byte image=new byteFILE_SIZE; while(in.read(image)0) out.write(image); catch(IOException ex) ex.printStackTrace(); finally try in.close(); out.close(); catch(IOException ex) /发布商品public String GoodsAdd() Map session= ServletActionContext.getContext().getSession(); Sysuser user = (Sysuser)session.get(admin);Goods g = new Goods();g.setGname(gname);g.setYear(year);g.setChengse(chengse);g.setRemark(remark);g.setUname(user.getUname();g.setPrice(price);g.setSavetime(Info.getDateStr();g.setShstatus(待审核);g.setPmstatus(待拍);g.setDelstatus(0);g.setType(type);String hz = upFileFileName.substring(upFileFileName.lastIndexOf(.)+1);String wjmc = Info.getAutoId()+.+hz;String filePath=ServletActionContext.getServletContext().getRealPath(upfile)+/+wjmc;File targetFile=new File(filePath);upLoadFile(upFile,targetFile);g.setImg(wjmc);suc=;commonDAO.save(g);return success;/商品编辑public String GoodsEdit()Goods g=(Goods)commonDAO.findById(id, g);g.setGname(gname);g.setChengse(chengse);g.setYear(year);g.setPrice(price);g.setRemark(remark);g.setType(type);if(!upFileFileName.equals()String hz = upFileFileName.substring(upFileFileName.lastIndexOf(.)+1);String wjmc = Info.getAutoId()+.+hz;String filePath=ServletActionContext.getServletContext().getRealPath(upfile)+/+wjmc;File targetFile=new File(filePath);upLoadFile(upFile,targetFile);g.setImg(wjmc);commonDAO.update(g);suc=;return success;5.1.5 留言管理/发布留言public String msgAdd()Map session= ServletActionContext.getContext().getSession(); Sysuser user = (Sysuser)session.get(admin);Msg msg = new Msg();msg.setContent(content);reply = ;msg.setReply(reply);msg.setSavetime(Info.getDateStr();msg.setUname(user.getUname();commonDAO.save(msg);suc=;return success;/管理员回复留言public String reply()Msg msg = (Msg)commonDAO.findById(id, Msg);msg.setReply(reply);commonDAO.update(msg);suc=;return success;5.1.6 用户注册/用户注册public String reg()String hql = from Sysuser where uname=+uname+;List adminList=commonDAO.findByHql(hql);if(adminList.size()!=0)no=;return erro;elseSysuser sysuser=new Sysuser();sysuser.setUname(uname);sysuser.setUpass(upass);sysuser.setRealname(realname);sysuser.setSex(sex);sysuser.setTel(tel);sysuser.setAddr(addr);sysuser.setUtype(utype);sysuser.setSavetime(Info.getDateStr();commonDAO.save(sysuser);suc=;return success;5.1.7 会员登陆/会员登陆public String memberLogin() Map session= ServletActionContext.getContext().getSession();String hql=from Sysuser where uname=+uname+ and upass=+upass+ and utype=会员 ;List adminList=commonDAO.findByHql(hql);if(adminList.size()!=0)Sysuser sysuser=(Sysuser)adminList.get(0); session.put(admin, sysuser); suc=; return success;elseno=;return erro;5.1.8 商品浏览% String type = request.getParameter(type)=null?:request.getParameter(type); String gname = request.getParameter(gname)=null?:request.getParameter(gname); String url =/cas/pmz.jsp?1=1; String hql = from Goods where pmstatus=拍卖中 and delstatus=0 ; String f = request.getParameter(f); if(f=null) type = Info.getUTFStr(type); gname = Info.getUTFStr(gname); if(!type.equals() hql+= and (type =+type+ ); url+=&type=+type; if(!gname.equals() hql+= and (gname like%+gname+% ); url+=&gname=+gname; hql += order by id desc; PageManager pageManager = PageManager.getPage(pmz.jsp?1=1,8, request); pageManager.doList(hql); PageManager bean= (PageManager)request.getAttribute(page); ArrayList carlist=( ArrayList)bean.getCollection(); for(Goods car:carlist) % IMG src=upfile/ A href=carx.jsp?id= 购买年限: 起拍价:元 当前最高价: %ArrayList jjlist = (ArrayList)dao.findByHql(from Jj where gid=
展开阅读全文