演示视频:
第5章 详细设计与实现
系统运行平台设置
本系统的运行平台设置分为硬件环境和软件环境。
运行环境
1.硬件环境
系统的硬件环境配置为处理器Pentium III800,内存512M,硬盘1G。
2.软件环境
系统的软件环境配置为Windows XP操作系统,SQL Server 2005数据库,JDK1.5、MyEclipse3.1开发工具包和Tomcat6.0服务器。
开发工具及技术简介
以下内容是对本系统所采用的开发工具和技术进行的简单介绍。
开发工具简介
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。
在结构上,MyEclipse的特征可以分为7类:(1)J2EE模型;(2)WEB开发工具;(3)EJB开发工具;(4)应用程序服务器的连接器;(5)J2EE项目部署服务;(6)数据库服务;(7)MyEclipse整合帮助。
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
SQL Server 2005是一种采用T-SQL语言,基于C/S模式的关系型数据库管理系统。SQL Server 2005存储和管理数据有以下优点
(1)每个数据项都存储在中央位置,所有用户都可在这个位置使用它们;
(2)各个客户端上不单独存储数据项复本,从而消除了因用户不得不确保使用的信息相同所带来的麻烦。系统不需要确保使用当前值更新所有数据复本,因为中央位置仅有一个复本;
- 可以在服务器上一次性定义业务和安全规则,并对所有的用户平等执行;
(4)可以在数据库内通过使用约束、存储过程和触发器来强制执行规则。还可在服务器应用程序中执行规则,因为这些应用程序也是许多客户端访问的中央资源;
(5)关系数据库服务器只返回应用程序所需要的数据,优化了网络流量;
(6)最大程度地降低硬件的成本,由于数据不是存储在每个客户端上,客户端不必耗费磁盘空间来存储数据。客户端无需在本地增加管理数据的功能,同时,服务器不需将处理能力耗费在显示数据上;
(7)可以配置服务器以优化检索数据所需的磁盘输入/输出容量,配置客户端以优化从服务器检索数据的格式;
(8)可以将服务器存储在一个相对安全的位置,并配备如不间断电源供应系统这样的设备,这比完全保护每个客户端更经济;
(9)维护任务(例如备份和恢复数据)得到简化,因为这些任务都可以集中在中央服务器上执行。
技术简介
本系统采用MVC框架,MVC(Model-View-Controller)是一种设计 模式,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成3个核心:模型层、视图层和控制层,它们分别担负不同的任务。其中视图层向用户显示相关的数据,并能接受用户的输入数据,但是它并不进行任何实际的业务处理。模型层表示业务数据和业务逻辑。控制层接收用户输入并调用模型和视图去完成用户的需求。
本系统需要用到的Java相关技术有jsp技术、servlet技术、jdbc技术、SSH框架。其中,关键的技术难点在于Struts技术的运用。Struts技术是基于MVC的Web应用框架。在Struts框架中,模型层由实现业务逻辑的JavaBean组件构成,控制层由ActionServlet和Action来实现,视图层由一组JSP文件构成。
系统首页设计
本系统网站的主界面设计结构采用了上左右的结构,上部分为主功能菜单区,主要是显示网站的主功能,左侧为用户注册、登录,公告浏览,轿车查询,右部分为信息显示区,销售排行榜 主要是为方便用户提供了一些最新上架的轿车信息。界面设计如图3-1所示。
图3-1 系统首页
系统前台基本功能设计与实现
本节对系统前台主要功能设计进行详细的说明。
用户维护模块设计与实现
由于网上购物必须保证用户的正确性、购物的安全性,需要对用户资料进行有效的管理,因此用户管理是电子商务网站的重要内容。它主要包括用户注册、登录和验证、用户注册资料的修改更新和用户注销等功能。
1.注册
(1)实现目标
用户单击注册后需要输入密码和确认密码、用户真实姓名、住址、性别、E_mail、QQ。用户只须填写一个Web表单。这里需要用户通过E_mail注册是考虑到两点:第一,用户的E_mail是惟一的;第二,通过用户的E_mail可以很方便快捷的与用户取得联系。用户在提交注册信息后,系统会对注册页面填写的正确性进行检查。对于不符合要求的填写会给出必要的提示,并返回修改;对于符合要求的注册表单,用户提交信息后也要返回相应的欢迎信息,用户提交的正确注册信息将被存入系统的数据库中。界面的设计如图3-2所示。
图3-2 用户注册模块
(2)实现过程
所属页面名:userReg.jsp
表单属性:name="form1" action="<%=path%>/userReg.action" method="post"
页面设计如表3-2所示。
2.登录和验证
(1)用户登录程序流程描述
当用户输入用户名和密码后首先要进行身份验证,如果用户存在,则成功登录,反之,如果用户不存在,提示错误信息“输入的用户名或密码不存在,请注册”,返回登录界面重新输入用户名和密码。用户登录的程序流程图如图3-3所示。
图3-3 用户登录程序流程图
(2)实现目标
对于本系统的购物过程而言,在用户浏览轿车时,可以不进行登录,只有在使用购物车时,才需要登录,以完成整个购物过程。用户登录用于验证用户的用户名和密码,然后决定顾客进入系统进行操作,如进行用户修改的操作,购物车和结帐的操作等。界面的设计如图3-4所示。
图3-4 用户登录模块
(3)实现过程
所属页面名:index.jsp
页面设计如表3-3所示。
3.用户修改和注销
(1)实现目标
已注册的用户只要登录本系统后便可以通过单击用户修改按钮进行用户修改操作,在此页面中用户可以更改自己的帐户和详细信息,如可以修改密码、修改Email地址等个人信息。通过点击提交按钮完成修改操作。界面的设计如图3-5所示。
图3-5 用户修改模块
为了保证用户购物的安全性,系统提供了不关闭浏览器而退出轿车在线销售系统的功能,注销功能是清除用户在使用或登录系统期间的所有Session信息。
(2)实现过程
所属页面名:userXinxi.jsp
表单属性:action="<%=path%>/userEdit.action" name="form1" method="post"
页面设计如表3-4所示。轿车展示模块设计与实现
1.实现目标
为了方便顾客选购轿车,本系统采用了两种展示产品的方式。一种是以类别查询为基础查看轿车,另外一种是新品上架、特价产品和销售排行的展台。以销售排行查看轿车为例,顾客在首页的的销售排行即可查看销售排行,方便顾客查看畅销的轿车相关信息及详细信息。界面的设计如图3-6所示。
图3-6 销售排行模块
2.实现过程
所属页面名:index.jsp
通过查询t_orderItem表中按销售额字段goods_quantity降序排列实现。
购物车模块的设计与实现
1.购物车程序流程描述
用户选购轿车后添加到购物车中,在购物车中进行查看,同时对不满意的产品可以进行移除,对要购买的产品可以调整数量,移除产品和清空产品。用户决定购买产品后可以去收银台进行结账。购物车流程图如图3-7所示。
图3-7 购物车程序流程图
2.实现目标
用户购买产品的核心功能是购物车和订单提交。购物车模块的设计包括:顾客添加轿车到购物车和顾客对购物车的管理,如更新购买的轿车数量、清空购物车和将购物车中轿车从购物车中移除等。购物车要具有持续性,而且不限制用户购买轿车的数量,也就是购物车可以显示很多轿车。界面的设计如图3-8所示。
3.实现过程
所属页面名:myCart.jsp核心代码参见附录3
页面设计如表3-8所示。
图3-8 购物车模块
收银台模块的设计与实现
1.实现目标
用户选择完轿车后,需要确认购物车中内容,即结帐,点击下一步,此时页面跳转到结账页面。在结帐页面,需要用户填写联系地址、联系电话、付款方式和送货方式和备注信息,以便生成订单。当完成一次交易所需要的用户方面的信息都已齐全,只须生成订单即可进入配送过程。如果用户所填写的订单信息正确,系统会返回给用户此次交易所产生的订单号码。界面的设计如图3-9所示。
图3-9 结账模块
查看订单模块的设计与实现
1.实现目标
用户填写完订单并提交成功后可以通过查看订单按钮看到自己的订单及详细信息。界面的设计如图3-10所示。
图3-10 查看订单模块
2.实现过程
所属页面名:myOrder.jsp
具体代码参见附录3。
公告浏览模块的设计与实现
1.实现目标
吸引顾客有很多种宣传措施,本系统采用公告的方式进行宣传。利用类似流动看板的方式显示公告信息。在顾客点击某一条公告信息时,系统可以自动弹出一个页面显示具体的公告信息。界面的设计如图3-11所示。
图3-11 公告浏览模块
2.实现过程
所属页面名:gonggaoDetailQian.jsp
首先使用gonggaoDAO中的save方法,将公告信息添加到数据库中,在用户点击页面中的公告后,通过gonggaoDAO下的findAll方法,将其调出,显示到页面中。
客户留言模块的设计与实现
1.实现目标
为了能够了解客户对我们的轿车的满意程度,我们设计了留言模块,让用户能够在第一时间将问题反映给我们,以便我们及时改进。界面的设计如图3-12所示。
图3-12 留言浏览模块
2.实现过程
所属页面名:liuyanAll.jsp
首先通过判断session中的userName是否为空,如果为空,则只能先登录才能进行留言。如果不为空,则留言人中显示userName,使用获取系统时将来给留言时间赋值。客户在输入标题和内容后,将其存储到数据库中,在客户查看时再将其调出。
系统后台管理功能设计与实现
本节对系统后台功能设计进行详细的说明。
基本信息管理设计与实现
1.实现目标
该功能主要分布在管理员信息、用户信息、轿车类别信息,订单信息,公告信息和留言信息的处理。对这些信息操作的主要功能详细设计包括对它们的添加、删除、更新和查询等操作,需要分别在基本信息中的每一个页面中设计这些功能。当对这些基本信息进行添加、删除和更新操作时,需要将这些操作所执行的结果返回到本系统的数据库中,并能够在相应的页面中刷新显示新的结果集。需要用SQL语句将这些信息添加到数据库中。模块的输出是操作信息成功的提示信息。对于在某一页面中的查询功能,此页面要能够刷新显示出此查询结果信息。以客户信息管理理为例。界面的设计如图3-13所示。
图3-13 客户信息管理模块
2.实现过程
所属页面名:userMana.jsp
客户管理主要是使用userDAO中下的findById和findAll方法来删除和获取数据库中的数据。进入客户管理界面时通过findAll方法来显示所有用户的信息,点击删除时,通过findById方法获取指定的用户ID,使用sql语句进行操作。
订单信息管理设计与实现
1.实现目标
该模块是针对用户订单信息和订单明细信息的管理功能进行的详细设计,主要是对用户订单信息和订单明细信息的查看、删除和受理订单的操作。管理员应该可以查看系统中已处理的订单和未经处理的订单信息,用户订单信息和订单明细信息在不同的页面显示。界面的设计如图3-14所示。
图3-14 订单管理模块
2.实现过程
所属页面名:orderMana.jsp
订单管理模块使用了buyAction中的方法,当用户提交订单时,订单状态默认为未受理。管理员查看订单时调用了orderMana()方法将订单显示到页面中,点击删除时调用orderDelByAd()方法将通过订单的ID对指定的订单进行那个删除操作,点击受理订单时调用orderShouli()方法将订单状态改为已受理。管理员查看订单明细时通过 orderDetail()方法通过订单ID将指定的订单明细显示到页面中。
具体代码参照附录3。
-
-
- 轿车信息管理设计与实现
-
1.实现目标
在轿车管理模块中除了基本的信息管理功能外,为了方便顾客浏览到轿车的真实外貌,在添加轿车模块中增加上传轿车图片的功能。
管理员在轿车添加页面中输入添加的轿车基本信息,点击提交后进入上传图片页面。在轿车信息管理中,我将轿车分为特价和非特价轿车来管理。此页面中能够显示出已输入的特价轿车基本信息,在上传图片位置上添加文件后点击提交,提交成功后有提示信息弹出。在管理员查看轿车信息时,将鼠标放到查看图片上就可以查看图片界面的设计如图3-15所示。
图3-15 轿车信息管理模块
2.实现过程
所属页面名:goodsManaYesTejia.jsp
本模块主要是对轿车表进行管理,所以就是一些查询和删除操作,我在做的时候,主要讲轿车分为特价和非特价轿车,在管理时也是分开管理,主要通过判断goodsIsnottejia来区分是否为特价轿车。
公告信息管理设计与实现
1.实现目标
在各大热门网站上都有公共的出现,该模块的建立也是为了通过实现发布公告,给顾客提供方便的操作,让客户能够及时的了解商城的活动情况。界面的设计如图3-16所示。
图3-16 公告管理模块
2.实现过程
所属页面名:gonggaoMana.jsp
在gonggaoAction中,调用gonggaoAdd方法进行添加操作,使管理员能添加一个新公告,管理员查看时则调用了gonggaoMana()方法,来显示所有的公告信息,要进行删除操作就会调用gonggaoDel()方法进行删除。
留言信息管理设计与实现
1.实现目标
客户对商城的轿车有任何意见,都可以在留言模块中进行留言,方便管理员查看,商城会及时处理问题。界面的设计如图3-17所示。
图3-17 留言信息管理模块
2.实现过程
所属页面名:liuyanMana.jsp
留言功能,主要先依靠liuyanDAO.findAll方法来获取所有留言,然后调用liuyanMana来显示,管理员的添加操作是调用liuyanAdd方法实现的,留言的时间定义是用获取系统时间的方法来定义的。删除留言时则调用liuyanDel方法来实现。
本章小结
本章进行了此系统的详细设计的介绍,我们可以对本系统的设计有了一个细致全面的了解。前台模块详细介绍了用户维护、销售排行、购物车、结账、查看订单、留言模块和公告浏览模块的设计和实现的过程,同时后台模块介绍了客户信息管理、订单管理、轿车信息管理、公告管理和留言管理的设计和实现的过程。本系统详细设计的原则是采用结构化的设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性和可维护性。