banq大哥,关于http session的想法

banq大哥,如果没记错的话,记得看你的文章提到过javaEE构建网站时不应把用户所有的信息保存在http session中,这种方法不好,但我没有想明白为什么不好。
把用户的用户信息,业务信息保存到http session中,用户登陆我就读取信息并处理,再把信息存储在session中,也不太占内存,来了就处理,不来就不管你,有什么不好么,想请大家帮忙解释一下?
若要存储在服务器端(像用户业务信息)那应该怎么做呢,想不明白。

还有一个关于缓存的小问题,缓存是把东西只保存在内从中还是把不经常用的数据缓存到硬盘中?

关于zjlzjlzjl的j2se基础的重要性发表一下自己的看法:
j2se重要,你不会他怎么做东西,但你不能指望大家都去背他的api把,不能把jdon变成用来解释List,regex,reflect用法的网站吧,想看这些你可以下个中文版jdk1.5自己看嘛,这种东西在网上很多。
jdon论坛很好,记得当初上网查找东西发现jdon,起初jdon的文章看着很费劲,看不懂,后来不怎么来了,常上javaeye这些论坛,但过了一段时间还是回到jdon来,再看原先的文章收获很大,需要谢谢jdon。
j2se的东西网上到处有,jdon的东西你能找到几个,中国软件要发展要到像jdon这种有思想的东西,而不是j2se api。

ps:jdon的登陆框在firefox下和文字有重叠。
[该贴被oncetime2008于2007年08月09日 18:54修改过]

自己写的(没经验):
Application Architecture{
Domain Driver Development{
UI Layer{
JSF
}
<Catch,Pool>
Business Layer{
Application Layer{
Service
}
Domain Model Layer{
Entity,
Value Object
}
}
<Catch,Pool>
Persistence Layer{
Dao{
JPA
}
}
}
}
[该贴被oncetime2008于2007年08月09日 18:57修改过]

>用户登陆我就读取信息并处理,再把信息存储在session中,也不太占内存,来了就>处理,不来就不管你,有什么不好么,想请大家帮忙解释一下?
主要是从可伸缩性来考虑,将来如果使用集群cluster你的应用,那么如果session保存重要信息,那么你集群是就要使用stick session方案,也就是某个客户端第一次访问的服务器,以后每次还是要访问这台服务器,因为这台服务器上保留重要的Session信息,这样集群分担负载效果就不明显。

当然,服务器之间可以同步Session中内容,但是如果Session太多,服务器之间因为复制同步的通讯量大,也抵消了集群效果。

这些现象,如果在应用程序设计之初就不注意,到时再改,就说明你的应用程序在架构设计(可伸缩性)这方面不合格。

就算你自己写一个类保存这些信息,效果不是和httpsession一样?
集群的时候不是一样有这些问题?

>算你自己写一个类保存这些信息
用JBosscache这些分布式缓存,而且这些信息都是幂等方式获得就最好,不必stick具体服务器了。