网上拍卖系统论文

更新时间:2024-06-10 20:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业论文

(网上拍卖系统)

学号: 201001001530310038 班级: 计算机科学与技术专升本 姓名: 马同洋

2012年 6 月 2日

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

摘 要

随着Internet的日益普及和电子商务的发展,网上拍卖迅速成为一种非常活跃的C2C电子商务模式。文中详细介绍了JSP技术以及分析了基于JSP建立网上拍卖系统的技术手段,深入探讨了如何利用Hirbernate技术实现与mysql数据库连接的方法。

本系统采用Struts+Hirbernate+Spring的构架开发,系统的视图层与控制层主要通过Struts的标签库和Action相关类设计实现;Hirbernate用于持久层的实现,包括数据库访问层和对象模型的设计;Spring利用其AOP界面编程特性和强大的组装功能将Struts和Hirbernate装配起来,提高了系统的安全性、可维护性、重用性和可扩展性。

系统中一些模块使用双重密码校验和验证码技术,进一步提升了系统的完全系数。使它能即使在复杂的网络环境也能正常运行。

关键词:电子商务;C2C; Hirbernate;Struts;Spring

I

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

Abstract

Along with the Internet day-by-day popularization and electronic commerce's development, on-line auction becomes one kind of very active C2C electronic commerce pattern rapidly. In the article introduced in detail the JSP technology as well as analyzed has established on-line auction system's technological means based on JSP, how discussed thoroughly to realize using the Hirbernate technology with Mysql database connection method.

This system uses Struts+Hirbernate+Spring the skeleton development, system's view level and the key-course mainly realizes through the Struts label storehouse and the Action related kind of design; Hirbernate uses in the lasting level realization, including database visit level and object model design; Spring uses its AOP contact surface programming characteristic and the formidable assembly function assembles Struts and Hirbernate, enhanced system's security, the maintainability, to entrust with heavy responsibility the nature and the extendibility.

In the system some module use dual cryptographic checks and the confirmation code technology, has further promoted system's complete coefficient. Enables it, even if in the complex network environment can also the normal operation.

Key words: Electronic Commerce;C2C;Hirbernate;Struts;Spring

II

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

目 录

摘 要 ......................................................................................................... 1 ABSTRACT .............................................................................................. II 第1章 绪论 .............................................................................................. 1 1.1 项目开发背景 .................................................................................. 1 1.2 选择此项目的依据和目的 ................................................................ 1 1.3 系统特点 ......................................................................................... 2 第2章 方案论证....................................................................................... 3 2.1 系统可行性分析 .............................................................................. 3

2.1.1 经济可行性分析 ........................................................................ 3 2.1.2 技术可行性分析 ........................................................................ 3 2.1.3 系统拟采用的软、硬件环境 ...................................................... 4 2.2 现行开发的平台、模式、技术、语言 .............................................. 4 2.2.1 平台分析 ................................................................................... 4 2.2.2 模式比较 ................................................................................... 5 2.2.3 技术选择(JSP + MySQL) ...................................................... 6 2.2.4 语言的选择 ............................................................................... 8 2.3 需求分析 ....................................................................................... 10 2.3.1 确定系统执行者 ...................................................................... 11 2.3.2 确定用例 ................................................................................ 11 2.3.3 网上拍卖系统用例图 ............................................................... 11 2.3.4 网上拍卖系统用例描述 ........................................................... 12 第3章 系统设计..................................................................................... 14 3.1 系统设计思想 ................................................................................ 14 3.1.1 Spring框架 ............................................................................. 14 3.1.2 Strust的MVC模式 ................................................................. 14 3.2 概要设计 ....................................................................................... 16 第4章 数据库设计 ................................................................................. 17 4.1 数据库需求分析 ............................................................................ 17 4.2 数据库逻辑设计 ............................................................................ 18 第5章 详细设计..................................................................................... 21 5.1 设计与搭建构架 ............................................................................ 21 5.1.1 设计视图层 ............................................................................. 21 5.1.2 设计控制层 ............................................................................. 22 5.1.3 设计对象模型 ......................................................................... 23

III 哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

5.1.4 设计数据访问层 ..................................................................... 24

5.2 界面实现 ....................................................................................... 28 5.2.1 系统主页设计.......................................................................... 29 5.2.2 实现浏览拍卖物品种类页面 .................................................... 29 5.2.3 实现浏览拍卖物品页面 ........................................................... 33 5.2.4 实现查看物品详细信息及出价界面 ......................................... 36 5.2.5 实现查看自己竞得的物品页面 ................................................ 39 第6章 系统测试..................................................................................... 41 6.1 单元测试 ....................................................................................... 41 6.2 功能测试 ....................................................................................... 43 6.3 集成测试与结论 ............................................................................ 43 结 论 ....................................................................................................... 45 参考文献 ................................................................................................... 46 致 谢 ....................................................................................................... 47 附 录 ....................................................................................................... 48

IV

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

第1章 绪论

1.1 项目开发背景

电子商务(electronic commerce)是计算机网络所带来的又一次革命,它的发展将形成新的交换体制,产生新的市场规则,冲破时间与空间的限制,加快全球市场一体化的进程,电子商务还将有力地推动信息和信息服务业的发展。它不仅涉及电子技术和商业交易本身,而且涉及到诸如金融、税务、教育等其他社会层面,是一个与社会大环境息息相关并且具有完整结构体系的系统工程。电子商务的发展为网上拍卖带来了勃勃生机,使得网上拍卖迅速成为一种非常活跃的电子商务模式。

网上拍卖系统是一个C2C模式下的电子商务系统,提供了一个网上拍卖的市场给买方和卖方,企业可以以拍卖的方式出售自己的产品。拥有商品展示、拍卖竞投、用户注册、信息反馈和新商品发布几项基本功能。使得网上的用户可以安全、便捷的使用该系统。企业可以通过该系统观察到消费者、客户之间的买卖情况,从中获取最直接的市场消息,掌握最详细的市场动态。它与传统的拍卖模式相比具有以下五个方面的主要优势。

① 降低了采购价格,借助EDI企业能够完成自动的例行采购,可减少采购过程中人力、印刷和邮寄的费用。

