参见英文答案 > How do servlets work? Instantiation, sessions, shared variables and multithreading????????????????????????????????????8个
到目前为止,我理解Java中的Httpsession概念.
HttpSession ses = req.getSession(true);
将根据请求创建会话对象.
setAttribute("String", object);
将使用Session对象绑定’String’和value.
getAttribute("String");
将返回与指定的字符串关联的对象.
我无法理解的是:我正在创建一个像这样的会话对象
HttpSession ses = req.getSession(true);
并通过调用setAttribute(“String”,object);为其设置名称.
这里,此代码驻留在服务器内部.对于每个人,当他尝试登录服务器中的相同代码时将被执行. setAttribute(“String”,object);在此方法中,字符串值是常量.因此,创建的每个会话对象都将使用我提供的相同字符串进行绑定.当我尝试检索字符串以验证其会话时,或者当注销操作采用getAttribute(“String”)时; ll返回相同的常量字符串值(我是对的!!实际上我不知道,我只是在想它的执行逻辑).然后,我怎么能够无效.
我在WEB上的所有教程中都看到了这种类型的插图.它是设置该属性的实际方法吗?或者,真正的应用程序开发人员将在“String”字段中给出一个变量来动态设置它
(即session.setAttribut(userName,userName); //动态设置字符串..不管是不是.)
我的最后一个问题是
WebContext ctx = WebContextFactory.get();
request = ctx.getHttpServletRequest();
上面两行做什么?什么将存储在ctx&请求?
HttpSession ses = req.getSession(true);将创建新的会话手段.存储在ses中的值.