上一篇讲了session的原理: java servlet笔记:图解session原理(用于判断登陆是否过期)
现在用session来实现用户购买东西时,判断登陆是否过期的例子!
大家经常在网上买东西,比如 京东 和淘宝。我们经常会遇到这样的情况,当我们选好东西正准备付款时,却由于各种原因突然要离开一会儿,当我们再回来准备继续付款时,一点击购买却跳转到了登陆页面,要求我们重新登陆,这也是为了我们资金的安全考虑!如果登陆账号离开后一直不失效,你老婆会帮你买一大堆东西的……
现在就来实现这个功能, 为了展示例子方便,我这里的页面也是用servlet写的,项目的目录结构如下:
一、登陆页面(LoginPage.java)
代码:
页面:
二、后台用于处理用户登陆的逻辑,在这里设置session的有效期。
如图,可以看到,如果用户输入用户名和密码正确就会创建一个session,并请求转发到成功页面。我这里设置session的有效期为10秒,当然实际工作中session的有效期一般是半个小时或者一个小时,这里设置为10秒是为了演示效果,我不可能等半个小时吧!
三、成功页面(SuccessPage.java)
代码:
在这里设置了3个超链接,用于模拟实际购物时的购买链接!当点击超链接时就会跳转到UserServlet判断session是否过期,页面效果如下:
四、点击上面的购买物品超链接,就会跳转到UserServlet中pay方法进行判断
代码:
如果session过期,就会返回登陆页面让你重新登陆:
如果session没过期,就会提醒你购买成功:
这就是用session实现判断用户登陆是否过期,从而进行支付的原理。