基于Struts技术的电子商务网站的设计与实现_第1页
基于Struts技术的电子商务网站的设计与实现_第2页
基于Struts技术的电子商务网站的设计与实现_第3页
基于Struts技术的电子商务网站的设计与实现_第4页
基于Struts技术的电子商务网站的设计与实现_第5页
已阅读5页,还剩56页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于 Struts 技术的电子商务网站的设计与实现基于 Struts 技术的电子商务网站的设计与实现摘要 本系统采用 JSP/J2EE 技术,使用 Java 编程语言编写的一套校园网二手交易电子商务网站。经过我国改革开放多年以后,随着与国际社会的接轨,各种资源的商品化已经逐渐成为了我们这个社会的代名词。在这种情势下,二手商品资源也已极大的丰富起来,如何解决一类问题,争取最大利用率的交流这类商品的信息便是一个存在中的问题。在当前社会上,各种类型的电子商务类网站纷纷建立,很大程度上解决人们信息资源的闭塞以及地域上的限制。在大学校园中,伴随着学生的购买能力的提高和每年的升学和毕业,也存在的许多各种

2、类型的二手商品,由于信息交流的落后,很多只限于校园公告栏或请人代为宣传的方式进行交易。这种方式有很多局限性和偶然性,并不能满足二手商品畅通交流的要求。于是一种新的二手商品信息交流的方式出现了,就是基于 Web 的校园网二手商品交易系统。本系统面向这个问题提出了一个在线交易的解决方案,同时使卖方和买房受益。系统提供了用户注册和登录,二手商品发布和搜索以及邮件通知交易等二手交易系统的基本功能。依照需求分析,服务和编译环境配置,用户接口设计,代码实现,程序测试这一步骤完成。采用流行的 B/S 开发模式,是以互联网方式运行的。服务器端只需要安装本系统,而客户端用户只要可以上网,就可以非常方便快捷的通过

3、浏览器访问系统,浏览和发布二手交易信息,免去了传统的 C/S 模式下复杂的安装、配置、维护等操作。同时由于使用面向对象的 Java 语言,所以本系统也具有Java 语言的面向对象、与平台无关、安全性高、稳定性高、多线程等特性,以及 Java语言对网络编程技术的支持。使得本系统具有很高的使用价值。关键词: Java 动态网页服务技术;异步的 JavaScript 和 XML;Java;浏览器/服务器 基于 Struts 技术的电子商务网站的设计与实现 基于 Struts 技术的电子商务网站的设计与实现E-commerce website design and implementation bas

4、ed on StrutsABSTRACTThe system uses JSP/J2EE technology, Java programming language using a campus network of e-commerce site second-hand transaction. After Chinas reform and opening up many years later, with the integration with the international community, the commercialization of various resources

5、 has gradually become synonymous with our society. Under these circumstances, a second-hand goods has also been a great resource rich, and how to solve a class of problems, and strive for the best utilization of the exchange of these commodities in the existence of information is a problem.In the cu

6、rrent society, all types of e-commerce sites have been set up, to a large extent address the blocking of information resources and geographical constraints. At the university campus, along with the purchasing power of students and the annual increase in education and graduation, there are also many

7、different types of second-hand goods, because of the backwardness of the exchange of information, a lot is limited to the campus bulletin board on his behalf or promotion of transactions. In this way there are many limitations and contingencies, and second-hand goods can not satisfy the requirements

8、 of open communication. So a new kind of second-hand goods, the way the exchange of information, that is, Web-based campus network system of second-hand commodity trading. This problem for the system put forward a solution for online transactions, at the same time benefit from the seller and buy a h

9、ouse.System provides the user registration and login, second-hand goods, publishing and search, as well as transactions of second-hand e-mail notification of the basic functions of the trading system. In accordance with the needs analysis, environmental services and the compiler configuration, user

10、interface design, code, test the steps to complete the procedure. The use of popular B / S pattern of development, is the way the Internet operates9.Server-side only need to install the system, and as long as the client user can access to the Internet can be very convenient and efficient access to t

11、he system through a browser, browse and publish information second-hand transaction, replacing the traditional C / S mode, the complexity of installation, configuration and maintenance operations. At the same time as a result of the use of object-oriented Java language, so the system also has a Java

12、 object-oriented language, and platform-independent, safe, stable, 基于 Struts 技术的电子商务网站的设计与实现multi-threaded, such as features, as well as the Java programming language for network support . Makes the system a high value.Key words: JSP;Ajax;Java;B/S 基于 Struts 技术的电子商务网站的设计与实现目录第 1 章 绪论.11.1 开发背景 .11.2

