JSP+Access 网上购物系统 第6页

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] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有