② 采用“零库存”管理方式,可大大缩短资金的周转周期。 ③ 互联网商务更有利于开拓全球市场。

④ 实现24小时不问断营业,有利于提高营业额。 ⑤ 可使用多媒体手段进行促销活动,可依靠客户数据库提供全新个人服务。

随着通信技术和网络技术的飞速发展,网上拍卖的开展势在必行。应该说网上拍卖发展的前景十分广阔,作用越来越大。文中论述了构建网上拍卖系统的技术手段及其实现的关键方法。

本次课程设计完成的系统主要实现的功能包括用户注册、发布商品、竞拍商品、查看商品的详细信息等功能。

1.2 选择此项目的依据和目的

随着Internet的普及,互联网以一股巨大变革力量的面貌出现在商务关系领域。计算机网络为商务活动开辟了新的空间,提供了新的手段,同时为公司业务发展赋予了更多的机会,成为现代商务的潮流。网上拍卖是

1

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

建立在电子网络技术上的一种全新的电子商务模式。它具有成本低廉,方式灵活,运行快捷等特点,通过Internet将拍卖活动变成每一位网民都可以加入其中的交易方式。但它在给人们带来便利的同时也带来了很多的问题。它的公平、公正、公开性受到大家的关注。其可靠性和安全性更是大家关心的问题。这就要求不仅要在系统的设计上做到公平合理,也要在信息的传输上做到安全可靠,以构建一个公平又安全的交易平台。

所以,我之所以选择JSP+Struts+Hirbernate+Spring技术实现网上拍卖系统,是想借用此题目来对大学所学知识作一次综合性运用,四年的大学生活,学过很多的专业知识,但是只有理论联系实际,才能对所学知识有更新的认识和体会。培养自己的设计能力,增强自己的动手能力,最关键的还是培养自己处理实际问题的能力。通过自己独立完成一个项目,使自己的综合素质得到提高,从而使自己能够和社会顺利接轨。

1.3 系统特点

本次毕业设计的拍卖系统具有以下特点。 1.页面模块化

本系统在界面设计上采用了模块化处理的思想,把很多页面共有的部分集成一个模块,例如页面的头、尾,这样在开发的时候遇到这类相似的页面部分就不再需要重新编写,而只要以一句:<%@include file=”header.jsp”%>就可以重用这部分的内容,大大提高了系统的开发效率 2.JSP+Struts+Hirbernate+Spring

JSP+Struts+Hirbernate+Spring目前被J2EE开发行业内视为J2EE框架的最佳组合,在这个组合中,表示层由Struts来实现,业务逻辑类可以用Spring的beans进行配置,并由Spring管理与表现层的控制器及更下层的DAO对象的关系。另外,还可以进行配置性事务处理。而DAO层是Spring封装后的Hirbernate API,让Hirbernate继续瘦身,并且通过Spring建立与上层的关系。

3.安全性设计

有些模块采用双重密码认证和验证码技术,进一步提高系统的安全性。 4.面向对象设计

在系统中将用户、商品、商品种类等都封装成了类,同时每个类都有相应的操作类,从而提高了对数据库操作的安全性和程序的可扩展性。

5.人性化设计

本系统的开发借鉴了淘宝网的导航样式,使系统的导航系统清晰明朗,这样不管用户位于系统的哪个位置,都能找到需要的功能。

2

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

第2章 方案论证

2.1 系统可行性分析

在系统的开发前期对系统进行可行性分析是十分必要的一个环节,这对于保证资源的合理使用,避免浪费是十分必要的,也是项目一旦开始以后能顺利进行的必要保证。信息系统的建设是一项投资大,时间长的复杂工程,可行性研究更为必要,也更复杂,更困难。“可行性”是指在当前情况下,企业研制这个信息系统是否有必要,是否具备必要的条件。可行性的含义不仅包括可能性,还包括必要性,合理性。

开发任何一个急于计算机的系统都会受到时间和资源的限制,因此开发方在接受客户的项目之前,必须按照客户可能提供的具体条件进行可行性研究。其主要任务不是研究如何解决问题,而是要用最小的代价在最短的时间内确定该项目时候值得去解决,是否存在可行的解决方案。对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。通过长时间的观察与实践,我认为网上拍卖系统的可行性分析如下: 2.1.1 经济可行性分析

主要是对项目的经济效益进行评价,本系统开发经费对于学校在经济上是可以接受的。开发工具方面,我选择是Dreamweaver MX平台,编程语言选择的是JAVA语言。在数据库方面,我考虑经济因素选择了Mysql。基于上述工具的应用开发环境为整个系统的开发节省了大量投资。没有一般项目开发的基建投资,没有工作地点的费用,常用设备是开发人员自带的不用支付。不需要购买新的硬件,安装系统及软件也无须任何费用。经常性的费用支出包括资料费、上网费等。虽然要使用很多的书籍,但可以去学校的图书馆租用。 2.1.2 技术可行性分析

技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。网上拍卖系统的工作主要是在消费者和消费者之间架起一座桥梁,使其可以查询信息和处理信息。这一特点与计算机特点完全相同,通过网络Internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。

3

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

鉴于本人的专业技能不高、实战经验少、知识面不宽和开发时间短等方面情况的分析,软件完成在技术上确实有很大的难度。但是,在“学校”这个良好的开发环境中,我们可以很快的学到新的知识、可以得到多方面的帮助,可以产生更多的灵感,所以,从开发人员方面讲在技术上是有可行性的。

2.1.3 系统拟采用的软、硬件环境

1.硬件环境

网络框架体系结构模型采用浏览器/服务器模型。

根据现有的条件,拟定该项目终端机采用PC机一台(终端机和服务器为同一台计算机)。

PC机的基本要求如下:

CPU:Inter celeron 2.0G Hz上海共享网 内存:1G上海共享网 硬盘:160G 2.软件环境

本次设计所用的软件环境如下: 操作系统:Windows XP海共享网 所用软件:上海共享网

JDK1.5.0_09(Java的编译环境,是所有Java开发工具的运行基础) Tomcat5.5(作为web服务器存在)上海共享网

