刚接触Java EE,正在学习Struts,看到这几个概念不太明白怎么根据具体要求把数据放到这些里,现在是把数据全放进Session里,这样肯定效率比较低。请大家能否举几个具体的例子? |
|
5分 |
你是不知道在 Struts 框架下怎么放 还是 不知道什么数据往对应放到 哪个里面?
|
15分 |
你了解下各个作用域的范围,这个问题你就清楚了。
Application:你的j应用启动到结束。如果你一直用这个作用域的话,你不手动清理,它会一直增加。用这个,意味着你每次用了之后,你要手动清理。 Session:你打开浏览器访问一次服务器,到你关闭浏览器。你用这个作用域的话,不用你手动清理,关了浏览器,自动清理。 request:你发送一个请求,到请求结束。你用这个,同样不用手动清理,请求完了,自动清理。 Response,这个是你后台响应数据给产台的。和request一个级别。 你是想每次都手动清理呢,还是自动清理呢?下面简单说下应用场合: 你打开csdn,登陆后,你的用户信息放在session里,因为,你不会一打开浏览器就关掉,你会在csdn的各个页面间跳来跳去,而这其中很多个页面都需要验证你是否是csdn的用户,所以,你的用户信息放在session里很方便。这样csdn就不用频繁的去查数据库了。 然后你打开一个页面,后台你把请求的文章等信息放在request里然后呈现给你,这意味着csdn每次都要去查数据库,为什么呢,因为你请求的文章,随时都可能变化,你前一秒访问完,下一秒就有人评轮了,这个放在session肯定不合话,因为session里的数据一边是不变的。 csdn后台可能会把一些常用的参数信息,放在Application里,供整个应用调用。通常都是固定的,给后台有的,和你前台用户 访问关系不大。所以也不会因为客户访问了,就去增加这里面的数据。 怎么样,是不是有点明白了。完了你再去百度这几个作用域的具体范围,你就彻底清楚了。 |
补充:除非业务需要,一般数据都放在request里面。
|
|
多谢,讲的真好 |
|
应该是后者 |