1、课 程 编 号: 学 号: 实 训 报 告教 学 院计算机学院课程名称信息技术工程师实训题 目网上购物商城管理系统 专业 班级网络工程2023(1)班姓 名王倩指导教师伍红华、熊皓2023年6月30日 目录一绪论11.1 项目背景11.2 课程意义11.2.1 网上商城发展史11.2.2 网上购物优点11.2.3 网上商城的现实意义21.3 系统的构成2二.系统需求分析与设计32.1 系统目的32.2 所需工具32.2.1 开发环境介绍32.2.2 软件需求32.2.3 硬件需求42.3系统总功能流程图4三.系统总体设计53.1 系统功能介绍53.2系统功能模块53.2.1 前台登录功能53.
2、2.2 后台管理功能53.3 数据库表设计63.3.1 设计环节63.3.2 数据库表的介绍63.4 重要流程介绍7四.具体设计84.1 三大配置文献重要内容84.2 前台功能模块114.2.1 数据库连接模块114.2.2 用户登录模块134.3 后台功能模块144.3.1 商品管理模块144.3.2 分类管理模块154.3.3 订单管理模块164.3.4 客户管理模块164.3.5 系统设计模块16五. 系统评价和维护175.1 系统评价175.2 系统测试17一绪论1.1 项目背景人们已经不满足于简朴信息的单向获取公司信息,对于一个电子化公司商务网站而言,人们更迫切需要的可以在网上实现互
3、动的交流及足不出户地购买产品,向公司发表自己的意见、服务需求及有关投诉,并且通过网站的交互式操作向公司进行产品的征询及得来相应的反馈及技术支持服务。因此,网上商城工程,应本着上述具体需求,系统的设计上突出体现实用的服务性功能,建立一个实用、合用的可交互的综合网上商务服务平台。Mash-up模式指的是网站采用混合技术搭建,不同的功能模块与不同的外界API接口对接实现,目前雅虎、google都提供开放的API供其它网站使用。混聚(Mashup)是一种基于WebServices、资源元数据规范等技术的网络应用开发技术,它可以将不同站点或应用程序的数据、资源、API加以混聚来构建新的业务流程,满足新的
4、用户需求。Mashup提供了客户端的计算能力,在客户端能给用户一种人机交互的丰富体验。Mashup技术的提出和实行就可以在公司构造公司应用时不再依赖于传统的WEB应用中笨拙的reloadpage方式或是一次提交必须刷新整个页面,从而导致人机交互过程的笨拙,人机交互的满意度下降的现状。目前国内主流购物系统中采用ASP、PHP、JAVA语言开发占据80%。其都是用纯编码技术。代码重用率低,工作量大,并且耦合性高。不利于网站的扩展。而其数据库都是用jdbc/mysql连接。安全性性能低。1.2 课程意义1.2.1 网上商城发展史从1999年以来,网络购物的物流配送问题就在连续地改善。到了2023年,
5、对于当当、淘宝网们来说,物流配送已经不是问题。一个涉及多仓储中心、异地批量运送、本地快速单件递送在内的非常草根的物流体系开始趋于成熟,并在中国网络购物的发展过程中起着实质性的支撑作用。2023年是中国网络购物市场快速发展的一年,无论是C2C电子商务还是B2C电子商务市场交易规模都分别实现了125.2%和92.3%快速增长。2023年中国B2C电子商务市场规模达成43亿元;2023年中国C2C电子商务市场交易规模达成518亿元。1.2.2 网上购物优点炎炎夏日,各大商场又迎来了一个购物旺季。而今年夏日购物的传统却有了新变化,越来越多的人放弃了大卖场的抢购,将eBay易趣等电子商务网站列为上上之选
6、。 尽管传统卖场在夏日期间纷纷推出返券、打折等等诱人的促销活动,但与卖场里人山人海、万头攒动的壮观景象相比较,轻松方便并且价格低廉的网上购物显然更具优势。在网上购物不仅方便快捷,省却了逛商场的拥挤和劳累,并且价格低廉,更有大量商品可供比较,是个省钱省力的好办法。 假如我使用传统的方式去商场买东西的话,那你一方面要了解的是在你这个城市中你先要买的产品在哪条街比较集中,这样的话就方便你货比三家,选择到你自己想要的产品了,可以走较少的路,假如很分散的话,那即浪费时间又浪费你的精力。找到了地方后,你就要开始进入商场一家一家的看,然后还要一便又一便的向商家进行提问,来了解这个产品。最后就是对自己看中的产
7、品进行试用,试用满意,认为价格合里的话,你就可以买下这个商品了,这种传统的购物方式想要买一个产品的话,在炎炎夏日里,很也许就是会让你臭味满身,即浪费了很多的时间又消耗了很多的体力,但是自从有了网上购物之后,这一切都将会发生改变。1.2.3 网上商城的现实意义用以提高商业交易的效率、范围,网上商城以在线交易、客户服务为核心。减少人工、经营本钱,这对于全面推动公司的信息化网络化具有重要意义。增强公司与客户之间的亲和力,网上商城有助于树立和提高公司形象。提高公司对客户的服务水平及客户服务效率,同时大幅提高公司员工的信息化水平。客户实现足不出户完毕对产品的浏览、购买意向以及与公司进行产品交易行为,网上
8、商城一个重要的目的就是提供在线交易服务。为客户与公司之间形成互通及公司内部办公自动化,最终构建公司“电子商务”打下坚实基础。1.3 系统的构成具体功能实现:可以分为前台页面和后台页面两大部分1)前台功能模块:顾客注册登陆模块,商品检索、浏览模块,购物车模块。2)后台功能模块:商品管理模块,分类管理模块,订单管理模块,会员管理模块,系统管理模块。二.系统需求分析与设计2.1 系统目的本系统运用MyEclipse与MySQL制作一个网上商城,通过使用java,jsp语言,SQL语句来实现构建一个购物网站,旨在为公司与用户之间建立一个公开、公平、公正的网络交易平台。满足公司、个人之间,不受地区与时间
9、的限制,可以随时随地进行交易的需求,同时也可以节省大量人力成本。该网站可供所有游客浏览商品信息,同时为每个会员提供安全、高效的商品交易、账户充值服务。2.2 所需工具2.2.1 开发环境介绍MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的公司级集成开发环境,重要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,特别是对各种开源产品的支持相称不错。MyEclipse提供了对UML、Ajax、Web、Web Services、J2EE、JSP、 XML、 Struts、 JSF、 Java Persistence、 E
10、JB、扩展数据库以及各种应用服务器的集成支持。MyEclipse也全面支持各种主流的第三方框架,让你可以快速高效地进行开发工作。此外,MyEclipse还全面支持各种基于Eclipse平台的插件,允许你自由定制或扩展个性化功能。MySQL, 是一个关系型数据库,由瑞典MySQL AB 公司开发,目前属于Oracle旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最佳的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不
11、同的表中,而不是将所有数据放在一个大仓库内,这样就增长了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条授权政策),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,特别是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配PHP,Linux和Apache可组成良好的开发环境,通过数年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。2.2.2 软件需求服务器:操作系统:Windows Server/2023/2023Se
12、rverIIS6.0及以上工作站操作系统:Windows7/8数据库管理系统:SQL-Server2023/2023/2023/08R22.2.3 硬件需求CPU 1个P42.4G以上或双核2.0G以上内存1个2G硬盘1个80G显示器1个17寸或以上网卡1个10/100/1000M自适应2.3系统总功能流程图大体流程图如下图2-1所示。 网上商城系统系统管理图2-1 总体功能流程图三.系统总体设计3.1 系统功能介绍具体功能分为前台页面和后台页面两大部分,我们实训所做的系统注重的是后台的管理,前台只需要一个登录界面即可,后台具体制作,具体功能如下。1)前台功能模块:1顾客注册登陆模块:顾客可以
13、通过填写注册信息成为会员,登陆后才干进行购物车的管理和购买商品,未经登陆的会员只能浏览商品。2商品检索、浏览模块:顾客可以浏览商品的具体信息(如名称、图片、价格等)也可以输入关键字进行查询商品。3购物车模块:会员登陆后可以管理购物车。将商品放入购物车,对购物车中的商品进行修改和删除,下订单和查看订单。2)后台功能模块:1商品管理模块:管理员登陆后可以查看商品的种类和信息。也可以对商品进行增删改查操作。2订单管理模块:管理员可以查看订单的详情。也可以修改订单中的商品数量和种类,还可以对订单进行删除。3客户管理模块:增长新的会员。可以查看会员的具体信息。也可以对会员进行修改和删除。4.分类管理模块
14、:分为分类添加商品和分类列表,让商品能容易的被买家找到。5.系统设立模块:包含个人信息详情,修改密码,新增管理员,管理员列表,以及系统退出。3.2系统功能模块3.2.1 前台登录功能我们需要设计一个登陆界面,这个界面用来连接后台管理界面,界面包含输入用户名和密码,以及验证码的文本框,还应当有一个注册文本内容,尚有一个登陆的按钮。3.2.2 后台管理功能一方面我们应当设计一个后台管理的界面,这个界面里面应当包含一些基本的功能。拥有一个清楚的目录,使用相应的语言编写,使得界面中的控件能与数据库中的数据连接。这些目录以及一级目录下包含的子目录为分为:商品管理(商品上架、商品列表),分类管理(分类添加
15、、分类列表),订单管理(订单列表),客户管理(客户列表、权限设立),系统设立(个人信息、修改密码、新增管理员、管理员列表、系统退出)。3.3 数据库表设计3.3.1 设计环节总体分为如下图3-1所示的数据库表,由于数据库不是我们本项目的介绍重点,在下文我只列举了几个重要的表。图3-1 数据库总体表3.3.2 数据库表的介绍(1)用户信息表:涉及的个人信息、登陆密码,登陆用户名,居住地址,联系方式,具体的如下图3-2所示。图3-2 用户信息表(2)商品信息表:涉及商品类型,商品编号,商品价格,商品的产地商品的图片,折扣价格等,具体如下图3-3所示。图3-3 商品信息表(3)订单管理表:包含商品的
16、信息,尚有地单号,以及购买商品的用户的用户名,以及购买商品的时间等,具体的如下图3-4所示。图3-4 订单管理表3.4 重要流程介绍我们所设计的商品的后台管理流程为,第一步,直接登录,然后进入后台管理界面,再一步步的对商品以及用户进行管理。我们创建系统的环节一般为,一方面我们需要编写好所有的数据库表,以及关系表。然后创建一个java的项目,导入使用的数据库的驱动jar包 ,创建一个登陆的界面,再创建一个后台管理界面,然后再对商品进行分类,添加,删除,上架,进行折扣等操作。具体设计如下图3-5所示。 图3-5 大体流程图四.具体设计4.1 三大配置文献重要内容1)Struts.xml文献的配置/
17、products.jsp/products.jsp/products.jsp/index.jspimage/bmp,image/png,image/jpg,image/pjpeg,image/gif,application/vnd.ms-excel202300/upload/products_search_show.jsp/products_show.jsp/admin_products_show.jsp/admin_products_show.jsp/upload_error.jsp/index.jsp/productdetail.jsp/regist_succ.jsp/register.j
18、sp/cartshow.jsp/checkoutsucc.jsp/ordershow.jsp/orderitem_show.jsp通过定义不同的action,可以使JSP页面调用后台程序,是前台程序与后台程序的连接枢纽。2)web.xml文献的配置org.springframework.web.context.ContextLoaderListenerstruts2org.apache.struts2.dispatcher.FilterDispatcherstruts2*.actionstruts2*.jspCheckCodeServletcn.hbpu.util.CheckCodeServl
19、etCheckCodeServlet/authImg该配置文献用来配置控制器,使得JSP页面的action请求都可以通过struts的配置文献找到相应的后台实现程序。其角色是为action提供激活信号。3)applicationContext.xml文献的配置org.hibernate.dialect.MySQLDialecttruetruecn/hbpu/po/Usr.hbm.xmlcn/hbpu/po/Product.hbm.xmlcn/hbpu/po/Orders.hbm.xmlcn/hbpu/po/Orderitem.hbm.xmlPROPAGATION_REQUIRED,readOn
20、lyPROPAGATION_REQUIREDusrDaoproductDaoordersDaoorderitemDAOtransactionInterceptor4.2 前台功能模块4.2.1 数据库连接模块(1)数据库的sql语句百分之九十都是同样的可以共同的操作 SELECT * FROM eb_admin; /*管理员表*/SELECT * FROM eb_customer; /*顾客表*/SELECT * FROM eb_category; /*商品的类别*/SELECT * FROM eb_goods; /*商品 通过cid 和商品类别相关联 */SELECT * FROM eb_g
21、oodsimgs /*商品的图片 通过gid和商品相关联*/SELECT * FROM eb_address; /*地址表 通过userid和 顾客表相关联 我们写的是顾客的地址 */SELECT * FROM eb_orders; /*订单表 通过userid和顾客表相关联 通过gid和商品表相关联 通过addrid和地址表相关联*/ (2)先导入使用的数据库的驱动jar包,如下图4-1所示。再将项目的数据库生成可以查询相应的表,写一个工具类,获取和数据库的链接,我们所做的所有的操作都是需要和数据库获取连接 ,在主函数中测试这个连接类 假如打印出连接的字符串则连接成功 。具体代码如下所示。
22、图4-1 导入包package com.softeem.easybuy.dbhelper;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import sun.applet.Main;/* * 数据库连接工具类 */public class DBUtils private static final String DRIVER=com.mysql.jdbc.Driver;
23、/125.220.74.141private static final String URL=jdbc:mysql:/localhost:3306/easybuy;private static final String USER=root;private static final String PASSWORD=123456;private static Connection conn;private DBUtils();/加载驱动statictry Class.forName(DRIVER); catch (ClassNotFoundException e) e.printStackTrac
24、e();/获取连接public static Connection getConn()try if(conn = null |conn.isClosed()conn = DriverManager.getConnection(URL, USER, PASSWORD); catch (SQLException e) e.printStackTrace();return conn;/关闭资源public static void closeConn(Connection conn)try if(conn != null)conn.close(); catch (SQLException e) e.printStackTrace();public static void main(String args) System.out.println(getConn();4.2.2 用户登录模块具体的代码和登陆界面如下图4-2所示.base href=后台管理-系统登录EasyBuy系统登录input type=text name=uname placeholder=请输入账号 id=box_name class=txt value=用户名 onfocus=this.value