Dreamweaver MX(网页制作工具,可以高效的开发HTML代码) Mysql(数据库,简单易用)要上海共享网

2.2 现行开发的平台、模式、技术、语言

2.2.1 平台分析

Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。

Dreamweaver特色: (1)最佳的制作效率

Dreamweave可以用最快速的方式将Fireworks,FreeHand,或Photoshop等档案移至网页上。 使用检色吸管工具选择萤幕上的颜色可设定最接近的网页安全色。对于选单,快捷键与格式控制,都只要一个简单步骤便可完成。Dremweaver能与您喜爱的设计工具,如Playback ,Flash,Shockwave和外挂模组等搭配,不需离开Dremweaver便可完成,整体运用流程自然

4

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

顺畅。 除此之外,只要单击便可使Dreamweave自动开启Firework或Photoshop来进行编辑与设定图档的最佳化。

(2)网站管理

使用网站地图可以快速制作网站雏形,设计,更新和重组网页。改变网页位置或档案名称,Dreamweaver会自动更新所有连结。使用支持文字,HTML码,HTML属性标签和一般语法的搜寻及置换功能使得复杂的网站更新变得迅速又简单。

(3)无可比拟的控制能力

Dreamweaver是唯一提供Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。它包含HomeSite和BBEdit等主流文字编辑器。帧(frames)和表格的制作速度快的令您无法想象。 进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver支持精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。

(4)全方位的呈现

利用Dreamweaver设计的网页,可以全方位的呈现在任何平台的热门浏览器上。对于cascading style sheets的动态HTML支持和鼠标换图效果,声音和动画的DHTML效果资料库可在Netscape和Microsoft浏览器上执行。使用不同浏览器检示功能,Dreamweaver可以告知您在不同浏览器上执行的成效如何。当有新的浏览器上市时,只要从Dreamweaver的网站在下载它的描述档,便可得知详尽的成效报告。 2.2.2 模式比较

1.模式分析

MIS系统平台模式的选择是系统设计的主要问题。MIS系统平台模式大体上分为四种:主机终端模式、文件服务器模式、客户机/服务器模式(Client/Server,简称C/S)和Web浏览器/服务器模式 (Browser/Server,简称B/S)。

主机终端模式由于硬件选择有限,硬件投资得不到保证,已被逐步淘汰。而文件服务器模式只适用小规模的局域网,对于用户多、数据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户要求。因此,现代企业MIS系统平台模式应主要考虑C/S模式和B/S模式。

如今流行的数据库模式主要是双层模式和三层模式,其代表分别是C/S和B/S。C/S型数据库程序由服务器和客户机两个部分组成,因此被称为双层(two-tiered)模型。双层模型在金融、电力、通信等领域被广泛使用,极大地推动了网络数据库的发展。与文件型数据库(单层模型single-tiered)不同的是,C/S型数据库应用程序由两个部分组成:服务器和客户机。服务器指数据库管理系统(Database Manage System,DBMS),

5

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

用于描述、管理和维护数据库的程序系统,是数据库系统核心组成部分,对数据库进行统一的管理和控制。客户机则将用户的需求送交到服务器,再从服务器返回数据给用户。C/S型数据库非常适合于网络应用,可以同时被多个用户所访问,并赋予不同的用户以不同的安全权限。C/S型数据库支持的数据量一般比文件型数据库大得多,还支持分布式的数据库(即同一数据库的数据库用于多台服务器上)。同时,C/S型数据库一般都能完善地支持SQL语言(所以也被称作SQL数据库)。这些特性决定了C/S型数据库适合于高端应用。

2.模式分析比较

随着技术的不断更新,C/S型的结构也开始逐渐被多层(Multi-Tiered)数据库模型所取代。在这种情况下,出现了三层模型,应用程序中的数据模块部分被分离出来,转移到一个单独的服务器上,成为独立的一层。简言之,三层模型由以下三个层次组成:客户机-应用程序服务器-数据库服务器。用户的请求首先通过客户机向应用程序服务器发出,应用程序服务器再向数据库服务器发出具体的数据访问命令(一般是SQL),数据库服务器返回的数据被应用程序服务器重新组织之后返回给客户机。

B/S(Brower/Server浏览器/服务器)模型无疑是当前最为流行的多层数据库模型之一。用户通过浏览器发出某个请求,通过应用程序服务器-数据库服务器之间一系列复杂的操作之后,返回相应的Html页面给浏览器。 其实这就是Internet上的WEB数据库,当然它也可以用于局域网。它实际上可以说是一种最常见的多层模型。

鉴于B/S模型是当前最为流行的多层数据库模型之一,我选择B/S模式来设计开发整个系统。

由于考虑到B/S结构易于部署等优点与超市在线交易系统的要求相符。所以我选择了B/S结构。 2.2.3 技术选择(JSP + MySQL)

1.JSP与ASP比较

JSP与ASP技术都是目前网上最流行的在服务器端运行的脚本技术,JSP能用JavaBeans技术封装,达到商业逻辑的目的,ASP对应之的是COM组件,因此两者都能用于开发商业逻辑,PHP则更像于一个纯脚本,仅适合于普通的网站开发,而不能用作商业逻辑而被冠以“Person Home Page”的名称,这是最贴切不过的了。

JSP 与 ASP 技术非常相似。两者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在 ASP 或 JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 和 JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入

6

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

到 HTML 代码中,然后一起发送给浏览器。 ASP 和 JSP 都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。

ASP 的编程语言是 VBScript 之类的脚本语言, JSP 使用的是 Java ,这是两者最明显的区别。此外, ASP 与 JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在 ASP 下,VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。

JSP与ASP又有不同,JSP具有跨平台、安全、强大的可伸缩性的特点,如果硬要挑一些毛病,JSP相对别的脚本更加难掌握,因为精通JSP必须精通Java语言,对于中小型项目,我们要考虑开发人员、开发速度、开发成本等问题,在这方面ASP和PHP会比JSP更容易胜出。

值得一提的是,ASP的最新版本ASP.NET与原来的ASP性质完全是不同的,它和JSP一样,都是一种编译性的脚本,本身完全与强大的Net框架结合,完美的支持Xml的各种应用,与昔日的ASP不可同日而语,但是无论是ASP还是ASP.NET,它都摆脱不了Windows平台本身,这是ASP一个致命的缺点。