13、目的和要求 .11.3 JAVA语言简介开发技术介绍.11.3.1 Java 语言简介 .11.3.2 J2EE 技术介绍.21.3.3 Servlet/JSP 技术.21.3.4 Struts 技术.31.3.5 Ajax 技术.31.4 开发环境及环境配置 .41.4.1 系统环境及 Java/JSP 环境配置.41.4.2 数据库开发工具选择及配置.6第 2 章 需求分析.72.1 可行性研究 .72.2 系统功能需求.72.3 系统功能分析 .82.4 页面需求分析 .9第 3 章 系统总体设计.103.1 结构设计 .103.2 业务逻辑设计 .11第 4 章 数据库设计.124.1

14、 数据库结构设计.124.2 数据库详细设计 .13第 5 章 系统功能模块的实现.155.1 用户设置功能的实现.155.2 添加商品功能的实现.205.3 搜索商品功能的实现 .245.4 邮件发送功能的实现 .26 基于 Struts 技术的电子商务网站的设计与实现5.5 在线交流模块的实现 .28第 6 章 系统测试.306.1 主页面功能测试 .306.2 用户注册功能测试 .316.3 添加物品功能测试 .326.4 单个物品查看模块和留言模块测试 .326.5 购买商品模块测试 .33第 7 章 结论.34参考文献.35致谢.36附录.37附件 1 开题报告附件 2 译文及原文影

15、印件 基于 Struts 技术的电子商务网站的设计与实现第 1 页 共 54 页第 1 章 绪论随着全世界互联网技术的不断发展,各种基于互联网技术的网络应用不断涌现,网络技术正在不断的深入人们的生活。人们从 Internet 上获取信息、享受生活、交流感情、网上工作等。Internet 正在迅速改变着人们的生活方式。1.1 开发背景经过我国改革开放多年以后,随着与国际社会的接轨,各种资源的商品化已经逐渐成为了我们这个社会的代名词。在这种情势下,二手商品资源也已极大的丰富起来,如何解决一类问题,争取最大利用率的交流这类商品的信息便是一个存在中的问题。本毕业设计便是解决该问题的。1.2 目的和要求

16、在当前社会上,各种类型的电子商务类网站纷纷建立,很大程度上解决人们信息资源的闭塞以及地域上的限制。在大学校园中,伴随着学生的购买能力的提高和每年的升学和毕业,也存在的许多各种类型的二手商品,由于信息交流的落后,很多只限于校园公告栏或者请人代为宣传的方式进行交易。这种方式有很多局限性和偶然性,并不能满足二手商品畅通交流的要求。于是一种新的二手商品信息交流的方式出现了,就是基于 Web 的校园网二手商品交易系统。通过这个系统,可以发现每一个校园网用户都是系统的主人,大家可以非常方便的发布自己的信息,浏览别人的发布的信息,还可以对各种二手商品信息做出横向比较,做出自己的最佳选择。由此可见,该系统只是

17、一个交流二手商品信息的平台,与一般的电子商务类网站又有本质的区别。1.3 Java语言简介开发技术介绍1.3.1 Java语言简介Java 语言是美国 Sun 公司于 1995 年推出的一种简单的、面向对象的、分布式的、可解释的、键壮的、安全的、结构的、中立的、可移植的、性能很优异的多线程的、动态的语言。其前身为 OAK 语言,是 SUN 公司为一些消费性电子产品而设计的一个 基于 Struts 技术的电子商务网站的设计与实现第 2 页 共 54 页通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术。经过 Sun 公司的工程师的不懈努力以及全世界无数的编程爱好者的使用,Java 终于

