JSP+Access 网上购物系统 第6页
如果用户还不是会员则提示用户进行注册,用户提交信息之后,系统开始判断用户的注册信息是否有效,首先是用户名是否为空,(该处存在用户名命名规则的问题,后面问题中会详细解决)用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。
注册页面的效果图如下:
图5.3注册页面示意图
系统对用户的注册信息的验证实现如下:
用户输入的各项信息分别对应字段
user_name,user_pass,user_pass2,user_adds,
user_tel,user_mail,user_postcode;
先判断用户名是否为空request.getParameter("user_name").equals("")
如果不为空则将该值传给变量user_name user_name=getStr(request.getParameter("user_name"));
同样道理对密码进行判断
request.getParameter("user_pass").equals(""))
request.getParameter("user_pass2").equals(""))
判断两次输入是否一致user_pass.equals(user_pass2)
其他选项与上面类似,如果条件符合则将该值赋给各个字段
用户名重复的验证代码为:
sql="select * from member where user_name='"+user_name+"'";
rs=mdb.executeQuery(sql);
if(rs.next()){
errmsg=errmsg+"用户名已被别人注册";
founderr=true;
}
当所有条件都符合的时候,系统将数据写入数据表,并返回成功页面,显示用户所填的注册信息,写入关键语句为:
sql="Insert into member(user_name,user_pass,user_adds,user_mail,user_tel,user_regip,user_namec)values('"+user_name+"','"+user_pass+"','"+user_adds+"','"+user_mail+"','"+user_tel+"','"+request.getRemoteHost()+"','"+getStr(request.getParameter("user_namec")))";
用户在注册之后也可以对自己的资料进行修改,在点击主页面的修改资料之后,弹出这样的一个页面,用户可以直接在文本框里修改,然后确认。
图5.4用户资料修改示意图
修改这一过程的具体实现过程为
user_name=request.getParameter("user_name");
sql="select * from member where user_name='"+user_name+"'";
ResultSet rs;rs=mdb.executeQuery(sql);
根据用户名将该用户的所有信息列出来,以供用户修改,
修改的方法采用的是rs.updateString("user_pass",user_pass);其他的类似。
5.3.3 购物车模块的实现
当用户登陆成功以后,如果找到了希望定购的物品,在点击物品下方的定购以后,系统会弹出一个新的页面,显示该物品已经添加进购物车,然后用户需要选择定购的数量。页面效果如下:
图5.5购物车示意图
在点击确认以后,该物品信息被后台添加到购物车表即basket表中,如果用户需要继续购物,可以继续选择,不断添加,系统会自动将所有信息写入basket表,同时显示用户所购买的物品列表,及合计价格。
其具体代码实现过程为:
从session中取得该用户的信息
user_name=(String)session.getValue("user_name");
user_type=(String)session.getValue("user_type");
对商品的信息进行提取以写入购物车表
String hw_ids=request.getParameter("hw_id");
String counts=request.getParameter("count");
String hw_cashs=request.getParameter("hw_cash");
hw_name=request.getParameter("hw_name");
具体的写入语句为:
sql="insert into basket(hw_id,user_name,basket_count,hw_name,hw_cash)";
sql=sql+"values('"+hw_ids+"','"+user_name+"','"+counts+"','"+hw_name+"','"+hw_cashs+"')";
mdb.executeInsert(sql);
如果用户在去收银台结帐前对已经选购的物品不满意时,可选择清空购物车,同时系统也将basket表中相关信息删除。用户完成选购之后,可点击收银台付款,系统返回最终选购物品列表和合计价格,如图所示:
图5.6收银台结帐示意图
该步骤实现的关键语句为:
String user_name=(String)session.getValue("user_name");
String sql="select * from basket where user_name='"+user_name+"'and basket_check=false";
ResultSet rs;rs=mdb.executeQuery(sql);
系统只统计basket_check为否的该用户选购的商品信息。
用户再一次确认后,系统会显示购物成功并返回给用户一个定购单号,提示用户填写收货人详细信息,包括姓名、地址、邮编、邮箱、电话、付款方式、备注等信息,这些信息是系统自动从用户表中提取出来的,用户可以修改
图5.7定货单示意图
这一步的具体实现与用户资料修改类似,都是先将该用户的相关资料从数据库中调出来sql6="select * from member where user_name='"+(String)session.getValue("user_name")+"'";然后使用方法update对表中各项信息进行修改。
确认后,系统弹出提交成功页面,
图5.8 订货成功示意图
该页面也就是将用户提交的订单信息返回,并产生了一个唯一订单号,以方便用户查询,这个订单号的产生,并不是随机产生的,而是使用了一定的规则,在这里主要是根据用户名和订单产生的时间来生成订单号,具体的代码如下:
String sub_number="";
String now=(String)((new java.util.Date()).toLocaleString());
sub_number=user_name+now;
相类似的,系统中的其他类似字段也可以使用这样规则来产生随机编号,以方便管理
5.3.4后台管理模块的实现
网上购物系统除了能够让用户实现前台的浏览和购物等操作之外,还必须能够使管理人员能够对系统的各种信息进行文护,比如商品的增加、删除、修改,会员的审查,网站新闻的更新等等。管理功能是网上购物系统相当重要的一部分功能。
管理员可以通过主页面的“管理进入”进入系统后台进行文护,点击之后,首要的就是进行身份验证,输入正确的帐号,密码之后,方能进入。由于涉及到交易,出于安全性考虑,管理员帐号应尽量少分配,密码也要尽量复杂,经常更换。
进入之后系统管理的主页面 采用了框架结构,左边是一个树型菜单,右边显示具体信息。
管理的主要功能有商品信息的更新,会员信息文护,网站信息文护,广告链接设置等四大块,商品信息管理,主要就是添加新的商品,删除和修改已经添加的商品。如下图所示: 图5.9 商品管理界面
这一部分的实现也没有新的方法,使用的依然是一些sql语句来对相关数据进行添加和修改,添加的关键的sql语句为:
sql="insert into hw (hw_name,hw_content,hw_content2,hw_cash,sort_id,Nsort_id,company,daili,pifa,hw_sn,chubsh,kaiben,yeshu,";
sql=sql+"data,isbn,zhuang,hw_pic,tuijian,jia)";
sql=sql+"values('"+hw_name+"','"+hw_content+"','"+hw_content2";
sql=sql+"','"+zhuang+"','"+hw_pic+"',"+btuijian+","+bjia+")";
mdb.executeInsert(sql);
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页