合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比较如表2-1:

表2-1 JSP、ASP、PHP的特性比较

技术名称 对数据库的好 支持 开发难易度 安全性 使用平台 对组件的支支持 持 编译之后执行方式 跨平台 解释执行 执行 不好 好 好 解释执行 支持 不支持 容易 不好 容易 好 较难 不好 好 好 ASP JSP PHP Windows9X/NT Windows/UNIX UNIX 这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。不难看出,JSP的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好。

7

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

2.JSP技术简介

JSP是指Java Server Pages,它是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。

JSP技术是J2EE的一个关键技术,它在更高一级的层次上抽象Servlet。它可以让常规静态HTML与动态产生的内容相结合,看起来像一个HTML网页,却作为Servlet来运行。现在有许多商业应用服务器支持JSP技术,比如BEA WebLogic、IBM WebSphere、JRun等等。使用JSP比用Servlet更简单。如果你有一个支持JSP的Web服务器,并且有一个JSP文件,你可以把它放倒任何静态HTML文件可以放置的位置,不用编译,不用打包,也不用进行ClassPath的设置,就可以像访问普通网页那样访问它,服务器会自动帮你做好其他的工作。

3.MySQL

目前,市面上的数据库产品多种多样,从大型企业的解决方案到中小企业或个人用户的小型应用系统,可以满足用户的多样化需求。这里,我选择的MySQL数据库是众多的关系型数据库产品中的一个,相比较其它系统而言,MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用。总体来说,MySQL数据库具有以下主要特点:

① 同时访问数据库的用户数量不受限制; ② 可以保存超过50,000,000条记录;

③ 是目前市场上现有产品中运行速度最快的数据库系统; ④ 用户权限设置简单、有效。

如今,包括Siemens和Silicon Graphics这样的国际知名公司也开始把MySQL作为其数据库管理系统,这就更加证明了MySQL数据库的优越性能和广阔的市场发展前景。 2.2.4 语言的选择

1.JAVA简介

自从1946年世界上第一台电子计算机问世以来,计算模式的发展经历了三个阶段:集中计算模式、分散计算模式和网络计算模式。Internet的出现,为在网络计算模式下的科学计算和信息处理提供了良好平台。然而,要充分利用网络计算模式的功能与效益,平台的运行环境是个制约因素,而Java语言和Java技术则是解决这一问题的最佳途径。

1991年,SUN公司的Jame Gosling,Bill Joe等人试图为电视、烤箱等家用电器开发一种交互式的软件系统,这种应用需要的是那种小而可靠

8

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

的系统,它能够移植,并且实时性好,适用于网络分布环境。流行的C++是自然的选择。不过,开发过程中遇到的许多难以克服的困难使他们意识到必须彻底解决问题了,最终,开发成功了一个名为Oak的软件,此中蕴藏着Java的原型,当时,并未引起人们的注意。1994年下半年,随着Internet的迅猛发展,环球信息网WWW的快速增长,促进了Java语言研制的进展,使得它逐渐成为Internet上倍受欢迎的开发与编程语言。1995年5月Java正式问世,一些著名的计算机公司纷纷购买了Java语言的使用权,如Microsoft、IBM、Netscape、Novell、Apple、DEC、SGI等。因此,Java语言被美国著名杂志PC Magazine评为1995年十大优秀科技产品(计算机类仅此一项入选)之一,随之大量出现了用Java编写的软件产品,受到工业界的重视与好评,认为“Java是八十年代以来计算机界的一件大事”。微软总裁比尔·盖茨在认真观察了一段时间后,确认“Java是长时间以来最卓越的程序设计语言”,并确定微软整个软件的开发战略从PC单机时代向以网络为中心的计算时代转移,而购买Java则是他的重大战略决策的实施部署。

因此,Java的诞生必将对整个计算机产业发生深远的影响,对传统的计算模型提出了新的挑战。SUN Microsystem公司的总裁Scott McNealy认为:Java对Internet和WWW开辟了一个崭新的时代。

有人预言:Java将成为网络上的“世界语”,今后,用其他语言编写的软件统统都要用Java语言来改写。

2.选择JAVA的原因 Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。在早期,Java比较多的用在浏览器上,插入到网页中(即是Java Applet程序),成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的JSP(Java Server Page)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。

因此,在设计这个网上拍卖系统时选择了JAVA语言作为程序的设计语言。

9

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

2.3 需求分析

需求分析是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。

网上拍卖系统

注册 管理商品 发送邮件 浏览物品 查看物品 参加 商品竞拍 管理商品种类 登录 添加商品 浏览流拍物品 浏览拍卖物品 查看竞得物品 查看自己的竞标 添加商品分类 3-1 网上拍卖系统需求框图

10

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

2.3.1 确定系统执行者

网上拍卖系统中,用户要操作该系统发布拍卖商品并参与其他用户发布商品的竞拍。

可以确定,该系统涉及到的人执行者有用户,系统执行者为邮箱系统。 2.3.2 确定用例

“网上拍卖系统”包含八个用例。

① “注册”用例:对于首次登录该系统的用户,要先进行注册。 ② “登录”用例:只有登录的用户才可以对系统做相应的操作。 ③ “操作商品”用例:对于登录后的用户可以操作商品,发布新商品。 ④ “操作商品种类”用例:对于登录后的用户可以操作商品种类,添加商品种类。

⑤ “竞拍商品”用例:对于登录后的用户可以参加处于拍卖状态商品的竞拍。

⑥ “浏览商品”用例:用户可以通过该用例浏览流拍状态的商品和处于拍卖状态的商品。

⑦ “查看商品”用例:用户可以通过该用例完成查看自己竞得商品和查看自己正在竞标的物品。

⑧ “发送邮件”用例:用户可以通过该用例向管理员发送邮件。 2.3.3 网上拍卖系统用例图

根据以上的功能分析,可以绘出“网上拍卖系统”用例图。如图3-2所示。

图3-2 网上拍卖系统用例图

11

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

其中浏览商品用例可以扩展出浏览流拍商品和浏览拍卖商品两个用例,可以绘出浏览商品用例图。如图3-3所示。

