电子商务系统
摘要:
所谓电子商务就是在网上开展商务活动,当企业将它的主要业务通过企业内部网(Intranet)、外部网(Extranet)以及Internet与企业的职员、客户供销商以及合作伙伴直接相连时,其中发生的各种活动就是电子商务。电子商务是基于Internet或局域网、广域网、包括了从销售、市场到商业信息管理的全过程。本系统的开发正符合了这一要求。论文中详细阐述了系统的设计目标、总体架构及各功能模块的详细设计。
关键字:电子商务电子商务网站电子商务系统
一、需求分析
通过对一些典型电子商务网站的考察、分析以及实际的市场调查,要求本系统具有以下功能:
(1)、统一友好的操作界面,能保证系统的易用性。
(2)、规范、完善的基础信息设置。
(3)、商品分类详尽,可按不同类别查看商品信息。
(4)、按商品大类及商品名称进行模糊查询。
(5)、实现网上购物。
(6)、新品及特价商品展示。
(7)、商品销售排行。
二、可行性分析
商业企业在运营过程中,经常会受到以下一些条件的限制:
(1)、产品的宣传受到限制,采购商或顾客只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高。
(2)、庞大的商业经济周转。
(3)、复杂的产品周转渠道。从看样品、谈价格到支付货款等一系列的产品周转渠道过于复杂,企业与顾客之间缺乏全面的沟通与快捷运营的平台。
(4)、商业企业中根据季节的变化,热销商品在销售高峰到来时货源紧张,企业需要实时了解商品的销售情况,保证热销商品的要货满足率。
因此,企业需要重新认识市场、消费者以及自身市场定位,正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来制定长远发展战略,使企业与顾客间的经济活动变得更灵活、更主动。
三、网站目标及定位
本系统在设计时应该满足以下几个目标:
(1)、采用人机对话的操作方式,界面设计美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。全面展示商城内所有商品,并可展示最新商品及特价商品。
(2)、为顾客提供一个方便、快捷的商品信息查询功能。采用模糊查询查询数据。
(3)、会员可以随时修改自己的会员资料。
(4)、实现网上购物。
(5)、商品销售排行,以方便顾客了解本商城内的热销商品及帮助企业领导者做
(6)、出相应的决策。
(7)、查看商城内的公告信息。
(8)、用户随时都可以查看自己的订单。
(9)、对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
(10)、系统最大限度地实现了易维护性和易操作性。
(11)、系统运行稳定、安全可靠。
四、网站技术解决方案
1、项目规划
电子商务系统是一个典型的JSP数据库开发应用程序,由前台商品展示及销售、后台管理2部分组成。
(1)、前台商品展示及销售
该部分主要包括新品上架、特价商品、销售排行、购物车、会员管理、商品公告及订单查询、商品查询等。2
(2)、后台管理
该部分主要对商城内的一些基础数据进行有效管理,包括商品管理、会员管理、订单管理、公告管理等。
2、系统功能结构图
电子商务系统前台功能结构如图1所示。
图1 系统前台功能结构图
电子商务系统后台功能结构如图2所示。
图2 系统后台功能结构图
五、网站内容策划
下面以列表形式给出前台页面各部分的说明信息,如表1所示。
表1 前台页面说明
六、网页设计
1、特价商品模块设计
特价商品模块共有两个入口,一个是网站导航条中的【特价商品】导航按钮,另一个是网站前台的居中位置,分栏列出了商城中特价商品中最新的两条特价商品信息,单击特价商品展区中的“More…”超链接可以进入到特价商品页面,在该页面中将列出商城中的全部特价商品。主要包括商品图片、名称、原价、现价等信息。同时设置了【购买】按钮和【详细信息】按钮,分别用于将商品信息添加至购物车和查看商品详细信息。特价商品模块在网站首页的设计效果如图5所示。
图5 特价商品模块在网站首页的设计效果
(1)查询数据表中的特价商品。特价商品信息同商品基本信息同时保存在商品信息表tb_goods中,以字段sale标识,当sale字段的值为1时,代表该商品为特价商品。在网站首页中查询特价商品的代码如下:
<%@ page import="com.wgh.DB.connDB" %>
<%connDB conn=new connDB(); //创建并实例化connDB的一个对象
ResultSet rs_sale=conn.executeQuery
("select top 2 ID,GoodsName,price,nowprice,picture from tb_goods where sale=1 order by INTime desc");%>
特价商品页面sale.jsp中查询特价商品的代码如下:
<%@ page import="com.wgh.DB.connDB" %>
<%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语句结合求模运算符实现在一个单元格中同时显示两列数据。关键代码如下:<%int s=1;
while (rs_sale.next()){
sale_ID=rs_sale.getInt(1);
s_goodsname=rs_sale.getString(2);
s_price=rs_sale.getFloat(3);
s_nowprice=rs_sale.getFloat(4);
s_picture=rs_sale.getString(5);
if(s%2==1){
%>
…… //此处省略显示商品信息的代码
<%}else{%>
…… //此处省略显示商品信息的代码
<%}
s++;
}%>
2、新品上架模块设计
新品上架模块也有两个入口,一个是网站导航条中的【新品上架】导航按钮,另一个是网站前台的居中位置,列出了商城中上架新品中的最新上市的4条商品信息,单击新品上架展区中的“More…”超链接可以进入到新品上架页面,在该页面中将列出商城中的全部上架新品。主要包括商品图片、名称、现价等信息。同时设置了【购买】按钮和【查看详细信息】按钮,分别用于将商品信息添加至购物车和查看商品详细信息。下面只以首页中的新品上架为例进行介绍。新品上架模块在网站首页中的设计效果如图6所示。
图6 新品上架模块在网站首页中的设计效果
新品上架信息同商品基本信息同时保存在商品信息表tb_goods中,以字段newGoods标识,当newGoods字段的值为1时,代表该商品为上架新品。在网站首页中查询新上架商品的代码如下:
<%@ page import="com.wgh.DB.connDB" %>
<%connDB conn=new connDB();
ResultSet rs_new=conn.executeQuery("select top 4
ID,GoodsName,nowprice,introduce,picture from tb_goods where newGoods=1 order by INTime desc"); %>
3、商品分类模块设计
为了方便用户查询所需商品信息,在网站中设置了商品分类显示模块。在网站首页的右侧以树状菜单的形式列出了商品的大、小分类信息,用户单击大类别结点可以显示出该类的所有小类信息,单击小类结点可以进入到分类商品显示页面查看该类别的全部商品信息,在分类商品显示页面中,单击商品名称可以查看相应商品的详细信息。如果用户已经登录,还可以直接将商品信息添加至购物车中。商品分类模块的页面设计效果如图7所示。
图7 商品分类模块的页面设计效果
实现以树状菜单的形式显示商品的大、小分类信息的关键是获取商品的大分类信息,并分别查询出每个大类所对应的小分类信息,再通过
<%@ page import="com.wgh.DB.connDB" %>
<%connDB conn=new connDB();
ResultSet rs_superType=conn.executeQuery("select ID,superType from V_Type group by ID,superType order by superType desc");%>
…… //此处省略了部分HTML代码
<%int ID_superType=0;
String superType="";
int m=1;
while(rs_superType.next()){
ID_superType=rs_superType.getInt(1);
superType=rs_superType.getString(2);
String sql="select * from V_Type where ID="+ID_superType;
ResultSet rs_subType=conn.executeQuery(sql);
String subType="";
int subID=0;
rs_https://www.doczj.com/doc/ed244626.html,st();
int subType_RC=rs_subType.getRow();
rs_subType.first();%>
<%if(subType_RC<=0){%>
height="16" border="0">
<%=superType%>
<%}else{ %>
id="img<%=m%>">
href="Javascript:ShowTR(img<%=m%>,OpenRep<%=m%>)"><%=superType%>
<%} %>
<%if (subType_RC>0){%>
ShowTR(img1,OpenRep1) //设置第1个结点为展开状态
function ShowTR(objImg,objTr){ //编写自定义函数控制结点的显示或隐藏if(objTr.style.display == ""){
objTr.style.display = "none"; //显示结点
objImg.src = "images/jia.gif";
objImg.alt = "展开";
}else{
objTr.style.display = ""; //隐藏结点
objImg.src = "images/jian.gif";
objImg.alt = "折叠";
}
}
<% }%>
4、会员管理模块设计
在前台的会员管理模块中主要包括会员注册、会员登录、会员资料修改3部分。由于会员资料修改同会员注册的实现方法类似,只是调用的SQL语句不同,所以此处只给出会员注册和会员登录进行介绍。
(1).会员注册
会员注册的入口位于网站首页的左侧。用户单击【注册】按钮即可进入到会员注册页面,该页面的设计效果如图8所示。
图8 会员注册页面设计效果
会员注册模块由两个页面组成,一个是用于收集用户输入的注册信息的会员注册页面,另一个用于将会员注册信息保存到数据表中的处理页。
会员注册页面主要由表单元素组成,比较简单。
将会员注册信息保存到数据表中,首先使用JavaBean中的member类保存客户端输入的会员信息,再通过调用memberDaoImpl中的insert方法将会员信息保存到会员信息表中。在保存会员信息时,还需要判断会员名是否存在,必须保证会员名称的惟一性。保存会员信息的完整代码如下:
<%@ page import="com.wgh.DB.connDB"%>
<%@ page import="com.wgh.dao.MemberDaoImpl" %>
<%connDB conn=new connDB();
request.setCharacterEncoding("gb2312"); //编码转换
String username=member.getUsername();
ResultSet rs=conn.executeQuery("select * from tb_Member where
username='"+username+"'");
if (rs.next()){
out.println("");
}else{
int ret=0;
MemberDaoImpl ins_member=new MemberDaoImpl(); //创建GoodsDaoImpl对象的实例并实例化该对象
ret=ins_member.insert(member); //执行JavaBean“GoodsDaoImpl”中的方法添加商品信息
if (ret!=0){
out.println("");
}else{
out.println("");
}
}%>
(2)、会员登录
会员登录用于网站会员登录本网站进行购物或查看订单情况。会员登录入口位于网站首页的左侧,页面运行结果如图4所示。下面给出会员登录页面的设计效果图和会员登录后的会员登录页面的运行结果,分别如图9、图10所示。
图9 会员登录页面的设计效果图10 会员登录后的会员登录页面的运行结果当用户在登录窗口中输入用户名和密码后,单击【登录】按钮,系统将对输入的用户名和密码进行验证,如果用户输入的用户名存在并且冻结字段的值不为1,则判断用户输入的密码是否正确,如果密码正确,则重新进入网站首页,显示登录用户的用户名、【修改资料】按钮、【退出登录】按钮,否则提示登录失败。会员登录页面的关键代码如下:<%@ page import="com.wgh.DB.connDB"%>
<%@ page import="com.wgh.DB.chStr"%>
<%connDB conn=new connDB(); //创建并实例化connDB的一个对象
chStr chStr=new chStr(); //创建并实例化chStr的一个对象
String username=chStr.chStr(request.getParameter("username"));//此处必须进行编码转换,否则输入中文用户名时将出现乱码
try{
ResultSet rs=conn.executeQuery("select * from tb_Member where
username='"+username+"' and freeze=0");
if(rs.next()){
String PWD=request.getParameter("PWD");
if(PWD.equals(rs.getString("password"))){ //判断用户输入的密码是否正
确
session.setAttribute("username",username); //为session变量username赋值
response.sendRedirect("index.jsp"); //将页面重定向到index.jsp页面}else{
out.println("");
}
}else{
out.println("");
}
}catch(Exception e){
out.println("");
}
conn.close(); //关闭相关连接%>
六、结论:
2001年就快过去的时候,在圣诞新年之际的漫天风雪中,西方突然刮起了一股B2C的热风。在西方零售业的一片哀号中,网上零售业却一片捷报。华尔街已经吹风说,几乎在过去的一年里要被口水淹没的亚马逊(Amazon),在震天价的嘲笑和讨伐声中即将悄悄迎来它的第一个赢利季节。如果真的如此,那么,曾经是英雄,后来几乎就是吹牛大王代名词的贝索斯预言的这个时间很准确。2001年第四季度,https://www.doczj.com/doc/ed244626.html,的销售成长12%、Yahoo的整个财年的营销大幅度下滑,B2C却成长了83%,就连一向懒散保守,视街头漫步为生活乐趣的法国人居然也开始回到家里网上购物了。最近eBaY漂亮的财务报告在寒风萧瑟的华尔街大放光芒,也让人大吃一惊。
最近CNNIC的调查结果显示从绝对数量来看,它居然已经达到了欧洲大部分国家全国人口的平均数量,而且继续保持非常高的增长率。从网上消费者的现实情况来看,这个比例和西方网民中B2C用户的比例已经十分接近。再看一下绝对数值就会发现,去年有1065万的中国人在网络上购买了商品,如果今年的增长幅度保守地估计是40%的话,将接近1500万人,几乎是法国网上购物人群的4倍,并迅速逼近Amazon的全世界注册用户数量。我们三年来的实践表明,每个中国网上消费者的年平均消费在300元左右。这样,今年将有45亿的市场容量,这个数值已经相当的可观了。几乎相当于北京前几名大型商业企业年销售量的总和!但在网上仍然活跃B2C网站去屈指可数,综合型的B2C网站似乎只有https://www.doczj.com/doc/ed244626.html,。
前一段时间,舆论流行一种说法,中国用户对B2C的信心已经受到重创。但是下面的调查结果却让人“大失所望“,半数以上的被调查者仍然认为网上购物是将来最有希望的网上事业,显示中国网络用户对网上购物事业的信心一点也不含糊。
参考文献:
1.JSP数据库系统开发完全手册人民邮电出版社 2006年3月
2.Delphi数据库系统开发完全手册人民邮电出版社 2006年3月
3.Visual Basic数据库系统开发完全手册人民邮电出版社 2006年3月4.Visual C++数据库系统开发完全手册人民邮电出版社 2006年3月
5.SQL Server数据库开发实例解析机械工业出版社宋昆 2006年1月6.Access数据库开发实例解析机械工业出版社李俊民、高春燕等 2006年1月