我写了一个登陆页面,用户登陆后会跳转到个人主页,个人主页中会显示很多用户的个人信息,这些信息肯定要从数据库中获取,那么就出现这个问题:
(1)使用forward跳转(这是struts2的默认方式),这样我可以在action处理登陆结束后,预先从数据库中获取个人主页需要显示的数据,存入request中,这样个人主页的jsp代码就可以直接从request中获取了,但问题是用forward跳转的话,浏览器地址栏的值不会变,还是原来action的地址,我看很多网站都是登陆之后地址栏会变得。
(2)使用redirect跳转,这样地址栏会变,但我不能把数据写在request中了,网上有人说可以存在session中,这样的确可以,但会不会导致session内容过多(因为整个网站类似的页面跳转问题会有很多)
我想问一下遇到过这个问题的大侠们是怎么做的?
刚注册的账号(平时是潜水党),有不到之处还请包容。
5 个解决方案
#1
forward方式你已經解決了,那就不多說了,
redirect跳转方式:
如果你登陆后的页面显示的个人数据信息量比较少,那完全可以放在session
正如你说如果数据量比较大,你为何不在跳转后的页面请求的时候获取数据而一定要在登陆成功后开始redirect的时候获取数据
redirect跳转方式:
如果你登陆后的页面显示的个人数据信息量比较少,那完全可以放在session
正如你说如果数据量比较大,你为何不在跳转后的页面请求的时候获取数据而一定要在登陆成功后开始redirect的时候获取数据
#2
看你想怎么弄了,如果你不想地址栏有变化,可以采取第一种方法,如果想变化,那就第二种,数据量少的话,可放session中,或者跳到个人主页后,再用ajax加载个人信息
#3
方法二个,1,登录成功,返回一个主键值到成功页。然后通过主键值再查数据库(缓存)即可。
2,像你说的,直接放session。页面跳转后,再从SESSION取。(这个一般练习或者少用户使用)
2,像你说的,直接放session。页面跳转后,再从SESSION取。(这个一般练习或者少用户使用)
#4
redirect 也能访问action的
#5
如果数据量多的话可以采取 先让用户登录进来
然后在ajax异步提交
然后在ajax异步提交
#1
forward方式你已經解決了,那就不多說了,
redirect跳转方式:
如果你登陆后的页面显示的个人数据信息量比较少,那完全可以放在session
正如你说如果数据量比较大,你为何不在跳转后的页面请求的时候获取数据而一定要在登陆成功后开始redirect的时候获取数据
redirect跳转方式:
如果你登陆后的页面显示的个人数据信息量比较少,那完全可以放在session
正如你说如果数据量比较大,你为何不在跳转后的页面请求的时候获取数据而一定要在登陆成功后开始redirect的时候获取数据
#2
看你想怎么弄了,如果你不想地址栏有变化,可以采取第一种方法,如果想变化,那就第二种,数据量少的话,可放session中,或者跳到个人主页后,再用ajax加载个人信息
#3
方法二个,1,登录成功,返回一个主键值到成功页。然后通过主键值再查数据库(缓存)即可。
2,像你说的,直接放session。页面跳转后,再从SESSION取。(这个一般练习或者少用户使用)
2,像你说的,直接放session。页面跳转后,再从SESSION取。(这个一般练习或者少用户使用)
#4
redirect 也能访问action的
#5
如果数据量多的话可以采取 先让用户登录进来
然后在ajax异步提交
然后在ajax异步提交