图3-3 浏览商品统用例图

2.3.4 网上拍卖系统用例描述

在图3-2中的用例图里共有“注册”、“登录”、“操作商品”、“操作商品种类”、“竞拍商品”、“查看商品”、“浏览商品”、“发送邮件”八个用例,下面对其中的几个用例进行简单的描述。

1.“操作商品”用例

用例编号:0101 (共两层用例图结构,每层用两位数字表示,共两位编号。)

用例名:操作商品

执行者:人执行者:用户

目的:发布新商品,对已经拍卖的商品进行管理(修改、删除)。 类型:主要的、基本的 级别:一级 过程描述:

① 用户输入用户名,密码及验证码,系统识别有效性。

② 选择商品管理功能,再对应选择相应的其他操作(新增、查找、删除)。 ③ 新增商品时,填写新商品的相关信息,并输入验证码。

④ 退出相应模块功能。

与其他用例的关联:过程描述①中包含登录用例;②中查找子用例涉及“查找商品”用例。

2.“竞拍商品”用例 用例编号:0102 (共两层用例图结构,每层用两位数字表示,共两位编号。)

用例名:竞拍商品

12

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

执行者:人执行者:用户

系统执行者:商品管理

目的:用户参与自己喜欢商品的竞拍 类型:主要的、基本的 级别:一级 过程描述:

① 用户输入用户名,密码及验证码,系统识别有效性。 ② 查看自己喜欢且处于拍卖状态的物品。 ③ 浏览商品的详细信息,如果满足条件可以输入自己的出价和验证码参与竞拍。

④ 退出相应功能模块。 与其他用例的关联:过程描述①中包含登录用例;②中查找子用例涉及“查找商品”用例。

13

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

第3章 系统设计

3.1 系统设计思想

系统设计思想决定了一个系统设计的成败也从某种角度反映了一个系统的生命力。此系统采用了JSP+Struts+Hirbernate+Spring框架的设计思想做到了功能的独立化和模块化。 3.1.1 Spring框架

JSP是嵌入了Java代码的HTML,两种标记混杂在一定程序上使开发更为方便,但也存在混杂的代码容易出错,且出错时不方便使用开发工具来设置断点排查。Spring是一个服务于所有层面的应用程序框架,提供了JavaBean的配置基础、AOP的支持、JDBC的提取框架,以及抽象事物支持等。Spring降低了各个技术层次之间的风险。

Spring的主要部分为Bean+ApplicationContext,他以一种统一的Ioc方式查找、管理、组装并使用系统的组建取代一切工厂,包括持久化框架,及Web框架等。

3.1.2 Strust的MVC模式

Struts的MVC模式实现图如图3-1所示。

Struts通过提供一个控制器ActionServlet实现了MVC架构,这个控制器可以用来管理JSP页面和其他表现层之间的流程,Strust通过使用ActionForward和ActionMapping来保证表现层之外的控制流决策来实现MVC模式。JSP可以引用一个逻辑目标,控制器组件在运行时提供准确的URL,从而实现页面的控制。

Struts组件的功能即其对应经典的MVC组件职责。 ① ActionForward类:用于用户指向或者视图选择。 ② ActionForm类:状态改变的数据的封装类,是一个JavaBean。 ③ ActionMapping类:状态改变事件的映射类。

④ ActionServlet类:控制器,接受用户请求和状态改变,并发出视图选择控制器的一部分、与模型交互、执行状态改变或状态查询,以及告诉Action及ActionServlet下一个选择的视图。

14

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

从视图层来看,Struts有自己的JSTL标签扩展,主要包括如下3中标签。

HTML标签(struts-html.tld):扩展HTML Form的JSP标记。 Bean标签(struts-bean.tld):扩展处理JavaBean的JSP标记。 Logic标签(struts-logic.tld):扩展测试属性值得JSP标记。

模型 控制器 ActionServlet Action ActionForm Bean Web 浏览器 Web 选择 视图 Action Server ? 视图 JSP Action JavaBean EJB

图3-1 Struts的MVC模式实现

15

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

3.2 概要设计

系统分为前台和后台两个模块,前台主要用来提供给系统注册用户或者游客浏览、查看商品,并提供注册的模块,系统注册用户通过登录后还能管理自己的信息和对指定的商品参与竞拍。

后台是系统管理员对拍卖系统设置、管理用户和管理商品的地方。 系统的系统层次概框划分如图3-2所示。

网上拍卖系统

注册 登录 管理商品 浏览流拍物品 管理商品种类 查看竞得物品 浏览拍卖物品 查看自己的竞标 添加商品 添加商品分类 查看物品详细信息 参加 商品竞拍 3-2 系统层次概框图

16

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

第4章 数据库设计

4.1 数据库需求分析

在网上拍卖系统中有很多类,包括边界类、控制类、和实体类。数据库设计首先要找出需要持久保存的类,即实体类。在“网上拍卖系统”中,通过分析可得到实体类有:用户类AuctionUser、商品分类类Kind、用户出价信息类Bid、商品类Item、商品状态类 State。

各个实体类之间的关系图如图4-1所示:

图4-1 实体类关系图

根据系统的需求,数据库中需要创建以下数据表。

① 用户信息表:用于存放注册用户的资料以及用户登录情况。 ② 商品分类信息表:商品的主要分类,和分类信息的描述。 ③ 商品信息表:记录用户发布的商品的信息。

④ 用户出价信息表:用于记录用户对相关商品的出价信息。 ⑤ 商品状态信息表:用于存放商品状态信息。

17

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

4.2 数据库逻辑设计

数据库需求分析设计完毕后,现在可以将上面的需求分析转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑结构,可以作出各表。

网上拍卖系统数据库中各个表的设计结果如下面的表格所示。每个表格表示在数据库中的一个表。

如表4-1所示为用户信息表,记录了系统中所有用户的详细信息。 表中user_id为主键并被设置为IDENTITY (1, 1),这样当插入一条记录且user_id字段的数据为空(null)时,新记录的user_id值将由系统自动给出,且给出的值将比表中曾经曾在的最大的user_id值在1(若是一张新表,则从1开始)。这样可以保证整个表中的user_id字段在其数据类型允许的范围之内没有重复的值。

