Когда JSF создает сеанс и что он помещает в карту сеанса?

Я бегу Mojarra 2.2.0.

  <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
  </context-param>

Метод действия управляемого компонента -

public void action() {
        HttpSession session = (HttpSession) FacesContext.getCurrentInstance()
                .getExternalContext().getSession(false);
        System.out.println(session.getId()); // not null for stateful views
    }

Заstateless Просмотрыsession.getId() бросаетNPE

Для представлений, которые не являются лицами без гражданства - для запуска запроса GET существуетJSESSIONID=340041C96D5AA446D761C3602F54A76D

я читаю этоВот тот-

Для механизма сохранения состояния на стороне клиента JSF не будет создавать сеанс и будет сохранять состояние просмотра в скрытом поле ввода с именем javax.faces.ViewState в форме всякий раз, когда это необходимо.

Далее это упоминается здесьтот

JSF действительно создаст сеанс автоматически, потому что там должно храниться состояние просмотра JSF. Если вы установите метод сохранения состояния JSF для клиента, а не для сервера, он не будет сохранен в сеансе и, следовательно, сеанс создавать не нужно

Я думаю, что приведенная выше строка является источником неприятностей для меня.

Если вы установите метод сохранения состояния JSF для клиента, а не для сервера, он не будет сохранен в сеансе // ПОЛНОСТЬЮ СОГЛАСОВАНО

а также

следовательно, нет необходимости создавать сеанс. // Это сбивает с толку, потому что для механизма сохранения на стороне клиента, идентификатор сеанса генерируется контейнером сервлета и, следовательно, с запросом связан сеанс.

Что касается обсуждения, которое я провел с BalusC в этомвопросЯ создал HttpSessionListener-

@WebListener
public class MyHttpSessionListener implements HttpSessionListener {

    public void sessionCreated(HttpSessionEvent event) {
        Thread.dumpStack();
    }

    public void sessionDestroyed(HttpSessionEvent event) {

    }

}

Смотрите ниже прикрепленные скриншоты (эти 2 скриншота предназначены для версии 2.0.3, должна быть старая ошибка, из-за которой создавался сеанс) -

Весы (Мохарра 2.2.0) -

Ответы на вопрос(1)

Ваш ответ на вопрос