一个面试题,关于购物网站的
今天面试的时候,别人看了我的简历后问了我一个问题(我简历上写了一个网上购物的网站的项目),当一个用户在购物完了之后,在生成订单的时候,系统提示未登录,假如你是一个没有帐号的用户,页面跳转到登录页面(旁边有一个注册的链接)
你肯定会去注册,如何实现在你注册成功之后查看购物车,你之前购买的东西还在
购物车中这个功能?我当时回答说要么用COOKIES,或者用SESSION,我不知道用cookies怎么实现,特别是你购物的商品列表集合怎么存放,哪位大侠能告诉我一下怎么实现
,如果嫌麻烦,给我实现的思路就OK了,小弟先谢了!
------解决方案--------------------晕~~~~~~
没有注册就不应当让用户进入到购物页面,加个过滤器或在登入后的每一页中都判断一下用户的账号和密码,把用户屏蔽在登入页面,只有当用户输入正确的用户名和密码才能进行购物......
购物车应当放在Session中,到最后用户要结帐的时候你应当再把用户所购买的东西全都列出来,前面加个复选框,给用户一个反悔的机会,最后结账......
------解决方案--------------------楼上说的没错!呵呵
------解决方案--------------------建议
所有用户:
Map m1 = new HashMap();
Map m2 = new HashMap();
Map m3 = new HashMap();
Map m4 = new HashMap();
m1.put( "bag ",m2);
m1.put( "message ",m3);
m1.put( "style ",m4);
session.setAttribute( "map ",map);
到时登陆了,就把数据库的信息放入message
------解决方案--------------------路过~
------解决方案--------------------问你这个问题的人的思路不合理,也许他只想问你页面之间的传递方式
------解决方案--------------------这种情况也是存在的,用户在未登录的情况下选择的自己的需要购买的商品,登录后再回到原来购物的页面,商品信息经过保存后再返回给原页面,用session或者request保存传递参数都是可以的
------解决方案--------------------dell的网上购买电脑,就是不需要登陆的
------解决方案--------------------yijie1206688() ( ) 信誉:100 2007-7-25 0:09:13 得分: 0
晕~~~~~~
没有注册就不应当让用户进入到购物页面,加个过滤器或在登入后的每一页中都判断一下用户的账号和密码,把用户屏蔽在登入页面,只有当用户输入正确的用户名和密码才能进行购物......
购物车应当放在Session中,到最后用户要结帐的时候你应当再把用户所购买的东西全都列出来,前面加个复选框,给用户一个反悔的机会,最后结账......
==========================================
很多购物网站都是没登录可以购物的,也可以不注册,最后就填写收获地址,网上支付。
听说大型的购物网站购物车不是用session的,性能低。
------解决方案--------------------把购买的服务放session里不就得了
------解决方案--------------------很多购物网站都是没登录可以购物的,也可以不注册,最后就填写收获地址,网上支付。
听说大型的购物网站购物车不是用session的,性能低。
===============================================================
我知道ASP会降低性能,因为ASP是将SESSION保存在内存中.
可是JAVA不是将session 放在cookies里吗? 如果客户端未开启cookies 功能,便加在url后面.这样做也会降低性能?
------解决方案--------------------路过看下.
------解决方案--------------------页面跳转到登录页面(旁边有一个注册的链接)
这一句提示你用referer,referer可以用来标识当前页面来自那个页面.
login.jsp:
<form action= "checklogin.jsp ">
...
<input type= "hidden " name= "referrer " value= " <%=request.getHeader( "referer ") " />
...
checklogin.jsp:
if(user.equals( "xxxx ") && password.equals( "yyyy "))
{
session.setAttribute( "global.user ",user);
String referrer=request.getParameter( "referrer ");
if(referrer==null || referrer.equals( " ") || referrer.equals( "null "))
referrer=request.getHeader( "referer ");
response.sendRedirect(referrer);
return;
}
else
response.sendRedirect( "index.jsp ");
------解决方案--------------------