表4-1 auction_user用户信息表

Field user_id username password email Type int varchar varchar varchar Null - - - - Key PRI - - - Default - - - - Comment 用户标识 用户名 用户密码 用户邮箱

如表4-2所示为商品分类信息表,记录了所有商品分类的信息。

表4-2 kind商品子分类信息表

Field kind_id kind_name kind_desc Type int varchar int Null - - Yes Key PRI - - Default - - - Comment 分类的标识 分类的名称 分类的描述

如表4-3所示为记录用户所发布的商品的详细信息的表。

表中item_id为主键设为自动增长。owner_id为auction_user表中user_id的外键,kind_id为kind表中kind_id的外键,csub为subsort表中ssid的外键,这些外键能保证商品的完整性。cend表示商品的拍卖是否已经结束。

18

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

表4-3 item商品信息表

Field item_id owner_id item_name kind_id item_pic item_desc winer_id addtime endtime init_price max_price state_id Type int int varchar int varchar varchar int date date double double int Null - - - - Yes Yes Yes - - - - - Key PRI FK - FK - - FK - - - - - Default - - - - - - - - - 0 0 - Comment 主键,递增 发布者的标识 商品名称 商品分类 商品图片地址 商品描述 拍买者的标识 开始日期 结束日期 初始价钱 最高价钱 商品状态

如表4-4所示为记录用户对商品出价情况的信息表。 表中bid_id为主键设为自动增长。item_id为商品表item中item_id的外键,这样可以保证用户的出价都是针对已经发布的商品发出的。user_id为出价的用标识。howmuch代表用户对此商品出了多少钱。

表4-8 bid用户出价信息表

Field bid item_id user_id bid_date bid_price Type int int int date double Null - - - - - Key PRI FK - - - Default - - - - - Comment 出价的标识 对就的商品标识 出价的用户名 出价的时间 出了多少钱

19

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

如表4-5所示为记录用户发布的商品的状态的信息表。 表中state_id为主键设为自动增长。

表4-5 state用户出价信息表

Field state_id state_name Type int varchar Null - - Key PRI - Default - - Comment 商品状态的标识 商品状态的名称

20

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

第5章 详细设计

5.1 设计与搭建构架

“网上拍卖系统”采用的构架为Struts+Hirbernate+Spring,系统的视图层与控制层主要通过Struts的标签库和Action相关类设计与实现;Hirbernate用于持久层的实现,包括数据访问层和对象模型的设计;Spring利用其AOP界面编程特性和强大的组装功能将Struts和Hirbernate装配起来,更有利于程序的维护和升级。 5.1.1 设计视图层

系统的视图层是一组JSP页面,他们通过Struts结合JSTL EL表达式语言将数据暴露给用户,供用户操作。本系统在界面设计上采用了模块化处理的思想,把很多页面共有的部分集成一个模块,例如页面的头、尾,这样在开发的时候遇到这类相似的页面部分就不再需要重新编写,而只要以一句:<%@include file=”header.jsp”%>就可以重用这部分的内容,大大提高了系统的开发效率。根据系统的功能,JSP的主要页面如下。

头(header.jsp):所有页面共有的头部分,通过<%@include file=”header.jsp”%>就可以重用这部分的内容。

尾(footer.jsp):所有页面共有的尾部分,通过<%@include file=”footer.jsp”%>就可以重用这部分的内容。

主页(main.jsp):主页是系统的入口。 登录页(login.jsp):系统为注册的用户提供一个进入系统并使用系统功能的入口。

登出页(logout.jsp):用户离开系统时显示的页面。 注册新用户页(newuser.jsp):系统提供给普通用户的注册功能。只有注册用户才可以参加竞拍并管理自己的物品。

管理商品页(mrgitem.jsp):系统为注册用户提供商品管理功能。 管理分类页(mrgkind.jsp):系统为注册用户提供商品分类管理功能。 查看竞得商品页(viewItemSu.jsp):系统为注册用户提供查看用户自己成功竞得的商品的功能。

查看自己的竞标(viewBid.jsp):系统为注册用户提供查看用户自己正在参与竞价的商品。

浏览流拍商品(viewFailItem.jsp):所有用户都可以浏览处于流拍状态的商品。

21

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

浏览拍卖商品(viewKind.jsp):所有用户都可以浏览正在拍卖的商品。 查看商品详细信息(viewDetail.jsp):所有用户都可以查看正在拍卖物品的详细信息。但要参与竞拍必须是注册用户。

提示错误信息页面(error.jsp):所有操作错误的提示信息页面。 5.1.2 设计控制层

根据系统要实现的功能,构成此网上拍卖系统的各个控制层动作类如表5-1所示。通过此表,可以从宏观上了解各个控制层动作类的功能。

表5-1 控制层的动作类

ActionForm loginForm refistyForm Action MyActionServlet LoginAction NewUserAction AddBidAction AddItemAction AddKindAction MgrItemAction MgrKindAction ViewBidAction ViewDetailAction ViewFailAction ViewItemAction ViewSuAction ViewKindAction 功能描述 重载ActionServlet,以实现中文编码正确显示,需要在web.xml中重新配置 处理会员登陆的动作类 处理会员注册的动作类 处理添加竞拍成功记录的动作类 处理添加商品的动作类 处理添加商品种类的动作类 处理管理商品的动作类 处理管理商品种类的动作类 处理查看竞拍记录的动作类 处理查看商品细节的动作类 处理查看流拍商品的动作类 处理查看某一种商品的动作类 处理查看竞拍成功商品的动作类 处理查看商品种类的动作类 bidForm itemForm kindForm 此表列出了本系统中主要的动作类和Form Bean及其功能描述。

为了使各个表单中的数据能正确显示,本系统重载了ActionServlet类,使其正确处理中文参数并显示。设置步骤如下:

(1)重载ActionServlet,代码如下: package org.yeeku.struts;

import org.apache.struts.action.ActionServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

