1、目 录摘 要 1ABSTRACT2第 1 章 绪论 .31.1 开发背景及意义 .31.2 系统开发工具简介 .31.3 MVC 模式及架构概述 41.4 J2EE 简介 5第 2 章 系统分析 62.1 可行性分析 62.2 需求分析 7第 3 章 系统的概要设计 .83.1 总体框架 83.2 模块功能简介 .93.3 数据流程 9第 4 章 系统的详细设计及实现 .114.1 详细设计 114.1.1 前台用户功能模块设计 .114.1.2 后台用户功能模块设计 .124.2 数据库设计 144.2.1 数据分析 .144.2.2 数据库逻辑设计 154.3 在 struts 框架下系统
2、功能模块的实现 .174.3.1 前后台公共模块实现 .174.3.2 前台模块功能实现 194.3.3 后台模块功能实现 20总结与展望 .21参考文献 .22中北大学毕业设计说明书第 2 页摘 要随着互联网和宽带上网的普及,电子商务在中国更是异军突起,并日益渗透到人们的日常生活中。网上商品交易更是其重要内容。各种网上商品交易网站层出不穷。本课题设计的目标是实现一个基于 MVC(Module-View-Controller)模式的电子商城网站。论文先介绍了开发项目所用到的关键技术,接着从用户需求、经济和技术等三个方面对系统进行分析。在概要设计中,根据系统分析的结果,把系统分为前台和后台两大模
3、块。根据前台和后台用户的不同需求,把前台细分为会员登录注册,商品查询,商品购买,订单查询等模块,把后台细分为管理员登录,商品设置,订单设置等模块。详细介绍了在基于 MVC 模式的 struts框架下各个模块的实现过程,且以开发过程为基础对在 struts 框架下实现的系统所具有的可重用性、可维护性和可扩展性等优势进行了分析。关键词 eclipse 开发工具,电子商城,struts 框架,网站安全 中北大学毕业设计说明书第 3 页ABSTRACTWith the popularization of Internet and accessing broadband network, e-comme
4、rce in China has suddenly appeared, and increasingly penetrates into daily life. Online commodity trading is an important. Online commodities trading website is increasing day by day.The aim of this subject is designing an electronic mall site based on the MVC (Module-View-Controller) model. Firstly
5、, this paper introduced the key techniques for using techniques of the development projects. Then it analyzed the system according to users needs, economic environment and techniques. In the summary design and according to the analysis results, system is divided into two modules. According to the di
6、fferent needs of users, requirements are divided into the sub-member login registered module, merchandise query module, purchase module, and orders inquiry module. Background is divided into sub-administrator login module, setup of merchandise module, and orders module. This paper described implemen
7、tation process of various modules based on the MVC model struts framework And according to the development, process analyzes the system reuse, maintainability, and scalability advantages based on the struts framework in detail.Keywords eclipse development tool, electronic mall, struts framework, web
8、site security中北大学毕业设计说明书第 4 页第 1 章 绪论互联网从它出现开始就不仅改变了信息传递的方式,同时改变着企业的运营模式,管理模式,影响着人们的生活观念,改变着人们的习惯。网络使人们足不出户就能获取各方面的信息,而电子商城的出现更是人们足不出户就可以进行商品交易活动。1.1 开发背景及意义互联网的兴起从本质上改变了整个社会的商品交易方式,国内各大企业从上个世纪 90 年代互联网兴起之时,就产生了通过网络进行销售经营商品的想法。但是由于在互联网上企业的信誉难以认证、网络法规政策不健全、物流不发达等一系列的原因,限制了网上交易发展的步伐。进入 21 世纪以后,随着整个社会的
9、发展、进步,制约网上交易的各个瓶颈问题逐一被击破,各企业也纷纷的加入到电子商务的洪潮之中。网站的主要目的就是通过网站来推广互联企业的产品和服务,并使客户随时可以了解企业和企业的产品,为客户提供在线服务和订单处理功能。从长期的战略目标来说,网站不仅仅是产品和服务的推广,而且是通过 Internet、企业内部网(Intranet) 和企业外部网(Extranet) ,将买家与卖家、厂商和合作伙伴紧密结合在了一起,因而消除了时间与空间带来的障碍。系统主要分为前台和后台。前台包括产品的展示及会员购物等模块,后台是管理界面,主要包括商品信息、会员信息、订单信息和公告信息的常规设置。1.2 系统开发工具简
10、介系统采用 Eclipse 作为开发工具, SQL server 2000 作为数据库,java 作为开发语言。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。而且,中北大学毕业设计说明书第 5 页Eclipse 附带的一个标准插件集,包括 Java 开发工具( Java Development Tools,JDT )和插件开发环境(Plug-in Development Environment,PDE ) 。1.3 MVC 模式及架构概述近年来,随着网络技术和 Internet 的迅速发展,基于 B/
11、S 结构的 Web 应用,因其具有易用性、通用性和良好的可扩展性等优点而迅速发展,正逐渐成为各类应用信息系统市场的主流。但是,在 Web 应用系统中,存在程序可重用程度低、维护工作繁琐而困难、程序应变能力较弱等不足。为了提高程序的可重用性、可维护性、可扩展性、优化设计模式、提高软件的生产效率,MVC 模式应运而生。MVC 由 Trygve Reenskaug 提出,首先被应用在 SmallTalk-80 环境中构建用户界面。M 代表模型 Model,V 代表视图 View,C 代表控制器Controller。 MVC 设计模式的目的是增加代码的重用率,减少数据表达、数据描述和应用操作的耦合度,
12、同时也使软件可维护性、可修复性、可扩展性、灵活性及封装性大大提高。模型是软件处理逻辑的内在抽象,封装了业务功能的数据和逻辑关系,独立于具体的界面表达和 I/O 操作。视图是人机对话的界面,负责数据的输入与输出。一方面,为用户提供输入界面;另一方面,从模型获取所要显示的数据,再对这些数据进行格式化加工,最后显示到终端。控制器是模型和视图的桥梁,用户请求被提交后,先传给控制器,控制器根据请求的类别来选择调用模型,模型完成请求的任务后,将加工后的信息传给控制器,再由控制器来决定选择视图,最后将视图信息输出给用户。MVC 设计模式具有条理清晰,易于扩展,运用可分布的特点,因此在构建Web 信息系统中具
13、有显著的优势,具体表现为以下几点:模型、视图与控制器的分离,使一个模型可以被多个视图调用,提高了模型的利用率。MVC 设计模式可以使系统方便地支持其他新的客户端类型,除了运行在桌面型的浏览器外,还可以运行在 PDA、带 PDA 功能的手机、 WAP 浏览器上。中北大学毕业设计说明书第 6 页由于 MVC 设计模式分离了数据的控制与显示,从而可以使开发者更容易协作开发,后台开发人员可以专注业务逻辑的编程,前台开发人员专注于用户交互的界面,从而缩短产品的开发周期。1.4 J2EE 简介J2EE(Java 2 Platform Enterprise Edition)是 Sun Microsystem
14、s 公司开发的一种利用 Java 2 平台来简化企业解决方案的开发、部署和管理相关复杂问题的体系结构。由于 J2EE 的开放性、扩展性及各大厂商的支持,正逐渐成为Web 应用软件的开发标准。J2EE 框架用 JSP/Servlet/EJB 的 3 层架构来分离 Web 信息系统的显示/ 业务/数据 3 层逻辑,实践证明这种简单的分离在 Web 应用开发中使得 HTML 和Java 强耦合在一起,显示逻辑和业务逻辑混淆不清,Web 界面和业务逻辑交叉在一起,由此,出现了许多 J2EE 的补充框架。下面简单介绍其中一个开源的补充框架 Struts。Struts 是 Apache Jakarta 项
15、目的一个顶级项目,由 ASF 发起与赞助,他采用了基于 Web 的 MVC 模式,能更好地帮助 Java 开发者利用 J2EE 开发Web 应用。Struts 由一组相互协作的类(组件) 、 Serlvet 以及 JSP Tag Lib 组成,其中,Servlet 用于 HTTP 请求的分配及 JSP 的调用;标记库用于页面的动态生成;实用类库用于 XML 的解析及 Bean 的属性设定。中北大学毕业设计说明书第 7 页第 2 章 系统分析需求分析是系统分析和软件设计之间的重要桥梁,良好的分析有助于避免早期错误,提高软件生产率和开发效率。本章从经济和技术两个方面对系统的可行性进行分析,按照用户
16、对系统的要求进行系统的需求分析。2.1 可行性分析在互联网环境下的外部市场环境日趋成熟,传统产业的影响不可忽视,但是近些年来中国使用互联网的人数呈指数上升,这说明互联网市场会有很大的发展空间。随着经济的发展和人们思想意识的逐渐开放,更多的人加入到买电脑上网的行列。网上购物人群的迅速扩大,各种网络设施的完善,经济的持续发展及人们生活水平的提高,网上购物已逐渐成为人们消费的习惯。但是目前国内还没有具有相当规模和专业程度的网上购物企业,国内网络消费群体尚为到位,网络消费环境尚不完善,与传统购物环境相比,网上购物的售后服务,质量保障等方面仍让消费者不放心。但正是这些不健全不完善为网上购物提供了较大的发
17、展空间。在开发技术上更是没有任何问题的,任何成熟的 Web 应用开发技术都可用开发网上购物网站。J2EE 规范的补充框架 struts 就为开发网上商城这样的项目提供了较好的技术支持,基于 struts 框架可以使我们的项目易扩展,易维护,同时提供了较好的安全性。随着国内网络产业的反战和网络法律法规的健全,网络商城必然成为主流的消费方式。众多厂家也会认识到网上商城将会为他们带来无可比拟的益处,可以为企业降低成本,提高利润,同时简化管理。不管从市场需求还是技术支持,网上商城这样的项目都是可行的。2.2 需求分析通过分析我们可以得知用户对目标软件系统在功能、行为、性能、设计约束等方面的期望,从而有
18、助于我们开发出用户满意的产品。中北大学毕业设计说明书第 8 页前台用户需求分析,用户除了可以查询商品的所有基本信息(如商品名价格及有关商品信息描述)外,还能了解商品的最新动态,商品的销售排行,最新商品和特价商品的查询。用户可以进行购物,查看购物车及查看订单的操作。用户需要登录和注册个人账户,同时可以修改个人信息。要求数据的安全性,完整性。要有安全保密、上下级数据一致性功能,要采用严格的用户权限管理。各单位只能拥有自己相应的操作权限,不可越权操作。各单位只可操作本单位的数据,不可修改甚至浏览其他单位的数据。后台管理员需求分析,管理员需要对商品进行设置包括查看、删除、添加、修改等操作。管理员能对会
19、员信息进行查看和删除,对订单信息能够进行查看、出货、删除,对公告和友情链接进行设置,对数据的安全性和完整性有着严格的要求。中北大学毕业设计说明书第 9 页第 3 章 系统的概要设计本章以系统需求分析的结果为基础对系统的整体框架做出概要设计,将系统分为前台和后台两大模块,并分别对两模块进行子模块的划分,简要分析各个模块功能。最后根据业务需求作出系统的数据流程图。3.1 总体框架根据系统的前台用户对系统的操作和后台用户对系统的管理和维护,系统前台可初步划分为用户注册登录模块,会员资料修改模块,购买商品模块,查看订单模块,查看销售排行模块,查看商城公告模块具体如图 3-1 所示。后台可划分为管理员登
20、录模块,会员设置模块,管理员设置模块,商品设置模块,订单设置模块,友情链接模块,公告设置模块具体如图 3-2 所示。前台用户功能用户注册登录 会员资料修改 购买商品 查看订单 查看销售排行 查看商城公告图 3-1 前台用户功能模块中北大学毕业设计说明书第 10 页图3-2 前台用户功能图后台用户功能管理员登录 商品设置 会员设置 后台管理员设置 订单设置 公告设置友情链接设置3.2 模块功能简介根据需求分析对前台和后台各个子模块进行简要分析,对子模块功能进行简要设计。前台模块实现了用户注册、会员资料修改和商品购买等功能。用户注册登录,用于用户注册个人信息和登录;会员资料修改,用户在登录以后可对
21、自己的信息进行修改;商品购买,用户可以将购买的商品添加进自己的购物车;查看订单,用户可以查看自己一定时期内的订单详细信息。查看销售排行,用户可以查看当前销量前几名的商品;查看商城公告,用户可以查看公告信息以了解商城最新信息。后台模块实现管理员登录、商品设置、会员设置、订单设置等功能。管理员登录,用于管理员登录;商品设置,用于管理员对商品的查看、添加、删除;会员设置,用于管理员对会员信息进行管理;后台管理员设置,用于高级管理员对其他管理员信息进行管理;订单设置,用于管理员对订单查看、修改、删除;友情链接设置,用于修改、删除和添加友情链接;公告设置,用于更新公告信息。3.3 数据流程根据用户需求和
22、功能模块及业务流程的分析,可得系统的总体数据流程。前台用户主要是对用户信息的查询和修改,对商品信息、订单信息和公告信息中北大学毕业设计说明书第 11 页的查询;后台用户主要是对商品信息、会员信息、订单信息的设置和维护。具体数据流如图 3-3 所示。图3-3 系统数据流图中北大学毕业设计说明书第 12 页第 4 章 系统的详细设计及实现本章主要实现系统模块职能的划分,各个模块的详细设计实现及根据系统数据流图进行的数据库的设计。4.1 详细设计根据需求分析本系统整体分前台和后台两大模块。前台用户主要功能模块包括:会员登陆注册、会员资料修改、购买商品、查看订单、查看销售排行、查看商城公告。后台用户主
23、要功能模块包括:管理员登陆、商品设置、会员设置、后台管理员设置、订单设置、公告设置、友情链接设置、退出后台。下面分别从前台和后台进行详细功能设计。4.1.1 前台用户功能模块设计根据概要设计对前台模块进行细化,经过对用户需求和业务逻辑的分析,前台各个模块的详细设计如下。会员登录注册模块主要有登录注册功能。登陆功能主要用于会员的登陆,如果已经是网站的会员,则只需输入“用户名”和“密码”即可进行进入系统的事务,然后用户可以以会员的身份方可在网站上进行购物。注册功能主要用于非会员的首次登录,注册后才能以会员的身份登录进行网站购物。会员资料修改模块实现会员登录之后可以对会员资料进行修改的功能。输入原来
24、的密码,新密码,密码确认,真实姓名,年龄,职业和 Email 地址可以直接进行修改。但会员名称不可以修改。购买商品模块可查看相应的商品信息。如果会员想购买此商品,将商品放入购物车便可以继续购买商品。如果购物结束,可以查看购物车,进入购物车界面。如果同一种商品要购买多个,只需把商品数量修改相应的数量即可。最后去收银台结账。订单编号由系统自动生成,输入联系电话、联系地址和备注信息,付款方式和运送方式通过系统给出的方式进行选择。中北大学毕业设计说明书第 13 页查看订单模块功能主要是返回相应用户的订单信息,如果用户要查询订单,系统会根据要求显示相应的订单信息。如果需要系统可显示订单的详细信息,列出订
25、单所对应的全部商品。销售排行模块主要显示相应的商品销售排行的功能。商城公告模块实现对商城公告中的任意一个公告可查看其相应的详细信息。4.1.2 后台用户功能模块设计根据管理员对系统的需求和对管理员权限的限制,后台模块功能详细设计如下。后台登录模块主要实现管理员输入账号和密码后才可进入后台管理模块,并且判定管理员的权限。商品设置模块主要实现如下所述功能,系统根据要求自动显示相应的商品列表。该模块可以实现商品信息的查看、添加、修改和删除操作。查看功能用于显示相应商品的详细信息,在此功能中还可设置特价商品,对特价商品的价格进行预设置。添加功能实现对库中商品的添加功能。选择所属大类别和所属于小类别和要
26、添加的商品类别,输入商品名称,生产厂商,商品定价和商品描述即可添加新的商品。删除功能实现商品信息的删除。会员设置模块实现自动显示会员信息的详细列表。在列表中可以对会员信息进行查看及删除。后台管理员设置模块实现自动显示管理员的信息列表。根据权限设置,只有高级管理员可对次模块操作。高级管理员可进入管理员信息添加模块,添加管理员账号、密码、姓名,对管理员信息进行修改,对其他管理员信息进行删除操作。订单设置模块可自动显示相应的订单列表。在订单列表中可以对订单信息进行查看、出货及删除操作。查看功能是对所有的订单进行查看,同时对相应订单的详细信息进行查看。出货功能可以对相应订单是否出货进行设置。删除功能实
27、现对相应订单信息的删除操作。中北大学毕业设计说明书第 14 页公告设置,在此模块中系统自动显示相应的公告信息列表。在列表中可以对公告信息进行查看、添加、修改及删除操作。友情链接设置,在此模块中实现对友情链接的查看、添加、删除和修改。查看功能可根据相应信息的查看图片查看相应网站的图片。输入网站名称和网站地址信息,即可进入如图 4-1 所示的添加网站图片的模块。上传图片,完成友情链接的添加。图4-1 添加网站图片退出后台模块实现用户退出后台管理模块,且返回到前台首页。4.2 数据库设计一个系统的好坏,数据库的设计起着至关重要的作用,本节我们通过对数据的分析,设计一个安全、高效的数据库,尽量使数据冗
28、余降为最低。4.2.1 数据分析用户的需求具体体现在对信息的要求和对处理的要求上,对网站前台和后台系统的仔细分析和对信息和处理的要求分析后得如下数据字典。(1)系统数据处理条目如下分析会员注册登录:接受会员输入信息对会员信息进行处理。管理员登录及设置:接受管理员输入信息对管理员信息进行处理。商品管理:返回用户和管理员对商品的查询信息,接受管理员对商品的修改、添加和删除操作并对商品信息进行处理。订单管理:返回用户及管理员对订单的查询信息,接受管理员对订单的删除和修改操作。商城公告管理:返回公告信息供用户查询,接受管理员对公告的删除、修改和添加。中北大学毕业设计说明书第 15 页友情链接管理:提供
29、用户对链接信息的查看,接受管理员对链接的删除、修改和添加。(2)数据流条目包含以下几条用户个人信息:包括用户的基本身份信息及访问系统的权限。管理员基本信息:包括管理员基本身份信息及访问系统的权限。商品信息:包括商品的基本信息(商品的 id,对应的大商品分类 id,小商品分类 id,商品名,商品基本信息描述,商品的最新价格和特价价格,商品的销售量,商品的图片,商品是否为特价的标记) 。订单信息:包括订单的基本信息(账单号,账单描述信息,创建时间,是否出货的标记)及对应的用户基本信息。公告和友情链接信息:包括公告和链接的基本信息。4.2.2 数据库 逻辑设计按照以上数据分析设计 SQL Serve
30、r2000 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。以下是电子商城系统数据库中的几个重要的表设计。表 4-1 tb_member 表(会员表 )列 名 数据类型 可否为空 说 明id int NOT NULL 会员编号name varchar (50) NULL 会员名password varchar(50) NULL 会员密码reallyname varchar (10) NULL 会员真实姓名age int NULL 会员年龄profession varchar(50) NULL 会员职业email varchar(50) NULL 会员邮箱question varchar
31、(50) NULL 问题(用于找回密码)result varchar(50) NULL 答案表 4-2 tb_manager 表(管理员表 )列 名 数据类型 可否为空 说 明id int NOT NULL 管理员编号account varchar (50) NULL 管理员名password varchar(50) NULL 管理员密码name varchar (10) NULL 会员真实姓名sign bit NULL 标记(用于权限控制)中北大学毕业设计说明书第 16 页表 4-3 tb_goods 表(商品表)列 名 数据类型 可否为空 说 明id int NOT NULL 商品编号bi
32、gId int NOT NULL 商品对应的大商品编号smallId int NOT NULL 商品对应的小商品编号goodsName varchar(50) NULL 商品名goodsFrom varchar(50) NULL 商品来源introduce text(4) NULL 商品描述creaTime smalldatetime(4) NULL 创建时间nowPrice money(8) NULL 价格freePrice money(8) NULL 特价价格number int(4) NULL 卖出数量picture varchar(50) NULL 商品图片mark bit(1) NU
33、LL 标记(是否为特价商品)表 4-4 tb_order 表(订单表)列 名 数据类型 可否为空 说 明id int NOT NULL 订单编号number varchar(50) NOT NULL 订单号name varchar(50) NULL 订单对应的客户名reallyName varchar(50) NULL 订单对应的客户真实名address varchar(50) NULL 客户地址tel varchar(50) NULL 客户电话setMoney varchar(50) NULL 付款方式post varchar(50) NULL 发货方式bz text(16) NULL 订单
34、描述sign bit(1) NULL 订单标记(是否出货)creaTime smalldatetime(4) NULL 创建时间表 4-5 tb_orderDetail 表(订单信息表)列 名 数据类型 可否为空 说 明id int NOT NULL 订单信息编号(主键)orderNumber Numbervarchar(50) NULL 订单号goodsId int NULL 订单对应商品编号price float(8) NULL 订单对应商品价格number int NULL 订单对应商品数量中北大学毕业设计说明书第 17 页4.3 在 struts 框架下系统功能模块 的实现本节根据功能
35、模块的设计,详细介绍在 struts 框架下各个模块的实现过程。下面详细介绍系统各个模块在 MVC 模式下的实现过程及职能。系统的各个模块都封装成类,职能分工明确。用 struts 来实现 Web 应用程序有以下几个重要部分组成,HTML 或 JSP 页面,Action,配置文件 struts-config.xml。 ActionForm 为表单数据的提交提供了强有力的支持,一旦从HTML 或 JSP 传递给了 FormBean,并且属性经过了校验,所有属性就作为漂亮整齐的 JavaBean(符合 J2EE 规范的类)传递给 Action。StrutsAction 对象使用 ActionFor
36、m 来完成其业务操作,处理错误,并选择相应响应页面。在这几部分中,HTML 和 JSP 页面就充当了 V(view )的角色,配置文件 struts-config.xml 充当了 C(controller)的角色,而 Action 既充当了 M(module )也充当了 C(controller )的角色。4.3.1 前后台公共模块实现本系统基于 struts 框架,各模块严格按照 J2EE 规范来开发。具体开发模式如下所述:页面信息在提交时都被封装为一个 ActionForm(JavaBean 的子类)对象。具体的 Action 调用信息处理类的方法对信息进行所要求的各种处理。然后处理结果返
37、回给相应页面。系统几个重要模块在 struts 框架下的实现过程将在下面详细介绍。在前后中都要用到对用户信息、商品信息、订单信息、公告信息、友情链接信息的操作。这些信息都要从数据库中得到,所以将各个信息的操作都封装成一个个不同的类,这些放在 com.dao 包下。以下是这些类的详细介绍。首先建立各个信息的 ActionForm (JavaBean 的子类)。MemberForm 将会员的基本信息封装成一个 ActionForm 对象,类中声明了会员的所有基本属性包括idname、password、age、email、profession、reallyname、question 、result。
38、按照 JavaBean 的规范,为这些变量都定义了 get 和 set 函数,以便在程序开发中获取和设置会员信息。以下各个信息的 ActionFrom 都按照这种规范来定义。中北大学毕业设计说明书第 18 页GoodsForm.java ,商品信息的 ActionFrom;SellGoodsForm.java,购货商品的 ActionFrom;OrderForm.java,订单信息的ActionFrom;OrderDetailForm.java,订单详细信息的ActionFrom;BigTypeForm.java,大商品分类的ActionFrom;SmallTypeForm.java,小商品分
39、类的ActionFrom;AfficheForm.java,公告信息的 ActionFrom;LinkForm.java,友情链接信息的 ActionFrom。以上几个 JavaBean 同会员信息的 JavaBean 写法相同,所不同的只是属性个数和类型。将所有信息封装成以上 JavaBean 以后,可以在程序中的任何一个地方方便的获得信息的所有属性,并且提高了代码的可移植和可维护性。对各个信息的操作在以下类中实现:MemberDao.java:对用户信息的所以操作都在此类中实现,它可以按照要求返回一组用户信息也可以返回单个用户信息。代码如下:/对会员表的操作public class Mem
40、berDao private Connection connection = null; /定义连接的对象private PreparedStatement ps = null; /定义预准备的对象private JDBConnection jdbc = null; /定义数据库连接对象public MemberDao() jdbc = new JDBConnection();connection = jdbc.connection; /利用构造方法取得数据库连接/以数据库流水号为条件修改会员的密码public boolean updatePassword(String password, I
41、nteger id)/找回密码之用public MemberForm selectFind(String name, String result) /全部查询的操作或以会员名称为条件查询信息public MemberForm selectMemberForm(String name) /删除操作public boolean deleteMember(Integer id) /添加用户信息public void insertMember(MemberForm form) /以数据库流水号为条件修改信息public void updateMember(MemberForm form) /以会员名称
42、为条件查询密码public String selectPassword(String name) 中北大学毕业设计说明书第 19 页/全部查询信息操作public List selectMember() /以数据库流水号为条件查询信息public MemberForm selectOneMember(Integer id) GoodsForm.java :商品信息的 Java BeanSellGoodsForm.java:购货商品的 Java Bean对应以上信息还有如下几个类,它们都象 MemberDao.java 一样实现了对信息的所有操作。OrderDao.java,OrderDetai
43、lDao.java,BigTypeDao.javaSmallTypeDao.java,AfficheDao.java,LinkDao.java4.3.2 前台模块功能实现登录模块:在输入用户名和密码后,用户信息将作为一个 MemberForm 对象被提交给相应的 MemberAction 来处理。并将结果通过语句 return mapping.findForward(“checkMember“)返回给页面, struts 会根据 struts-config.xml 配置文件找到相应的页面。注册模块:用户输入的基本信息作为一个 MemberForm 对象被提交给相应的 MemberAction
44、来处理。并将结果通过语句 return mapping.findForward(“operationMember“)。商品查询模块:商品查询包括新品上架和特价商品查询,当点击其中一个链接时,系统通过 url 将要传递 Action 参数,进而调用相应的 GoodsAction 来处理,GoodsAction 调用 GoodsDao 类方法将要查询的商品信息封装成一个个ActionForm对象放在容器 List 中,通过 return mapping.findForward()返回给相应页面。struts 框架会根据 struts-config.xml 配置文件找到相应的页面。订单查询模块:和商
45、品查询模块相同,所不同的是不同的 OrderAction 调用OrderAction 对信息进行处理,返回。查看购物车模块:用户点击查询购物车以后会转入相应页面,然后通过session 获得当前用户的 cart,将用户购物车商品信息输出。其他的商品销量排行模块,会员修改模块都按照以上方法实现。中北大学毕业设计说明书第 20 页4.3.3 后台模块功能实现商品设置模块:主要功能包括商品的添加、删除、修改,其中的功能都是通过 url 将商品信息提交给相应的 Action,GoodsAction 调用相应的GoodsDao 类对相应的商品信息进行处理,然后返回结果。订单管理模块:主要功能包括订单的查
46、询、修改和删除。在这个模块中你可以查看订单详细信息,进行出货处理,通过 url 将相应的订单信息提交给对应的 OrderAction,然后处理其标志位,设置其是否已出货。后台管理员设置模块:当管理员登录的时候根据管理员的权限,限制其可以进行的操作。普通管理员可以进行管理员设置操作外的其他任何操作。高级管理员可以对其他管理员的信息进行查看和修改删除。会员设置模块,公告设置模块,友情链接模块,与以上讲过的模块实现方式基本相同,只是处理方法逻辑控制有些许差别,这里不再详细叙述。中北大学毕业设计说明书第 21 页总结与展望本系统完全按照 struts 框架来开发,有一定的商业使用价值。因为采用MVC
47、模式,所以显示、逻辑控制、数据处理相对比较独立,降低了程序的复杂性,提高了系统的可维护性和可扩展性。系统中对各个数据对象的处理最能说明 MVC 模式的这些特性,在系统中把每个数据对象的处理封装在一个类中,这些类在 MVC 模式中充当 M 的角色。如果要增加对某个数据对象的操作,就可以在类中为此数据对象定义处理方法,这样在其他地方就可以方便调用,这恰恰就是 MVC 模式扩展性好的最好证明。如果要对某个操作修改,也只须在类中对相应的方法修改即可,因此也为系统的维护提供了便利。但是本系统还有一些不足,在调试的时候发现一些 bug,还不能很好的解决,尤其是对用户的误操作考虑不够全面。比如用户登录以后,
48、用静态的容器list 记录了用户的信息,由于误操作关闭了网页,服务器如果没有关闭,该用户在再次登录时系统会提示用户已登录的提示,这对用户的操作带来了不便,同时对系统的安全性埋下了隐患。用户登录的控制与其他相关操作有重要关联,所以在此的控制存在一定困难。其次就是页面显示问题,第一,页面代码存在冗余,由于页面设计没有使用模版所以在很多页面代码出现一定的重复。第二,按照商业开发的规范,Web 应用程序中 jsp 页面要尽量减少 java 代码的出现,且用 jsp 标签来实现页面的显示及逻辑控制。由于本人的知识有限,所以还没有把 jsp 中的 java 代码降到最少。在设计一个 Web 应该程序时,重
49、要的是按照一个较好的框架进行开发。在本系统的开发 struts 框架(也就是实现了 MVC 模式的现在世界上流行的 Web应用开发框架) 。使用这样的框架进行开发,使我在开发本系统时逻辑清晰,各个模块职能分工明确。且在使用比较流行的 struts 框架开发时,大家都要遵循J2EE 既定的规范,因此也为团队开发提供了条件。通过对这个项目独立的开发,学到了很多知识,加深了对 J2EE 的理解,同时也认识到遵循 J2EE 规范开发项目的优点。中北大学毕业设计说明书第 22 页参考文献1王欢,郭玉锦.网络公共领域的功能与局限性J.理论前沿,2009, (20).25-262 骆斌,丁二玉.需求工程-软件建模与分析M. 北京:高等教育出版社,2009,46 3薛元君. 页面数据库设计与发布M.清华大学出版社.2010.1 174 张海藩. 软件工程导论M. 北京:清华大学出版社,2008.2 1255 李刚轻量级 Java EE 企业应用实战M第三版北京:电子工业出版社,2012 3676 戴志诚.JSP 信息化系统建设案例M.北京:人民邮电出版社,2010 130-1767 邹竹彪 . JSP 网络编程从入门到精通 M. 北京:清华大学