什么情况下把属性放入request和session?

问题描述

刚开始接触EJB,在后台action中,看别人写的代码,如下:request.setAttribute("templateName",strTemplateName);request.getSession().setAttribute("sessionTemplateName",strTemplateName);我现在不明白什么情况下把一些属性放入request,什么情况下放入session,请各位不吝赐教,谢谢!

解决方案

好像和EJB没什么关系:)session用于存放跨请求的变量,如用户A登录后,系统要记录他的登录信息,在用户访问网站的整个过程中,一直需要记录着,就应该放到session中。而request则是一次请求,比如用户请求查看某个产品的信息,产品信息只需要在这次请求中显示出来,用户访问其他页面时,不需要知道这个产品的信息,那就应该放在request中。
解决方案二:
弄清楚request,和session 的生命周期,就知道那些改放到哪里去了。原则是session只存放必须的数据,而不是为了省事都放到session里面去。
解决方案三:
比如:你有一个鸡蛋要放!现在你有一个碗(request)和一大口缸(session),你会放到哪里?肯定是碗里,request只能支持一次转发跳转传递,就像接力赛一样,一棒给二棒,二棒给三棒。。。中间都要在request存一次,取一次。放在session中的值可以随用随取,只要session不失效!
解决方案四:
属性放到那个范围 ,根据需求定 但是你必须明白 reqyest session的生命周期
解决方案五:
session一般用于存储常用信息比如用户登录信息等。作用域一次会话。request只用于存储一些查询信息。用于在界面上显示。只会在forward下有效。
解决方案六:
引用request.setAttribute("templateName",strTemplateName); request.getSession().setAttribute("sessionTemplateName",strTemplateName); 不知道是否和jsp 一致!放进去的基本上去为了保存他的值!在其他地方用!比如下一个页面!。。如果要整个用户的 session 都能用到这个值 就放session

时间: 2024-09-20 09:27:04

什么情况下把属性放入request和session?的相关文章

浏览器-在这段对cookies描述中,为什么要把购物车的信息放入cookies,而不是放入request中?

问题描述 在这段对cookies描述中,为什么要把购物车的信息放入cookies,而不是放入request中? 用途 因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现.在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两饮料.最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么. 所以Cookie就是用来绕开HTTP的无状态性的"额外手段"之一.服务器可以设置或读取Cookies中包含信息,借此

方法-用SQL语句查询User表中newsh属性为“政治类新闻”和“娱乐类新闻”的人数放入MAP中

问题描述 用SQL语句查询User表中newsh属性为"政治类新闻"和"娱乐类新闻"的人数放入MAP中 用SQL语句查询User表中newsh属性为"政治类新闻"和"娱乐类新闻"的人数放入MAP中问题一:整个方法该如何实现问题二:SQL语句怎么写 参考用例 类似这样的方法 新手不知道该怎么改动成自己需要的方法求助各位大神 public Map<String Long> totalInventory(int year

map-求解释Map放入同一对象后的对象属性会被冲掉

问题描述 求解释Map放入同一对象后的对象属性会被冲掉 举例: Map map = new HashMap(); Student st = new Stundet(); st.setName("AAA"); map.put("123",st); st.setName("BBB"); map.put("456",st); for (Map.Entry entry : map.entrySet()) { System.out.pr

javascript-关于JS读取form表单的问题,form中嵌套table,input标签放入table中

问题描述 关于JS读取form表单的问题,form中嵌套table,input标签放入table中 <html> <head></head> <body> <form id = "form1" name = "form1" action = "b.html" method = "post"> <table id = "tab" name =

Python利用多进程将大量数据放入有限内存的教程_python

简介 这是一篇有关如何将大量的数据放入有限的内存中的简略教程. 与客户工作时,有时会发现他们的数据库实际上只是一个csv或Excel文件仓库,你只能将就着用,经常需要在不更新他们的数据仓库的情况下完成工作.大部分情况下,如果将这些文件存储在一个简单的数据库框架中或许更好,但时间可能不允许.这种方法对时间.机器硬件和所处环境都有要求. 下面介绍一个很好的例子:假设有一堆表格(没有使用Neo4j.MongoDB或其他类型的数据库,仅仅使用csvs.tsvs等格式存储的表格),如果将所有表格组合在一起

分区表放入keep pool,recycle pool的问题及解析

因为生产环境的性能瓶颈,经过诊断,给出的结论是需要把几个表和索引放入keep pool,几个索引放入recycle pool. 其实放入keep pool 确实对于频繁访问的数据,而且数据量不大的情况下,性能有一定的改善.避免了大量的物理读.大家的大体感觉都是把表放入keep pool,其实在一定的情况下,把索引放入keep pool也有一定的道理,某些较大的索引,可能已经走了索引但是还是因为索引占用的数据块较多,段太大,还是会走大量的物理读,放入keep pool也有一定的改善. 至于recy

php将session放入memcached的设置方法

 这篇文章主要介绍了php将session放入memcached的设置方法,需要的朋友可以参考下 可以修改php.ini文件的情况下:   1.修改php.ini中的    代码如下: session.save_hander = memcache; session.save_path = "tcp://host:端口号";//例如:session.save_path = "tcp://127.0.0.1:11211";     2.正常存取session的值就OK了

如何将网页数据放入Excel中

  如何将网页数据放入Excel中,并实时更新?数据>自网站>输入网址>导出>属性>根据需求调整设置,完成!

Win7系统放入DVD光盘到光驱后无响应解决方法

  咱们现在的人基本上都会使用电脑,大家都会在win7旗舰版电脑上看网页看电视,有很多的用途,虽然电脑中有DVD的功能,但是基本上的用户都很少会用这些功能了,大家都会觉得这个功能没有用处了,看视频也可以直接在网页上查看,但是我们还是有需要看一些教程的用户需要使用这个功能,我们在插入光盘以后会发现,光驱无法读取没有反应的现象,遇到这样的情况该怎么解决呢. 1.首先我们需要打开开始菜单,然后看到里面有一个控制面板的选项,选择打开控制面板的窗口,打开以后我们选择图标显示就可以看到很多的工具图标. 2.