验证,用ajax的post方法请求后台checkLogin这个servlet,获取定义servlet中了两个变量flag和number,flag设为0,表示用户名不存在,1表示用户名存在密码错误,2表示验证通过3表示验证码错误,number设为0,0表示用户名不存在,1表示用户名存在密码错误,2表示验证通过,调用checkUser里面的find()方法,执行selcet语句,通过用户名查询数据库中对应的用户对象,通过验证获得num的值,返回到checkLogin,在进行if判断,得到flag的值。用户登录,登陆界面如图4-3所示。
图4-3 用户登陆图
前台登录使用submit这个点击登录按钮触发的事件,用ajax的post方法请求后台登陆检查checkLogin这个servlet,定义servlet中了两个变量flag和number,String flag=\,int number=0,flag设为0,表示用户名不存在,1表示用户名存在密码错误,2表示验证通过3表示验证码错误,number设为0,0表示用户名不存在,1表示用户名存在密码错误,2表示验证通过,调用检查用户checkUser类里面的find()方法,执行selcet查询语句,查询出来的结果以结果集返回,然后遍历结果集while(rs1.next()){num=2;}通过用户名查询数据库中对应的用户对象,通过验证获得num的值,返回到checkLogin,在进行if判断,得到flag的值。
number=checkUser.find(yhm, mm); if(!yzm1.equals(yzm2)){ flag=\
}else if(yzm1.equals(yzm2) && number==0){ flag=\
第 21 页 共 34页
}else if(yzm1.equals(yzm2) && number==1){ flag=\
}else if(yzm1.equals(yzm2) && number==2){ flag=\}
然后创建一个session,把用户明和密码放入session中,以备下一个页面进行提取应用HttpSession session=request.getSession(),session.setAttribute(\ion.setAttribute(\。
4.2.2 商品管理模块
进入主页面后,用户可以根据自己喜好浏览页面上的商品,通过无序列表实现了页面上的菜单功能,还可以根据商品名称进行搜索。商品显示页面如图4-4所示。
图4-4 商品显示图
前台页面qt_main.jsp中没有任何数据,是通过qt_main.js中的ajax获得数据的,$.getJSON(\跳到主页面图片的Servlet中,该类中定义一个map,里面放了四种商品,value是四种商品的list集合。
Map
第 22 页 共 34页
map.put(\
Gson gson=new Gson();//将map以json的格式返回到页面 out.print(gson.toJson(map));
通过ZYMTuPCl类中getRxlist()方法跳转的对应的热销产品的实现类中,再通过sql语句select * from t_spxx where rxzt=1 and rownum<=5查找到商品,然后循环遍历商品,把商品再放到list中。最后通过ajax循环变量商品信息并将商品输出到页面中。
for(var item in data){ if(item==\var rxsp=data[item];
for(var i=0;i var str=\\ \元'/>\ $(\ 将商品显示到主页面后,可以点击商品通过商品编号显示商品的具体信息,商品信息如图4-5所示。 图4-5 商品信息图 具体商品显示页面中的值是在js中取的,先定义一个临时商品变量tmpspbh,用ajax的get方式请求,当进入页面是加载ShowSpService这个Servlet,先获得从商品显示页面 第 23 页 共 34页 ShowSp.jsp传递过来的商品编号,根据商品编号从后台商品信息表中查询到这个商品编号的商品,创建一个商品的对象sp,把遍历的商品放入这个new的新对像中,先判断结果集是否为空,如果为空先遍历结果集rs.next(),再判断传递过来的商品是否为空,不为空的话将tmpspbh和sp进行比较,再把tmpspbh赋值给sp,最后将它以json格式输出到jsp页面中。$.get(\$(\ttr(\);$(\(\);},\ 4.2.3 购物车管理模块 将商品具体信息显示出来之后就可以将商品加入购物车了,也可以选择一键购买,购物车页面如图4-6所示。 图4-6 购物车图 购物车原理是用session实现的,session里面放了一个list。加入购物车的流程是:先在showSp.js中用val()方法获取元素的值,定义一个String类型的变量var str =\spys=\+ spys;设置它的属性$(\).attr(\,str);跳转到加入购物车的那个Servlet,用request获取从页面传递过来的参数值,新建一个session,定义一个购物车cart,将其放入session中,将其转换成ShoopingCart。删除购物车要调用购物车实体类ShoopingCart里面的remoreSp()方法,若要展示购物车,先判断购物车是否为空,如果不为空则遍历返回的list。 第 24 页 共 34页 HttpSession session = request.getSession(false); //将cart转换成ShoopingCart类型 ShoopingCart cart = (ShoopingCart) session.getAttribute(\if(cart!=null && \删除购物车 cart.remoreSp(spbh); if(cart.getCartList().size()==0){ session.removeAttribute(\}else{ session.setAttribute(\//使用重定向技术跳转跳到购物车页面 response.sendRedirect(\return;} 如果在没有登陆的前提下先浏览了商品,然后直接点击一键购买,是不能实现的,一般登陆之后就需要重新挑选商品,本系统中使用了一个action标志,来标记刚浏览过的商品,跳到登陆页面登陆之后会直接跳到刚刚浏览到的页面,不需要重新浏览了。var str=\\根据id获取到一键购买,然后对此元素的属性进行设置$(\。 4.2.4 订单管理模块 将商品加入购物车之后去结算,提交用户的一些信息,就可以提交订单将数据插入到后台订单明细表中,之后生成订单,订单页面如果4-7所示。 图4-7 订单查询图 点击删选按钮时,触发一个click事件,跳转到订单查询的那个servlet,获取页面传递 第 25 页 共 34页