到目前为止,我了解 Java 中的 Httpsession 概念。
HttpSession ses = req.getSession(true);
将根据请求创建一个会话对象。
setAttribute("String", object);
将绑定“字符串”和值与 Session 对象。
getAttribute("String");
将返回与指定的字符串关联的对象。
我无法理解的是:我正在创建一个会话对象
HttpSession ses = req.getSession(true);
,并通过调用setAttribute("String", object);
. 在这里,此代码驻留在服务器内部。对于每个人,当他尝试登录时,服务器中的相同代码将被执行。setAttribute("String", object);
在这种方法中,字符串值是一个常量。因此,创建的每个会话对象都将由我提供的相同字符串绑定。当我尝试检索字符串以验证他的会话或执行注销操作时,getAttribute("String");
将返回相同的常量字符串值(我是对的!!??实际上我不知道,我只是在考虑它的执行逻辑) . 那么,我怎么能无效。
我在 WEB 上的所有教程中都看到了这种类型的插图。这是设置该属性的实际方法吗?或者,真正的应用程序开发者会在“String”字段中给出一个变量来动态设置它
(ie. session.setAttribut(userName, userName); //Setting the String Dynamically.. I dono is it right or not.)
我的最后一个问题是
WebContext ctx = WebContextFactory.get();
request = ctx.getHttpServletRequest();
上面的两行是做什么的?什么将存储在 ctx & request 中?
HttpSession ses = req.getSession(true);
将创建新的会话方式。ses 中存储的值是多少。