《电子商务系统》论文.doc_第1页
《电子商务系统》论文.doc_第2页
《电子商务系统》论文.doc_第3页
《电子商务系统》论文.doc_第4页
《电子商务系统》论文.doc_第5页
免费预览已结束,剩余24页可下载查看

下载本文档

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

文档简介

吉林省明日科技有限公司监制电子商务系统学 院专 业班 级学 号姓 名指导教师教师职称年月日 25 摘要【摘要】所谓电子商务就是在网上开展商务活动,当企业将它的主要业务通过企业内部网(Intranet)、外部网(Extranet)以及Internet与企业的职员、客户供销商以及合作伙伴直接相连时,其中发生的各种活动就是电子商务。电子商务是基于Internet或局域网、广域网、包括了从销售、市场到商业信息管理的全过程。本系统的开发正符合了这一要求。论文中详细阐述了系统的设计目标、总体架构及各功能模块的详细设计。【关键词】 电子商务 电子商务网站 电子商务系统目录摘要10 引言11 系统分析21.1 需求分析21.2 可行性分析22 总体设计22.1 项目规划22.2 系统功能结构图23 系统设计33.1 设计目标33.2 开发及运行环境43.3 数据库设计44 JavaBean的编写54.1 数据库操作的JavaBean的编写54.2 字符串处理的JavaBean的编写84.3 商品JavaBean的编写94.4 保存购物信息的JavaBean的编写94.5 对商品信息操作的接口的JavaBean的编写104.6 对商品信息操作的JavaBean的编写105 网站前台主要功能模块设计115.2 网站前台首页设计115.3 特价商品模块设计135.4 新品上架模块设计145.5 商品分类模块设计155.6 会员管理模块设计165.7 销售排行模块设计25附录A 参考文献附录B 数据表附录C 文件架构图0 引言随着中国市场经济的日趋成熟,中国企业面对的竞争压力也越来越大,企业要想生存,就必须充分利用信息化手段来提高管理效率及市场响应速度。电子商务是在互联网开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。电子商务做为一种独立的经济形态,已初具规模,一些电子商务网站的成立,给人们的生活带来了巨大的影响。如何建立企业的电子商务,如何把企业业务建在Internet上,涉及到建立电子商务网站、开发符合Internet特点的有效的业务应用、管理网上的交易信息、保证网上数据安全、快速反映市场变化以及充分满足Internet业务进一步发展的要求等等。对一个运营商业企业来说,电子商务网站是其生存的理由和基础,同时也是企业对外展示信息、从事商务活动的窗口和界面。如何设计、建立一个经济、实用、安全、高效、稳定的网站是每个电子商务网站必须考虑的问题。而要解决好这些问题,就必须在提高企业内部管理效率、充分利用企业内部资源的基础上,从整体上降低成本,加快对市场的响应速度,提高服务质量,提高企业的竞争力。但是企业在利用信息化技术时,必须要考虑成本、技术难度、创造的价值等几个方面。1 系统分析1.1 需求分析通过对一些典型电子商务网站的考察、分析以及实际的市场调查,要求本系统具有以下功能:q 统一友好的操作界面,能保证系统的易用性。q 规范、完善的基础信息设置。q 商品分类详尽,可按不同类别查看商品信息。q 按商品大类及商品名称进行模糊查询。q 实现网上购物。q 新品及特价商品展示。q 商品销售排行。1.2 可行性分析商业企业在运营过程中,经常会受到以下一些条件的限制:q 产品的宣传受到限制,采购商或顾客只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高。q 庞大的商业经济周转。q 复杂的产品周转渠道。从看样品、谈价格到支付货款等一系列的产品周转渠道过于复杂,企业与顾客之间缺乏全面的沟通与快捷运营的平台。q 商业企业中根据季节的变化,热销商品在销售高峰到来时货源紧张,企业需要实时了解商品的销售情况,保证热销商品的要货满足率。因此,企业需要重新认识市场、消费者以及自身市场定位,正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来制定长远发展战略,使企业与顾客间的经济活动变得更灵活、更主动。2 总体设计2.1 项目规划电子商务系统是一个典型的JSP数据库开发应用程序,由前台商品展示及销售、后台管理2部分组成。q 前台商品展示及销售该部分主要包括新品上架、特价商品、销售排行、购物车、会员管理、商品公告及订单查询、商品查询等。q 后台管理该部分主要对商城内的一些基础数据进行有效管理,包括商品管理、会员管理、订单管理、公告管理等。2.2 系统功能结构图电子商务系统前台功能结构如图1所示。图1 系统前台功能结构图电子商务系统后台功能结构如图2所示。图2 系统后台功能结构图3 系统设计3.1 设计目标本系统在设计时应该满足以下几个目标:q 采用人机对话的操作方式,界面设计美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。q 全面展示商城内所有商品,并可展示最新商品及特价商品。q 为顾客提供一个方便、快捷的商品信息查询功能。采用模糊查询查询数据。q 会员可以随时修改自己的会员资料。q 实现网上购物。q 商品销售排行,以方便顾客了解本商城内的热销商品及帮助企业领导者做出相应的决策。q 查看商城内的公告信息。q 用户随时都可以查看自己的订单。q 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。q 系统最大限度地实现了易维护性和易操作性。q 系统运行稳定、安全可靠。3.2 开发及运行环境硬件平台:q CPU:P41.8GHz;q 内存:256MB以上。软件平台:q 操作系统:Windows 2000 Server;q 数据库:SQL Server 2000;q 开发工具包:JDK Version1.4.2;q JSP服务器:Tomcat 5.0;q 浏览器:IE5.0及以上版本,推荐使用IE6.0;q 分辨率:最佳效果1024768。3.3 数据库设计本系统数据库采用SQL Server 2000数据库,系统数据库名称为db_shop,共包含9张表。关于数据库中的数据表请参见附录B。4 JavaBean的编写根据系统的需求编写需要的JavaBean。下面将给出Go购电子商城中所需要的JavaBean的编写过程。4.1 数据库操作的JavaBean的编写数据库操作的JavaBean是一个公共类,通常包括连接数据库的方法getConnection、执行查询语句的方法executeQuery、执行更新操作的方法executeUpdate、关闭数据库连接的方法close。下面将给出编写Go购电子商城中的数据库操作的JavaBean“connDB”的实现过程。(1)指定JavaBean“connDB”保存的包,并导入所需的类包,并将其保存到“com.wgh.DB”包中,代码如下:package com.wgh.DB; /将该类保存到com.wgh.DB包中import java.sql.*; /导入提供基本的数据库编程服务的包import java.io.*; /导入提供与设备无关的输入、输出流支持的包import java.util.*; /导入提供实用方法和数据结构的类包(2)在构造方法connDB中定义该类中所需的变量。通常将方法中常用的变量均放在构造方法中。构造方法connDB的代码如下:public class connDB public Connection conn = null; /定义一个Connection对象 public Statement stmt = null; /定义一个Statement对象 public ResultSet rs = null; /定义一个ResultSet对象 private static String propFileName = C:/connDB.properties; /定义保存properties文件的路径的静态变量 private static Properties prop = new Properties(); /创建一个Properties对象的实例并实例化该对象 private static String dbClassName = com.microsoft.jdbc.sqlserver.SQLServerDriver; /保存驱动类的类名的变量 private static String dbUrl = jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=db_shop;/保存连接数据库的URL地址的变量 private static String dbUser = sa; /保存SQL Server登录用户名的变量 private static String dbPwd = ; /保存SQL Server登录密码的变量(3)为了方便程序移植,我将数据库连接所需信息保存到properties文件中。connDB.properties文件的内容如下:#DB_CLASS_NAME(驱动的类的类名)=com.microsoft.jdbc.sqlserver.SQLServerDriverDB_CLASS_NAME=com.microsoft.jdbc.sqlserver.SQLServerDriver#DB_URL(要连接数据库的地址)=jdbc(JDBC模式):microsoft(谁提供的):sqlserver(产品):/localhost:1433(SQL SERVER默认端口);DatabaseName=db_databaseDB_URL=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=db_shop#DB_USER=sa拥护名字DB_USER=sa#DB_PWD(用户密码)=DB_PWD=定义loadProperty方法读取properties文件中的数据库连接所需信息。读取数据库连接所需信息时,可能发生异常,因此需要捕获这个异常。loadProperty方法的代码如下: private static void loadProperty() try prop.load(new FileInputStream(propFileName); /通过文件输入流对象加载Properties文件 dbClassName = prop.getProperty(DB_CLASS_NAME); /读取驱动类的类名 dbUrl = prop.getProperty(DB_URL, jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=db_shop); /读取数据库的URL地址 dbUser = prop.getProperty(DB_USER, sa); /读取SQL Server登录用户名 dbPwd = prop.getProperty(DB_PWD, ); /读取SQL Server登录密码 catch (Exception e) e.printStackTrace(); (4)创建连接数据库的方法getConnection,该方法返回Connection对象的一个实例。getConnection方法的代码如下: public static Connection getConnection() Connection conn = null; loadProperty(); /通过loadProperty方法读取properties文件中的数据库连接所需信息 try Class.forName(dbClassName).newInstance(); /调用Class的forName方法加载驱动程序 conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); catch (Exception ee) ee.printStackTrace(); if (conn = null) System.err.println( 警告: DbConnectionManager.getConnection() 获得数据库链接失败.rnrn链接类型: + dbClassName + rn链接位置: + dbUrl + rn用户/密码 + dbUser + / + dbPwd); return conn; (5)创建执行查询语句的方法executeQuery,返回值为ResultSet结果集。executeQuery方法的代码如下: public ResultSet executeQuery(String sql) try conn = getConnection(); /调用getConnection()方法构造Connection对象的一个实例conn stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery(sql); catch (SQLException ex) System.err.println(ex.getMessage(); return rs; (6)创建执行更新操作的方法executeUpdate,返回值为int型的整数,代表更新的行数。executeQuery方法的代码如下: public int executeUpdate(String sql) int result = 0; try conn = getConnection(); /调用getConnection()方法构造Connection对象的一个实例conn stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); result = stmt.executeUpdate(sql); /执行更新操作 catch (SQLException ex) result = 0; try stmt.close(); /关闭Statement对象 catch (SQLException ex1) return result; (7)创建执行更新操作,并返回该操作中自动编号字段的自动编号的方法executeUpdate_id。executeUpdate_id方法的代码如下: public int executeUpdate_id(String sql) int result = 0; try conn = getConnection(); /调用getConnection()方法构造Connection对象的一个实例conn stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); result = stmt.executeUpdate(sql); String ID = select IDENTITY as id; rs = stmt.executeQuery(ID); if (rs.next() int autoID = rs.getInt(id); result = autoID; catch (SQLException ex) result = 0; return result; (8)创建关闭数据库连接的方法close。close方法的代码如下: public void close() try if (rs != null) rs.close(); /关闭ResultSet结果集 catch (Exception e) e.printStackTrace(System.err); try if (stmt != null) stmt.close(); /关闭Statement catch (Exception e) e.printStackTrace(System.err); try if (conn != null) conn.close(); /关闭Connection catch (Exception e) e.printStackTrace(System.err); 4.2 字符串处理的JavaBean的编写字符串处理的JavaBean是解决程序中经常出现的有关字符串处理问题的方法的类。包括将数据库中及页面中有中文问题的字符串进行正确的显示和存储的方法chStr和将字符串中的回车换行、空格及HTML标记符正确显示的方法convertStr两个方法。下面是编写Go购电子商城中的字符串处理的JavaBean“chStr”的详细过程。(1)编写解决输出中文乱码问题的方法chStr。chStr方法的代码如下: public String chStr(String str) if(str=null) str=; else try str=(new String(str.getBytes(iso-8859-1),GB2312).trim(); catch(Exception e) e.printStackTrace(System.err); return str; (2)编写显示文本中的回车换行、空格及保证HTML标记的正常输出的方法convertStr。convertStr方法的代码如下: public String convertStr(String str1) if(str1=null) str1=; else try str1=str1.replaceAll(,>); str1=str1.replaceAll( , ); str1=str1.replaceAll(rn,); catch(Exception e) e.printStackTrace(System.err); return str1; 4.3 商品JavaBean的编写商品JavaBean就是对商品实体的抽象,它包含了商品实体的所有属性及商品对象的初始化构造的方法。package commerce;public class goods private Integer ID=Integer.getInteger(-1); /商品ID号 private int typeID=-1; /商品类别ID private String goodsName=; /商品名称 private String introduce=; /商品简介 private float price=(float)0.0; /商品定价,此处必须强制类型转换 private float nowPrice=(float)0.0; /商品现价,此处必须强制类型转换 private String picture=; /商品图片 private int newGoods=-1; /是否为新品 private int sale=-1; /是否特价 public void goods() /商品类的构造方法,此方法不能省略 public Integer getID() /获取商品ID return ID;public void setID(Integer ID) /设置商品ID this.ID=ID; /此处省略了控制商品信息其他属性的属性接口的代码public int getSale() /获取商品是否为特价商品 return sale;public void setSale(int sale) /设置商品是否为特价商品this.sale = sale;4.4 保存购物信息的JavaBean的编写保存购物信息的JavaBean主要在实现购物车时应用,在类中定义商品的属性。保存购物信息的JavaBean“goodselement”的代码如下:package commerce; public class goodselement public int ID; /商品ID public float nowprice; /现价 public int number; /数量 4.5 对商品信息操作的接口的JavaBean的编写对商品信息操作的接口的JavaBean的代码如下:package com.wgh.dao;import commerce.goods; /导入商品JavaBeanpublic interface GoodsDao public int insert(goods g); /定义插入方法 public int update(goods g); /定义更新方法 public int delete(goods g); /定义删除方法4.6 对商品信息操作的JavaBean的编写对商品信息操作的JavaBean实现了GoodsDao接口中对商品信息添加的方法insert、修改的方法update、删除的方法delete。对商品信息操作的JavaBean“GoodsDaoImpl”的代码如下:package com.wgh.dao;import commerce.goods; /导入商品JavaBeanimport com.wgh.DB.chStr; /导入字符串处理的JavaBeanimport com.wgh.DB.connDB; /导入数据库操作的JavaBeanpublic class GoodsDaoImpl implements GoodsDao /声明GoodsDaoImpl类使用的接口 connDB conn = new connDB(); /实例化connDB类的一个对象 chStr chStr = new chStr(); /实例化connDB类的一个对象 public int insert(goods g) int ret = -1; try String sql = Insert into tb_goods (TypeID,GoodsName,Introduce,Price,nowPrice,picture,newgoods,sale) values( + g.getTypeID() + , + chStr.chStr(g.getGoodsName() + , + chStr.chStr(g.getIntroduce() + , + g.getPrice() + , + g.getPrice() + , + chStr.chStr(g.getPicture() + , + g.getNewGoods() + , + g.getSale() + ); ret = conn.executeUpdate(sql); /执行更新操作 catch (Exception e) ret = 0; conn.close(); return ret; public int update(goods g) /实现GoodsDao 接口中的update方法,对商品数据表进行更新操作 int ret = -1; try String sql = update tb_Goods set TypeID= +g.getTypeID() + ,GoodsName= + chStr.chStr(g.getGoodsName() + ,introduce= + chStr.chStr(g.getIntroduce() + ,price= + g.getPrice() + ,nowprice= + g.getNowPrice() +,picture= + chStr.chStr(g.getPicture()+ ,newgoods= + g.getNewGoods() + ,sale= + g.getSale() + where ID= + g.getID(); ret = conn.executeUpdate(sql); /执行更新操作 catch (Exception e) ret = 0; conn.close(); return ret; public int delete(goods g) /实现GoodsDao接口中的delete方法,对商品数据表进行删除操作 int ret=-1; try String sql=Delete from tb_goods where ID=+g.getID(); ret=conn.executeUpdate(sql); catch(Exception e) ret=0; conn.close(); /关闭数据库的连接 return ret; 5 网站前台主要功能模块设计5.2 网站前台首页设计在Go购电子商城的首页中,用户不但可以在第1时间内掌握商城推出的特价商品、上架新品、最新公告等,还可以查看销售排行、搜索指定商品、商品分类查询等。Go购电子商城前台首页的运行结果如图4所示。1234567891011图4 网站前台首页的运行结果下面以列表形式给出前台页面各部分的说明信息,如表1所示。表1 前台页面说明区域名称说明对应文件1网站导航主要展示网站的旗帜广告和站内导航条navigation.jsp2用户登录主要用于会员登录和提供会员注册的入口left.jsp3商品搜索主要用于按商品的大分类模糊查询商品信息search.jsp4商城公告主要用于显示网站最新公告left.jsp5特价商品用于显示最新的两条特价商品的信息index.jsp6商品分类按类别展示商品信息right.jsp7销售排行显示商城中销售量最好的10种商品left.jsp8商品上架主要用于显示最新上架的4种商品信息index.jsp9广告招商位用于显示网站的广告招商信息right.jsp10后台登录入口网站后台登录入口copyright.jsp11版权信息显示网站版权信息copyright.jsp5.3 特价商品模块设计特价商品模块共有两个入口,一个是网站导航条中的【特价商品】导航按钮,另一个是网站前台的居中位置,分栏列出了商城中特价商品中最新的两条特价商品信息,单击特价商品展区中的“More”超链接可以进入到特价商品页面,在该页面中将列出商城中的全部特价商品。主要包括商品图片、名称、原价、现价等信息。同时设置了【购买】按钮和【详细信息】按钮,分别用于将商品信息添加至购物车和查看商品详细信息。特价商品模块在网站首页的设计效果如图5所示。图5 特价商品模块在网站首页的设计效果(1)查询数据表中的特价商品。特价商品信息同商品基本信息同时保存在商品信息表tb_goods中,以字段sale标识,当sale字段的值为1时,代表该商品为特价商品。在网站首页中查询特价商品的代码如下:特价商品页面sale.jsp中查询特价商品的代码如下:%connDB conn=new connDB();ResultSet rs=conn.executeQuery(select ID,GoodsName,Introduce,price,nowprice,picture from tb_goods where sale=1 order by GoodsName);(2)制作显示特价商品信息部分。在网站首页中显示特价商品信息采用了分栏技术,也就是应用if语句结合求模运算符实现在一个单元格中同时显示两列数据。关键代码如下: /此处省略显示商品信息的代码 /此处省略显示商品信息的代码5.4 新品上架模块设计新品上架模块也有两个入口,一个是网站导航条中的【新品上架】导航按钮,另一个是网站前台的居中位置,列出了商城中上架新品中的最新上市的4条商品信息,单击新品上架展区中的“More”超链接可以进入到新品上架页面,在该页面中将列出商城中的全部上架新品。主要包括商品图片、名称、现价等信息。同时设置了【购买】按钮和【查看详细信息】按钮,分别用于将商品信息添加至购物车和查看商品详细信息。下面只以首页中的新品上架为例进行介绍。新品上架模块在网站首页中的设计效果如图6所示。图6 新品上架模块在网站首页中的设计效果新品上架信息同商品基本信息同时保存在商品信息表tb_goods中,以字段newGoods标识,当newGoods字段的值为1时,代表该商品为上架新品。在网站首页中查询新上架商品的代码如下:5.5 商品分类模块设计为了方便用户查询所需商品信息,在网站中设置了商品分类显示模块。在网站首页的右侧以树状菜单的形式列出了商品的大、小分类信息,用户单击大类别结点可以显示出该类的所有小类信息,单击小类结点可以进入到分类商品显示页面查看该类别的全部商品信息,在分类商品显示页面中,单击商品名称可以查看相应商品的详细信息。如果用户已经登录,还可以直接将商品信息添加至购物车中。商品分类模块的页面设计效果如图7所示。图7 商品分类模块的页面设计效果实现以树状菜单的形式显示商品的大、小分类信息的关键是获取商品的大分类信息,并分别查询出每个大类所对应的小分类信息,再通过标记和JavaScript自定义函数实现结点的显示和隐藏,关键代码如下: /此处省略了部分HTML代码 %if(subType_RC  a href=Javascript:ShowTR(img,OpenRep)img src=images/jia.gif border=0 alt=展开 id=imga href=Javascript:ShowTR(img,OpenRep) 0)% tr id=OpenRep style=display:none; /此处省略了页面布局的HTML代码 ShowTR(img1,OpenRep1) /设置第1个结点为展开状态function ShowTR(objImg,objTr) /编写自定义函数控制结点的显示或隐藏if(objTr.style.display = )objTr.style.display = none; /显示结点objImg.src = images/jia.gif;objImg.alt = 展开;elseobjTr.style.display = ; /隐藏结点objImg.src = images/jian.gif;objImg.alt = 折叠; 5.6 会员管理模块设计在前台的会员管理模块中主要包括会员注册、会员登录、会员资料修改3部分。由于会员资料修改同会员注册的实现方法类似,只是调用的SQL语句不同,所以此处只给出会员注册和会员登录进行介绍。1会员注册会员注册的入口位于网站首页的左侧。用户单击【注册】按钮即可进入到会员注册页面,该页面的设计效果如图8所示。

温馨提示

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

评论

0/150

提交评论