До сих пор я понимаю концепции Httpsession в Java.
HttpSession ses = req.getSession(true);
создаст объект сеанса в соответствии с запросом.
setAttribute("String", object);
будет связывать "String" и значение с объектом Session.
getAttribute("String");
возвращает объект, связанный с указанной строкой.
Я не могу понять: я создаю объект сеанса, например
HttpSession ses = req.getSession(true);
и установив для него имя, вызвав setAttribute("String", object);
.
Здесь этот код находится внутри сервера. Для каждого человека, когда он пытается войти в систему, будет выполнен один и тот же код на сервере. setAttribute("String", object);
в этом методе строковое значение является константным. Таким образом, каждый созданный объект сеанса будет привязан к той же строке, которую я предоставил. Когда я пытаюсь получить строку для проверки его сеанса или при выполнении действия выхода из системы, getAttribute("String");
ll возвращает одно и то же значение постоянной строки (я прав!! Фактически я не знаю, я просто думаю о его логике исполнения). Затем, как я могу быть недействительным.
Я видел эту иллюстрацию во всех учебниках на 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 и запросить?
HttpSession ses = req.getSession(true);
создаст новые средства сеанса. Какое значение хранится в ses.