public class MyActionServlet extends org.apache.struts.action.ActionServlet {

protected void process(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException

22

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

}

{ }

//设置编码方式为GB2312,正确处理中文。 request.setCharacterEncoding(\ //将控制权交给父类继续处理 super.process(request, response);

(2)在web.xml配置文件中应用此重载的MyActionServlet作为前端控制器,部分代码如下: ?

action org.yeeku.struts.MyActionServlet config /WEB-INF/struts-config.xml 2 ?

应用此设置后,程序将首先通过MyActionServlet预处理所有发送至此控制器设置中文编码,然后使用super.process()方法将控制权交给ActionSerlet处理完成其功能。 5.1.3 设计对象模型

根据前面的介绍,现在可以很容易的理解本系统的对象模型。通过MyEclipse,可以自动生成这些对象模型,以及数据访问层的相关类。系统对象模型类图如4-1所示,在org.yeeku.model包中有五个对象模型各个类的作用如下。

① Bid类:用户出价相关的信息。 ② Item类:商品类。

③ AcutionUser类:用户信息类。 ④ Kind类:商品种类类。 ⑤ State类:商品状态。

在org.yeeku.model.base包中有五个抽象类分别是org.yeeku.model包中类的父类。每一个抽象类都对应了数据库中的一张表。

23

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

5.1.4 设计数据访问层

数据访问层使用Hibernate来实现,根据数据库表和对象模型之间的对应关系,使用MyEclipse可以自动生成数据访问层的DAO类和XXX.hbm.xml文件。此处给出与AuctionUser类相关的AuctionUserDao类及其实现类AuctionUserDaoHirbernet和auctionuser.hbm.xml文件,并对其分析。

AuctionUserDaoHirbernet类实现代码如下: package org.yeeku.dao; import java.util.List;

import java.util.ArrayList;

import java.util.Iterator;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.yeeku.model.*; import org.yeeku.business.*;

public class AuctionUserDaoHibernate extends HibernateDaoSupport implements AuctionUserDao {

/**

* 根据id查找用户 id);

* @param id 需要查找的用户id */

public AuctionUser get(Integer id) {

return (AuctionUser)getHibernateTemplate().get(AuctionUser.class , } /**

* 增加用户

* @param user 需要增加的用户 */

public void save(AuctionUser user) {

getHibernateTemplate().save(user); } /**

* 修改用户

* @param user 需要修改的用户

24

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

*/

public void update(AuctionUser user) {

getHibernateTemplate().saveOrUpdate(user); } /**

* 删除用户

* @param id 需要删除的用户id */

public void delete(Integer id) {

getHibernateTemplate().delete(getHibernateTemplate().get(AuctionUser.class , id)); } /**

* 删除用户

* @param kind 需要删除的用户 */

public void delete(AuctionUser user) {

getHibernateTemplate().delete(user); } /**

* 查询全部用户

* @return 获得全部用户 */

public List findAll() {

return getHibernateTemplate().find(\

} /**

* 根据用户名,密码查找用户

* @param username 查询所需的用户名 * @param pass 查询所需的密码

* @return 用户名,密码对应的用户的id */

public Integer findUserByNameAndPass(String username , String pass)

25

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

{

String[] args = {username , pass};

List ul = getHibernateTemplate().find(\AuctionUser au where au.username = ? and au.userpass = ?\ if (ul.size() == 1) {

AuctionUser au = (AuctionUser)ul.get(0); return (Integer)au.getId(); }

return null; } }

动作类将会根据此类中的方法进行数据的增、删、改及查等操作。 相应的AuctionUser.hbm.xml文件如下:

\

\

26

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

由此配置文件可知:用户与商品表和竞拍表都是一对多的关系。 其他数据访问层的xml文件和Dao类如下表:

表 5-2对象模型与xml文件对应表

对象模型 Bid Item Kind State 数据库访问接口 BidDao ItemDao KindDao StateDao 接口实现类 BidDaoHirbernate ItemDaoHirbernate KindDaoHirbernat StateDaoHirbernate 配置文件 Bid.hbm.xml Item.hbm.xml Kind.hbm.xml State.hbm.xml 数据库连在applicationContext.xml文件中配置

com.mysql.jdbc.Driver

jdbc:mysql://127.0.0.1:3306/auction

root

1234

AuctionUser.hbm.xml

27

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

Bid.hbm.xml

Item.hbm.xml Kind.hbm.xml State.hbm.xml

key=\

在org.yeeku.service包中包含两个类,分别是接口AuctionManager及其实现类AuctionManagerImpl。此类的作用完成了系统的所有的逻辑功能。

5.2 界面实现

界面的设计使用Dreamweaver开发,它的可视化编辑功能,可以快速的创建页面而无需编写任何代码,设计环境也使用了CSS样式表来进行网页样式的统一管理,可以迅速高效的开发出代码简洁、专业规范的站点。同时,提供了强大的设计功能来确保高质量网页的完成。

注册和没有注册的用户都可以浏览拍卖中的商品,查看喜欢商品的详细信息,并进入竞拍流程,但只有注册的会员才可以参与竞拍,如果没有注册的用户要参与竞拍,则要求其先注册。

在系统主页通过导航栏可以进入到查看拍卖商品页面,通过点击商品种类,可以链接到同一种类拍卖商品页面,再通过点击相应商品,则可以链接到商品详细信息页面。并对喜欢的商品出价。

下面具体实现这一流程。

28

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

5.2.1 系统主页设计

首页是一个系统的灵魂,通过对首页的第一印象就能了解到整个网站。此拍卖的首页由上中下三部分组成,页面的头部由header.jsp生成,尾部由footer.jsp生成。

1.表示层实现

在创建Web工程时,系统会自动在根目录下创建文件index.jsp,在其中的body中加入如下代码:

这样,当在浏览器中输入http://localhost:8080/auction/或者

http://localhost:8080/auction/index.jsp访问系统主页时,则直接将请求发给动作index.do处理。它由Struts的Action类的子类实现,在其中加入业务逻辑并将主页实际所需要的数据从数据库中提取出来保存到request对象或其他对象中,最后转向实际的主页面(页面名称为“main.jsp”)即可。在struts-config.xml文件中的设置如下:

由于主页面不涉及复杂的业务逻辑和数据访问,这里就不作详细介绍了。

5.2.2 实现浏览拍卖物品种类页面

1.表示层实现

点击浏览拍卖物品种类链接时,就直接将请求转发给动作viewKind.do处理。它由Struts的Action类的子类实现,在其中加入业务逻辑并将主页实际所需要的数据从数据库中提取出来保存到request对象或其他对象中,最后转向实际的主页面(页面名称为“viewKind.jsp”)即可。在struts-config.xml文件中的设置如下:

type=\ scope=\ validate=\

parameter=\

点击主页导航栏上浏览拍卖物品链接即可进入浏览物品种类页面。如图5-1所示。

29

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

图5-1 浏览物品种类界面

商品分类区动态实现代码如下:

name=\name=\

property=\

property=\

其中,使用Struts的logic及bean标签循环显示商品分类信息。在遍历中用bean:write元素输出。

2.实现业务逻辑

浏览拍卖物品种类页面的显示涉及到得业务逻辑为org.yeeku.struts包下的ViewKindAction类,他用于从数据库中调出数据供页面显示。其中涉及商品类别的分类显示代码如下: import javax.servlet.http.HttpSession; import java.util.List;

30

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

import org.yeeku.service.AuctionManager; import org.yeeku.exception.AuctionException; import org.yeeku.struts.base.BaseAction; /**

* @author shm songhongmei_529@163.com * @version 1.0

* 处理商品种类显示动作 */

public class ViewKindAction extends BaseAction {

public ViewKindAction()

{ }

public ActionForward execute(ActionMapping mapping, ActionForm form,

javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws AuctionException {

List kinds = mgr.getAllKind();

request.setAttribute(\将找到的对象保存到request对象再传入 request.setAttribute(\ return mapping.findForward(\ } }

其中BaseAction封装了系统所有逻辑功能的实现类org.yeeku.service包下的AuctionManager接口,其实现类为AuctionManagerImpl。主要包含的方法如下:

List getItemByWiner(int winerId) throws AuctionException;//根据赢取者查询物品

List getFailItems() throws AuctionException;//查询全部流拍的物品 Integer validLogin(String username , String pass) throws AuctionException;//根据用户名,密码验证登陆是否成功

List getBidByUser(int userId) throws AuctionException;//查询用户的全部出价

List getItemsByOwner(int userId) throws AuctionException;//根据用户id查找目前仍在拍卖中的物品

31

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

List getAllKind()throws AuctionException;//查询全部种类

void addItem(String name , String desc , String remark , double initPrice , int avail , int kind , int userId) throws AuctionException;//添加物品

void addKind(String name , String desc ) throws AuctionException;//添加种类

List getItemsByKind(int kindId) throws AuctionException;//根据产品分类,获取当前拍卖的全部商品

Sring getKind(int kindId) throws AuctionException;//根据分类id,获取种类名

ItemBean getItem(int itemId) throws AuctionException;//根据物品id,获取物品

void addBid(int userId , int itemId , double bidPrice)throws AuctionException;//增加新的竞价

void updateWiner()throws AuctionException;//根据时间来修改物品的赢取者

void addAuctionUser(String username, String userpass, String email) throws AuctionException;//增加新的用户

3.实现数据访问层

涉及到显示商品种类的数据访问层方法AuctionManager的getAllKind()方法,并在该方法中调用为KindDao的findAll()方法,实现代码如下:

public List getAllKind() throws AuctionException {

try {

return kindDao.findAll(); //通过调用此方法 }

catch (Exception e) {

log.debug(e.getMessage());

throw new AuctionException(\底层业务异常,请重新试\ } }

public List findAll() {

return getHibernateTemplate().find(\ }

其中使用的HQL语句为“from Kind”,即从kind数据表中取出所有

32

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

记录。

5.2.3 实现浏览拍卖物品页面

1.表示层实现

通过查看商品种类界面,点击某一种类链接时,就直接将请求转发给动作viewItem.do处理。最后转向实际的主页面(页面名称为“viewItem.jsp”)即可。在struts-config.xml文件中的设置如下:

type=\ scope=\ validate=\ parameter=\

点击主页导航栏上浏览拍卖物品链接即可进入浏览物品种类页面。如图5-2所示。

图5-2 浏览某类所有物品界面

查看某中类所有商品界面主要代码如下:

33

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

bgcolor=\

name=\

name=\property=\name=\property=\

property=\

property=\

bgcolor=\

property=\

bgcolor=\

property=\

name=\name=\

其中,使用Struts的logic及bean标签循环显示商品分类信息。在遍历中用bean:write元素输出。

2.实现业务逻辑 浏览某一种类拍卖物品页面的显示涉及到得业务逻辑为org.yeeku.struts包下的ViewItemAction类,他用于从数据库中调出数据供页面显示。其中涉及商品类别的分类显示代码如下: import java.util.List;

import org.yeeku.service.AuctionManager; import org.yeeku.exception.AuctionException; import org.yeeku.struts.base.BaseAction; import org.yeeku.model.*;

34

哈尔滨工业大学成人教育专升本 计算机科学与技术专业毕业论文 网上拍卖系统

/**

* @author shm songhongmei_529@163.com * @version 1.0

* 处理商品显示动作 */

public class ViewItemAction extends BaseAction {

public ViewItemAction() { }

public ActionForward execute(ActionMapping mapping, ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws AuctionException { String id = request.getParameter(\ if (id == null || id.trim().equals(\ { request.setAttribute(\您必须选择有效的种类\ return mapping.findForward(\ } else {

String kind = mgr.getKind(Integer.parseInt(id) );

List items = mgr.getItemsByKind(Integer.parseInt(id) ); request.setAttribute(\ request.setAttribute(\

return mapping.findForward(\

} }

3.实现数据访问层

涉及到显示商品种类的数据访问层方法AuctionManager的getAllItem()方法,并在该方法中调用为ItemDao的findItemByKind(Integer kindId)方法,实现代码如下:

public List getItemsByKind(int kindId) throws AuctionException {

try {

List result = new ArrayList(); List items = itemDao.findItemByKind(new Integer(kindId));

35

本文来源:https://www.bwwdw.com/article/0ta6.html

Top