jsp实现登陆后返回之前浏览的页面
比如我在首页点击登陆,转到登陆页面进行登陆后跳回首页,或者我在购物车页面点击登陆,转到登陆页面登陆后跳回购物车页面,也就是说在登陆后返回之前的页面。我想在登陆页面加上re...
比如我在首页点击登陆,转到登陆页面进行登陆后跳回首页,或者我在购物车页面点击登陆,转到登陆页面登陆后跳回购物车页面,也就是说在登陆后返回之前的页面。
我想在登陆页面加上request.getHeader("Referer")获取发起请求的url,然后把这个url保存在context作用域当中,我这个时候还没有创建会话(假设没有对购物车进行操作也没登陆就还没创建会话),好像放在登陆页面form表单提交的post请求里也不行吧。我在servlet里处理完登陆逻辑在把请求重定向到context存储的url,是不是就能回到当前访问页了啊。除此之外有没有别的好办法啊,总不能登陆完总返回一个页面吧,假如我都选了好多东西到购物车了,结算前登陆,登陆完了又跳到首页了,岂不是太丢人了,谢谢各位大神 展开
我想在登陆页面加上request.getHeader("Referer")获取发起请求的url,然后把这个url保存在context作用域当中,我这个时候还没有创建会话(假设没有对购物车进行操作也没登陆就还没创建会话),好像放在登陆页面form表单提交的post请求里也不行吧。我在servlet里处理完登陆逻辑在把请求重定向到context存储的url,是不是就能回到当前访问页了啊。除此之外有没有别的好办法啊,总不能登陆完总返回一个页面吧,假如我都选了好多东西到购物车了,结算前登陆,登陆完了又跳到首页了,岂不是太丢人了,谢谢各位大神 展开
2个回答
展开全部
先将浏览的页面保存到sessin中。通过登录页面验证后,再forward到之前保存在session页面。轻轻松松实现,而且有安全。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
set.Attribute重定向
追问
在哪个作用域上设置属性啊,我刚才试了试上下文属性,好像可以,不过我看书上说上下文作用域不是线程安全的,如果多个对象访问的话就会出现问题。
追答
写下去要打太多字了,我就给你这个对象的主要用法吧!!然后你再研究下,可以参考别人的购物车是怎么做的 。
主要就是setAttribute这个方法(你可以看书学习具体用法),在JSP内置对象session和request都有这个方法,这个方法作用就是保存数据,然后还可以用getAttribute方法来取出。
比如现在又个User对象,User curruser = new User("zhangsan", 20, "男");
1,request.setAttribute(“curruser”, curruser)这个方法是将curruser这个对象保存在request作用域中,然后在转发进入的页面就可以获取到你的值,如果你会一些框架的话,那些框架标签也可以获取到,比如struts标签,还有jstl。如果这你都不会的话,那么你可以在jsp页面编写java小脚本来获取:,在jsp页面显示值:。
2,session.setAttribute("curruser", curruser)。这个方法和上面唯一的区别就是作用域,就是在你整个程序启动的时候,如果在session中保存了数据,那么在你这个无论你在哪个页面,在什么时候都可以获取到这个值,全局的,只要你的这个程序是启动的。session默认的过期时间是30分钟,过期无效,可以去修改这个值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询