该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-07-04
我现在的解决方案就是用request + cache解决. 目前感觉这样解决是最简单有效的方案. 还有spring web flow 好像可以解决这个问题, 但是太过于复杂, 另外不知道怎么和webwork结合. 另外在 jsf中 好像可以用save state 将信息保存到客户端, 也算是一种解决方案了.
|
|
返回顶楼 | |
发表时间:2006-07-04
step by step最好就用DHTML来处理,把各步骤做在div里面,一次只显示一个div其他隐藏,所有步骤完成之后一起提交。这样也可以再返回以前的步骤做修改,不会丢数据,而且不用惊动server端
|
|
返回顶楼 | |
发表时间:2006-07-05
smilelee74 写道 step by step最好就用DHTML来处理,把各步骤做在div里面,一次只显示一个div其他隐藏,所有步骤完成之后一起提交。这样也可以再返回以前的步骤做修改,不会丢数据,而且不用惊动server端
很多情况下面,后一页面内的内容是根据前一页的选择来决定的. 所以这些情况下, 想不惊动server端是不行的了 |
|
返回顶楼 | |
发表时间:2006-07-05
表面上的后一页,前一页,实际数据都在client的同一页面,数据是同享的
|
|
返回顶楼 | |
发表时间:2006-07-06
说到放在hidden input里面的安全问题,是不是可以把这个hidden里的东西先encrypted啊.但我觉得这个想法没多大用,因为hidden里一般放的是上一页的参数,如果是恶意用户,他同样可以在上一页里自己修改参数再提交.
|
|
返回顶楼 | |
发表时间:2006-07-26
robbin 写道 nkoffee 写道 lingcm 写道 我现在所在的项目就有这样的问题,数据从数据库里面取出来的数据很多情况都是放在session里面的!主要原因是一般的功能都有XXXXinput.jsp , XXXXdetail.jsp , XXXXconfirm.jsp , XXXXack.jsp 因为上面的页面都有可能出错,所以很多list如果放到request里面出错后将会丢失(需要重新到数据库里面去捞)
现在项目里面的做法是,把这些可能出错回来还要显示的数据都塞到session里面。然后每个function都有一个functionID号,在每个function 的init的时候会remove掉所有以这个functionId相关的session中的值,(当然这个是在框架里面封装了,只要调用removeAllfuncationVariable()方法就可以了)。但是这样会使用户的session迅速膨胀。用户如果能按照正常流程跑还行,因为每个function结束后都会把用户带到这个这个function的init 方法去清session的,但是用户如果在中途退出我们就没有办法控制了! 另外公司里面有些其它项目就禁止使用session,所有的东西都是放到resquest里面然后每次出错什么的都是重新到数据库里面再捞一次数据。不知道各位在项目里面是怎么做的?有没有个平衡点的?有没有什么心得可以共享的 web应用中很难避免一些长用户类型的事务, 比如新建某个东西要经历若干个页面,类似于app中的wizard, 面对这样的问题,也很难不用session来存放数据, 原则是尽量避免这样的长事务,尽量避免往session里塞东西, 无法避免的话就要注意好管理这些数据。 多说无益,建议你看一下atleap里面的的BaseAction,参考一下它的存取session的数据并使用。 另外虽然对session数据的使用要分外小心,但是并不说明session的使用只能局限于用户登陆信息 经历多个页面导航的情况实际上就是pageflow了,应该采用标准的pageflow方案去解决。 为什么说session里面最好只放登陆信息,不要放别的?这个话题说来就话长了,涉及到应用服务器的session管理机制。总之,根据我多个大项目解决内存问题,和做群集的经验,session是最容易出问题的地方,切记!除非万不得已,绝对不要操作session。 我做的那个项目就是经常容易out of memory,一开始我以为是服务器启动时,创建的DAO对象过多呢!现在明白了,我也挺同意robbin意见,既然是流程,就多使用几次request来实现好了,只要控制好流程的顺序好了啊! |
|
返回顶楼 | |
发表时间:2006-08-16
这种类型的数据最好是放在客户端的内存中,但是以目前的技术(我认为这样的技术应当由浏览器来实现)来说,好像还无法实现。
|
|
返回顶楼 | |
发表时间:2006-12-25
Struts form大量使用session范围也有内存问题?
|
|
返回顶楼 | |
发表时间:2006-12-28
学习,关注一下
|
|
返回顶楼 | |
发表时间:2006-12-28
我目前做着一个手机网游服务器端的项目,没有用任何开源框架,只有自己写了一套MVC框架支撑起来的。数据在初始化时从数据库取出常用的数据存放在servletcontext里,从而在以后的操作中都不需要与数据库有关系,但是在后台的任何操作都会影响数据库和servletcontext中的数据,到目前为止还没发现什么问题。在后台需要查看数据时我是把servletcontext中的数据拷贝存到session中然后显示给客户端,我放在session是因为后台系统可能就只有几个几十个管理员。
|
|
返回顶楼 | |