request.getSession().setAttribute("user", userName);啥意思???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了request.getSession().setAttribute("user", userName);啥意思???相关的知识,希望对你有一定的参考价值。

请大家帮个忙,谢了

1、request.getSession()可以帮你得到HttpSession类型的对象,通常称之为session对象,session对象的作用域为一次会话,通常浏览器不关闭,保存的值就不会消失,当然也会出现session超时。服务器里面可以设置session的超时时间,web.xml中有一个session time out的地方,tomcat默认为30分钟
2、session.setAttribute("key",value);是session设置值的方法,原理同java中的HashMap的键值对,意思也就是key现在为“user”;存放的值为userName,userName应该为一个String类型的变量吧?看你自己的定义。
3、可以使用session.getAttribute("key");来取值,以为着你能得到userName的值。
4、注意:getAttribute的返回值类型是Object,需要向下转型,转成你的userName类型的,简单说就是存什么,取出来还是什么。
5、setAttribute和getAttribute就是基于HashMap的put方法和get方法实现的,一般叫键值对或者key-value,即通过键找到值。例如你的名字和你的人的关系,只要一叫你的名字,你就会喊到,通过你的名字来找你的人,简单说这就是键值对的概念。
希望对你有帮助。
参考技术A 将userName的值放入到session的属性中,名字为user。
在session的有效范围内都可以读取。

比如在其他页面或action中,可以这么获取。
String userName = request.getSession().getAttribute("user");
参考技术B 设置session,变量名为user,user值为userName的值,user可以在多个页面共项,在jsp中可以用session.getAttribute("user")这个把user的值获取出来. 参考技术C session内传递了一个以user为别名的参数,这个参数的内容是字符串userName的值 参考技术D asp.net中设置session中的属性user的值为username的值。

如何获取Session对象中的对象

先调用request的getSession()方法获取一个HttpSession的对象,然后将这个对象进行强制类型转换成原本封装的对象,这样就能获取Session对象中的对象了

1、调用request的getSession()方法

HttpSession session = request.getSession();

2、强制类型转换

User user = (User) session.getAttribute("session_user");

Session注销后,浏览器后退仍显示Session信息的解决方案:
https://www.cnblogs.com/windowsxpxp/p/12190343.html

以上是关于request.getSession().setAttribute("user", userName);啥意思???的主要内容,如果未能解决你的问题,请参考以下文章

转:request.getSession(true)和request.getSession(false)的区别

(转)request.getSession()几种获取情况之间的差异

转于request.getSession(true/false/null)的区别

request.getSession().invalidate() 能否释放内存?

getsession方法

request.getSession().setAttribute("user", userName);啥意思???