18、发展成为今天这样一个集桌面(J2SE)、网络(J2EE)、移动平台(J2ME)应用为一体的功能强大的编程语言。目前 Java 由于其平台无关及分布式特性,最重要的应用是在网络应用上。1.3.2 J2EE技术介绍J2EE 技术是 Java 网络应用的技术,广泛应用于企业级的应用。它是由一套规范(shannin,2001)和建立在 J2SE 平台上的应用编程接口(API)组成。J2EE 拥有 Sun 公司提供免费开发工具,称为 J2EE 软件开发工具包(Software Development Kit,SDK )(http:/ 。J2EE 技术是一种 Java 网络应用技术的组合,包含有远程方法调

19、用(Remote Method Invocation,RMI)、Java 消息服务(Java Message Service,JMS)、JavaMail 等通信服务,JDBC、Java 命名和目录接口(Java naming and Directory Interface,JNDI)、Java 连接器体系结构(Java Connector Architecture,JCA)、Java 事务API/Java 事务服务(JTA/JTS)、XML 处理 API 等通用服务以及 Servlet、Java 服务器页面(JSP)、企业级 JavaBean(EJB)等组件技术。任何 J2EE 的实现都必须要

20、在其特定容器中实现。 1.3.3 Servlet/JSP技术Servlet 是 JSP 技术的基础,JSP 本身就是预先被编译成 Servlet,然后再运行的,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成。 Servlet 其实和传统的 CGI 程序和 ISAPI、NSAPI 等 Web 程序开发工具的作用是相同的,在使用Java Servlet 以后,用户不必再使用效率低下的 CGI 方式,也不必使用只能在某个固定Web 服务器平台运行的 API 方式来动态生成 Web 页面。许多 Web 服务器都支持Servlet,即使不直接支持 Servle

21、t 的 Web 服务器也可以通过附加的应用服务器和模块来支持 Servlet。得益于 Java 的跨平台的特性,Servlet 也是平台无关的,实际上,只要符合 Java Servlet 规范,Servlet 是完全平台无关且是 Web 服务器无关的。由于 Java Servlet 内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此 Java Servlet 效率非常高。但 Java Servlet 也不是没有缺点,和传统的 CGI、ISAPI、NSAPI 方式相同,Java Servlet 是利用输出HTML 语句来实现动态网页的,如果用

22、 Java Servlet 来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么 SUN 还要推出 Java Server Pages 的原因。 基于 Struts 技术的电子商务网站的设计与实现第 3 页 共 54 页JSP(JavaServer Pages)是一种基于 Java 的脚本技术。在 JSP 的众多优点之中,其中之一是它能将 HTML 编码从 Web 页面的业务逻辑中有效地分离出来。用 JSP 访问可重用的组件,如 Servlet 和基于 Java 的 Web 应用程序。JSP 还支持在 Web 页面中直接嵌入 Java 代码。可用两种方法访问 JSP 文件

23、:浏览器发送 JSP 文件请求、发送至 Servlet 的请求。发送至 Servlet 的请求生成动态内容,并调用 JSP 文件将内容发送到浏览器。该访问使得将内容生成从内容显示中分离出来更为方便。JSP 最大的优点在于其与平台无关性,并且具有“一次编写,处处运行”的特点。1.3.4 Struts技术在 Java EE 的 Web 应用发展的初期,除了使用 Servlet 技术以外,普遍是在 JavaServer Pages(JSP)的源代码中,采用 HTML 与 Java 代码混合的方式进行开发。因为这两种方式不可避免的要把表现与业务逻辑代码混合在一起,都给前期开发与后期维护带来巨大的复杂度

24、。为了摆脱上述的约束与局限,把业务逻辑代码从表现层中清晰的分离出来,2000 年,Craig McClanahan 采用了 MVC 的设计模式开发 Struts。后来该框架产品一度被认为是最广泛、最流行 JAVA 的 WEB 应用框架。2006 年,WebWork 与 Struts 这两个优秀的 Java EE Web 框架(Web Framework的团体,决定合作共同开发一个新的,整合了 WebWork 与 Struts 优点,并且更加优雅、扩展性更强的框架,命名为 “Struts 2”,原 Struts 的 1.x 版本产品称为“Struts 1”。至此,Struts 项目并行提供与维护

25、两个主要版本的框架产品Struts 1 与 Struts 2。Struts2 是 Struts 的下一代产品。而最初提案 Struts Ti 所设想的发展方向,在 Struts的现有代码的基础上是很难完成的。在发起提案的时候,Patrick Lightbody 把多个不同的 Web 框架的领导者邀请到了一起,希望大家能够达成共识,协力完成一个通用框架。虽然最终由于各种原因,Patrick Lightbody 的愿望未能实现,但是 WebWork 和 Struts Ti 却发现了二者在技术与开发人员这两个层面上的共同之处,不久之后,两个项目就在 WebWork 的技术基础上进行了合并。Strut

26、s2 的目标很简单使 Web 开发变得更加容易。为了达成这一目标,Struts2中提供了很多新特性,比如智能的默认设置、annotation 的使用以及“惯例重于配置”原则的应用,而这一切都大大减少了 XML 配置。1.3.5 Ajax技术 基于 Struts 技术的电子商务网站的设计与实现第 4 页 共 54 页传统的 Web 应用允许用户端填写表单(form) ,当送出表单时就向 Web 服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分 HTML 代码往往是相同的。由于每次应用的通信都需要向伺服器发送请求,应用的应

27、答时间就依赖于伺服器的应答时间。这导致了用户界面的应答比本地应用慢得多。4与此不同,AJAX 应用可以仅向伺服器发送并取回必需的数据,它使用 SOAP 或其它一些基于 XML 的页面服务接口(介面) ,并在客户端采用 JavaScript 处理来自服务器的应答。因为在伺服器和浏览器之间交换的数据大量减少(大约只有原来的 5%) ,结果我们就能看到更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以 Web 服务器的处理时间也减少了。该技术在 1998 年前后得到了应用。允许客户端脚本发送 HTTP 请求(XMLHTTP)的第一个组件由 Outlook Web Access 小组

28、写成。该组件原属于微软Exchange Server,并且迅速地成为了 Internet Explorer 4.03的一部分。部分观察家认为,Outlook Web Access 是第一个应用了 Ajax 技术的成功的商业应用程序,并成为包括Oddpost 的网络邮件产品在内的许多产品的领头羊。但是,2005 年初,许多事件使得Ajax 被大众所接受。Google 在它著名的交互应用程序中使用了异步通讯,如 Google讨论组、Google 地图、Google 搜索建议、Gmail 等。Ajax 这个词由Ajax: A New Approach to Web Applications一文所创,

29、该文的迅速流传提高了人们使用该项技术的意识。另外,对 Mozilla/Gecko 的支持使得该技术走向成熟,变得更为易用。使用 Ajax 的最大优点,就是能在不更新整个页面的前提下维护数据。这使得 Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。Ajax 不需要任何浏览器插件,但需要用户允许 JavaScript 在浏览器上执行。就像DHTML 应用程序那样,Ajax 应用程序必须在众多不同的浏览器和平台上经过严格的测试。随着 Ajax 的成熟,一些简化 Ajax 使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持 JavaScri

30、pt 的用户提供替代功能。1.4 开发环境及环境配置1.4.1 系统环境及Java/JSP环境配置开发及测试的系统环境,我选择了 Microsoft Windows XP。要开发 JSP,首先必须 基于 Struts 技术的电子商务网站的设计与实现第 5 页 共 54 页要求有 Java 环境,我选择了 Java 2 Platform,Enterprise Edition 1.6 SDK(即 j2eesdk-1_6_03-windows)。作为 JSP 的容器,选择了目前非常流行的 Tomcat 62。而 IDE 工具则选择了Eclipse。各种软件和工具安装完成后,必须相应的配置 Windo

31、ws 的系统环境变量。环境变量类表如下:表表 1.1 Java 环境变量配置表环境变量配置表变量名变量值说明JAVA_HOMED:SunSDKjdkJava SDK的安装路径PATHD:SunSDKjdkbinJava编译器的安装路径利用 Eclispe for JavaEE 版本新建动态网站工程,取名为 csustshopping。更改Tomcat 配置文件-server.xml,在 Host 几点下添加一个如下内容:,其中“shopping”为工程的访问路径,“F:graduate_finalshoppingWebContent”为 web 工程的实际路径,reloadable=true为

32、动态加载配置,减少了每次修改工程都要重新启动 Tomcat 服务器的需要。添加 Struts 支持。将所需 Struts2 的库文件导入项目文件的 WEB-INF/lib 文件夹内,在 web.xml 中添加 Struts 的过滤器。配置信息如下: struts-cleanup org.apache.struts2.dispatcher.ActionContextCleanUp struts2 org.apache.struts2.dispatcher.FilterDispatcher 基于 Struts 技术的电子商务网站的设计与实现第 6 页 共 54 页 struts-cleanup /

33、* struts2 /*运行服务器,取保 Tomcat 服务器工作正常,无异常抛出,并能正常访问/shopping路径下的测试页面。至此,Jsp 运行环境搭建完成。 1.4.2 数据库开发工具选择及配置与其他的大型数据库例如 Oracle、IBM DB2、SQL Server 等相比,MySQL 自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人用户和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于MySQL 是开放源码软件,因此可以大大降低总体拥有成本10。MySQL 体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,使它成为了本设计

34、的首选。本毕业设计中使用了 Windows 安装版的 MySQL 服务软件,简化了配置过程。并且安装了 MySQL 官方提供的图形化管理工具-MySQLAdministrator,简化了数据库的创建和数据表的创建过程3。安装完成后,使用 MySQLAdministrator 新建数据库csustshopping 作为本系统使用的数据库,新建用户 csust,赋予用户对 csustshopping 的全部权限,供本项目链接和操作数据库使用,避免了使用 root 用户的不安全隐患。 基于 Struts 技术的电子商务网站的设计与实现第 7 页 共 54 页第 2 章 需求分析2.1 可行性研究设计

35、这样一个系统,从根本上解决了传统的校园二手信息发布交流方式的弊端,使得校园各种二手商品信息得到了有效的整合,方便了广大用户。且拥有的客户通常只是大学校园网的用户,所有系统规模上来讲不会很大,从经济上来说,由于选择的开发工具和服务器几乎全部为免费的开源软件,并且由于是开发成本较低的基于 Web的 B/S 模式,而非成本费用相对较高的 C/S 模式,所以从经济上来讲是可行的。从技术上来说,由于是基于 Web 的,可以相对比较容易面对用户的实际需求而开发。而在现今,各种网络应用的开发已经相当成熟,出现了几大主流的开发语言和工具,都可以非常有效的支持开发这样一个系统。同时作为本系统,也有许多成功的电子

36、商务类网站的经验可以借鉴,所以从技术的角度来说,也是可行的。从运行上来说,由于客户端仅仅只是需要一个浏览器,通过浏览器来登陆系统,而服务器端也只需要一台服务器,服务器要求一个数据库环境和一个网络应用开发的环境,实现起来比较容易,所以从运行上来说是可行的。同时这样一个系统,在系统管理员合法管理和用户的自觉配合下,不会违规进行任何的不法的活动和交易,发布具有危害性和不适宜的信息,也不存在任何非法牟利的行为,在法律上也是可行的。在各种可行性研究保证和基于用户需求要求下,开发系统的方案经过不断论证和假设,确定出了一个最佳方案。2.2系统功能需求本系统主要面向于大学校园网用户,依托校园网提供给这些用户一

37、个发布和交流二手商品信息的平台。在大学校园里,存在着很多的二手商品,但是由于信息资源的不流通以及传统二手商品信息交流方式的笨拙,导致了很多仍然具有一定价值或者具有非常价值的二手商品的囤积,乃至被当作废弃物处理。现在通过校园网进入到本系统,可以方便快捷的发布和交流任何二手商品的信息,并且可以通过留言方式进行深一步的交流。由于每个大学的校园网篇布校园的每一个地方,因此,只要宣传得当,理论上来说,每一个人都可以让他所发布的信息让全校所了解,争取到了信息资源的最大化利用。 基于 Struts 技术的电子商务网站的设计与实现第 8 页 共 54 页本系统大体分为三个部分,与用户直接交互的部分为显示部分,

38、大部分以 JSP 的形式呈现。中间部分提供各种供显示部分调用的功能,也就是业务逻辑的处理部分。最底层的部分也就是数据部分,提供数据的持久化,以及数据查询、增删、修改等功能。三个部分相互独立,本着低耦合高内聚的设计思想1,以减少之后系统维护和重构的成本。图2.1 系统总体图如图:图 2.1 系统总体图,系统完成的主要功能有:用户注册登录功能、商品信息发布功能、商品搜索功能,用户留言功能,邮件通知功能,买家卖家在线交流功能。2.3 系统功能分析用户注册登录功能。为用户提供三个页面,分别提供用户注册,用户登录,用户修改个人信息的操作平台,与之对应后台也需要完成三个相应的处理操作。商品信息发布功能。需

39、要为用户提供一个添加商品的操作页面。这这个功能中需要完成如下操作,商品图片的动态上传,数据库中货物信息的添加,以及货品类别的相关处理。商品搜索功能。需要为用户提供两个搜索页面,一个简单的搜索操作选项,按照商品名进行简要的搜索,一个较为高级的搜索选项,可以依靠商品价格,商品发布时间,商品名等信息进行搜索。之后我们需要一个商品列表来显示搜索结果。用户留言功能。用户可以对某件商品发布留言,这里需要一个页面来显示一个商品的详细信息。在这个页面中有一个区域用户提交用户留言,留言分为两种状态,公开状态和秘密状体。公开状态为全部人可读,秘密状态为只有货品所有者和留言发布 基于 Struts 技术的电子商务网

40、站的设计与实现第 9 页 共 54 页者可读。邮件通知功能。当用户提交购买请求后,会向买方和卖方发送电子邮件,提醒双方线下交易的相关事宜,当某个用户对某个商品发布留言时,系统也会向商品的所有者发送邮件进行提醒。2.4 页面需求分析为了统一页面风格本应用使用 DIV 和 CSS 实现页面布局和设计。采用这种方式有以下优点。符合 W3C 标准。微软等公司均为 W3C 支持者。这一点是最重要的,因为这保证您的网站不会因为将来网络应用的升级而被淘汰;支持浏览器的向后兼容,也就是无论未来的浏览器大战,胜利的是 IE7 或者是火狐,您的网站都能很好的兼容;搜索引擎更加友好。相对与传统的 table, 采用

41、 DIV+CSS 技术的网页,对于搜索引擎的收录更加友好;样式的调整更加方便。内容和样式的分离,使页面和样式的调整变得更加方便。 现在 YAHOO,MSN 等国际门户网站,网易,新浪等国内门户网站,和主流的WEB2.0 网站,均采用 DIV+CSS 的框架模式,更加印证了 DIV+CSS 是大势所趋;CSS的极大优势表现在简洁的代码,对于一个大型网站来说,可以节省大量带宽,而且众所周知,搜索引擎喜欢清洁的代码;表现和结构分离,在团队开发中更容易分工合作而减少相互关联性。基于系统功能模块设计的分析我们需要如下页面。所有页面以首页为基础进行设计。首页内容如下,页面头部存放网站的 Logo 以及网站

42、的站点信息等,导航条部分用户存放到站点的主要链接按钮,侧边栏部分存放用户登录注册以及用户部分信息的内容,主体部分存放本网页主要的显示内容,这首页中,主体部分包括用户最新上传的 8 样产品,商品分类信息。页角部分显示版权信息等。用户注册页面,在主页的基础上去除侧边栏,更改主体部分为用户注册表单。用户登录页面,类似用户注册页面,主体部分更改为用户登录表单。添加商品页面,在主页的基础上,将主体部分更改为添加商品表单,需要用户提供商品的相关信息。商品高级搜索页面,在主页的基础上,将主体部分更改为查询商品表单。商品列表页面,用于展示一类商品,或者显示搜索结果,包含一个显示一组商品 基于 Struts 技

43、术的电子商务网站的设计与实现第 10 页 共 54 页的简要信息的列表。单个物品显示页面,在主页的基础上更改主体部分为单个物品的详细信息,其中也包含一个用户留言的表单。基于以上分析,我们可以提取出的可重用组件为,头部存放 Logo 的部分,页脚显示版权的部分,侧边栏显示用户信息或者登录注册链接信息的部分,导航栏部分,商品列表部分。 基于 Struts 技术的电子商务网站的设计与实现第 11 页 共 54 页第 3 章 系统总体设计3.1 结构设计通过图 3.1 系统结构图可以看出, 本系统顶层主要有三个功能模块,包括用户设置功能,发布信息功能搜索信息功能。图3.1 系统结构图用户设置功能中主要

44、包括用户登录模块用以处理用户登录信息的验证,以及用户登录信息的储存操作。用户注册模块,只要用户获取用户输入信息,将用户信息保存入数据库并标识注册用户已登录。发布信息功能,主要包括验证用户是否已经登录,如未登录跳转到登录页面,如果用户已登录将用户录入的信息以及上传的货物图片存放如数据库并转到发布货品的战术页面。搜索信息功能,主要完成货品的搜索,如按类别搜索,按价格搜索,按名称搜索。其中包含所搜结果展示功能,主要负责展示一列搜索结果,以及单个商品的展示功能。校园网二手商品信息系统发布信息功能信息管理功能搜索信息功能留言功能用户注册模块用户设置功能用户登陆模块出售信息模块信息浏览模块信息管理模块短消

45、息管理模块信息搜索模块信息浏览模块商品留言信息用户交流模块商品购买模块邮件提醒模块 基于 Struts 技术的电子商务网站的设计与实现第 12 页 共 54 页在单个商品的展示功能中下层添加了用户留言模块,主要负责浏览者对当前商品的一些留言。用户交流模块,提供到卖家 QQ 的聊天链接,以方便双方在线交流。同时商品浏览模块中配以商品购买模块,当用户确定购买商品时,系统更改必要的数据信息,并利用商品购买模块下设的邮件提醒模块向买方和卖方发送交易提醒邮件。3.2 业务逻辑设计本设计是基于 Struts 技术实现的,这个框架的设计遵循的标准的 MVC 的思想,因此本设计在这个框架的帮助下,进一步降低了

46、系统的耦合性,采用了如图的逻辑处理过程。图3.2 业务处理过程图当用户提交一个表单时,他会去调用 Struts 的一个 action,在 action 的处理类中,我们去的表单中提交的数据,封装成我们系统中自定义的与数据库对应的 Vo 类,传递给一个处理函数,处理函数会根据需要去调用数据库的操作类 DBManager 类的指定函数,对数据可进行相应的操作或者查询,然后将处理结果返回。最后 Strtuts 会根据处理的返回情况发送跳转命令,不同的返回字符串对用不同的显示页面,这样就完成了业务逻辑的处理。 基于 Struts 技术的电子商务网站的设计与实现第 13 页 共 54 页第 4 章 数据

47、库设计4.1数据库结构设计对于数据库的需求主要体现在对数据库的提交信息、更新信息、删除信息、保存信息等。这些信息的存在都取决于各个功能模块的对信息的需求。通过对功能模块的具体操作,实现对数据库中信息的输入和输出。所以,针对各个功能模块的需求,设计如下的数据表和数据结构:(1)用户信息:包括用户名、密码、及用户的相关信息等。(2)商品信息表:包括信息序号、发布信息的用户名,信息相关内容等。(3)留言信息:包括信息序号、商品信息相关、留言内容相关等。(4)商品类别信息:模拟数据结构中的树状结构。(5)交易信息:用于储存历史交易的有关情况。通过以上的信息,完成数据库对各项需求的实现。根据以上需求我们

48、画出数据库关系的 E-R 图如下:图4.1 数据库联系E-R图shopuserPK,FK1userId userName userPwd userEmail userCreatTime imInfoFK1productIdFK2dealIdproductPKproductId productName productNumber productDescribe productCategoryId imagePath prodcutCreateTime productPrice userIdFK2leaveWordIdFK3dealIdFK1categoryIdcategoryPKcategory

49、Id categoryName categoryFatherIdleavewordPKleaveWordId leaveWorldContent leaveWordSendUserId prodcutId leaveWordSendTimedealinfroPKdealId productId dealBuyerId dealTime sellerId 基于 Struts 技术的电子商务网站的设计与实现第 14 页 共 54 页如图,我们可以看出,用户表与商品表和交易表相对应,一个用户可以发布多个商品,一个用户可以实施多次交易,这些联系依靠 userId 字段相连。商品表除此之外与商品类别表和

50、留言列表相连,一个商品对应一个商品类别,但商品类别之间存在自身到自身的联系,因此也便实现了类别的树状结构。4.2 数据库详细设计下面列出了数据库中的大部分数据表,并对数据表的字段进行了简要的说明。表4.1 用户表(shopusert)字段数据类型及大小说明userIdint主键,自动递增userNameVarchar(20)用户名userPwdVarchar(16)用户密码userEmailVarchar(30)用户电子信箱userChatInfoVarchar(30)QQ链接地址userCreateTimeDatetime 注册时间(系统自动)在用户表中记录了有关用户的数据,其中用户表保存了

51、用户名和用户的邮箱,这些字段是要检测唯一性的,也就是在数据库中不能出现相同的用户名和邮箱,因为这两个字段和 userId 是用来标识一个用户的。另外我们需要保存用户的 chatInfo,这个字段用以保存用户的 QQ 聊天链接,因为本系统希望提供在线交流的功能,因此借助大家都熟悉的 QQ 聊天工具,实现了这个功能,在用户信息面板上添加这个 chatInfo 代码会自动链接到此用户的 QQ。表4.2 二手商品信息表(product)字段数据类型及大小说明productIdint主键,自动递增productNamevarchar(20)货物名userIdint用户IdcategoryIdint类别I

52、dproductIddatetime发布信息的日期(系统自动)这里保存了用户发布的商品的大部分信息,其中包括商品的名字,商品的发布者 基于 Struts 技术的电子商务网站的设计与实现第 15 页 共 54 页的 Id,其中值得一谈的是商品的类别 Id。我们知道,用户的类别的层次是不确定的,因此我们需要用数据库中的某种数据结构来模拟数据结构中的树状结构。在表 4.3 物品类别表中,就实现了这种数据结构的模拟,每个类别包含一个父Id,这样我们就可以通过这个父 Id 来找到他的上一层,也可以通过查询谁的父 Id 是自己的 Id 来查看自己的孩子,于是我们实现了类别的树状结构。表4.3 物品类别表(

53、productcategory)字段数据类型及大小说明productcategoryIdint主键,自动递增fatherIdint父类别IdproductcategoryNamevarchar(20)列别名表4.4 留言信息表(leaveword)字段数据类型及大小说明leaveWordIdint主键,自动递增productIdint留言所对应货物的ID号userIdint发留言的用户IDisShowBoolean是否显示留言leaveWordTimedatetime留言时间(系统自动)在用户留言表中,保存了产品的 Id,发布者的 id,当然和用户留言的内容。当用户为匿名留言时,用户发布者的

54、Id 为 -1。另外一个比较有意义的字段为 isShow,这个字段的功能为是否显示用户的本条留言,当浏览者为留言发布者和商品所有者的时候我们才能看见 isShow 为 false 的用户留言。 基于 Struts 技术的电子商务网站的设计与实现第 16 页 共 54 页第 5 章 系统功能模块的实现在本章内,将为大家详细说明系统功能模块的具体实现,系统主要使用了 JSP 技术、Javascript 技术、Java 语言、HTML 以及 DHTML 语言等综合处理页面信息的显示和各个功能模块功能的设计完成了一个动态的校园网二手商品交易系统。5.1用户设置功能的实现首先完成用户注册界面的编写。为了

55、统一网站显示风格,将页面用 Div 划分为五个部分,分别是header、navigation、sidebar,main,footer。其中 header 内为网站的 logo,以及一个搜索栏。navigation 包含当前网站主要页面的链接。sidebar 内保存了三个 Div 部分,分别为用户登录和注册链接,用户信息展示,商品类别展示,当用户已登录则隐藏用户登录和注册链接部分,显示用户信息展示部分,相反如果用户未登录则显示用户注册和登录链接,隐藏用户信息显示部分。页面的设计首先完全使用 HTML 代码模拟完成,不包含任何动态成分,也就是不会调用后台代码来提供数据,以伪数据的方式单纯完成界面的

56、编写。界面采用 CSS 美化和布局5,利用 Ajax 实现数据格式的验证功能。最终用户注册界面如下:图5.1 用户注册界面图 基于 Struts 技术的电子商务网站的设计与实现第 17 页 共 54 页其中为增强用户体验,这里利用 CSS 代码加大了用户输入框的高度和长度,并增大了用户输入框内的字体的大小。另外我们可以注意到,当我们没有输入任何信息时,我们是不能提交表单到服务器的,为了避免这一现象,我们设置提交按钮在初始时为不可用状态。这一功能是依靠 JavaScript 的 Jquery 框架实现的。$(document).ready(function()registerValidate()

57、;); function registerValidate()$(#register_div #register_submite).attr(disabled, true); $(#register_div #userName).blur(validateNameAble); /More. 当页面被完全载入时会执行 registerValidate()函数,在 registerValidate()中我们进行了一些设置和验证操作。$(#register_div #register_submite).attr(disabled, true)是JQuery 中的一个功能函数,将 HTML 中 id

58、为 register_submite 的提交按钮的 disabled 属性设置为 true。并为 id 为 userName 的输入空间添加监听,当这个控件失去焦点的时候会执行 validateNameAble 函数。验证函数中用户名重复性验证使用了 Ajax 动态查询数据库的功能。在用户名输入框中添加了失去焦点的处理函数。当这个函数执行时,会使用 JavaScript 语言动态向服务器发送查询请求,代码如下:function validateNameAble()$.ajax( type: POST, url: checkUserName.do, data: userName=+$(#regi

59、ster_div #userName).val(), success: function(msg) if(isin != msg) userNamePass = true; 基于 Struts 技术的电子商务网站的设计与实现第 18 页 共 54 页 $(#register_div #userNameErrorInfo).empty(); $(#register_div #register_submite).removeAttr(disabled); elseuserNamePass = false;$(#register_div #userNameErrorInfo).empty(); $(

60、#register_div #userNameErrorInfo).append(用户名已存); ); 这个 JavaScript 利用 JQuery 框架提供的功能向 checkUserName.do 提交了携带用户名信息的查询请求,这个页面由 Servlet 实现,接到这个请求之后,Servlet 中的 doPost函数会查询数据库中是否包含用户输入的用户名,并根据查询情况以 XML 的数据格式返回信息给 JavaScript 的监听函数处理。在处理函数中解析接收到的结果,如果用户名已存在,在使提交按钮可用,否则会在输入框后下是文字“用户名已存在” ,要求用户换其他用户名注册。还有其余的验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论