Если ваше общее определение «пользователя» на самом деле равно «сеансу HTTP», то да, вы правы. Представления в основном хранятся в сеансе HTTP и на них ссылается скрытое поле ввода HTML с именем javax.faces.ViewState
. Различные HTTP-сеансы не будут делиться своими взглядами друг с другом, что в противном случае, очевидно, было бы огромной ошибкой и дырой в безопасности.
Установив количество (логических) представлений в сеансе на 1
, вы исключаете возможность того, что пользователь может использовать несколько представлений, содержащих формы POST, в разных окнах / вкладках в одном сеансе. Каждый раз, когда конечный пользователь открывает новое окно / вкладку, конечный пользователь будет получать ViewExpiredException
всякий раз, когда конечный пользователь запускает запрос POST в предыдущем окне / вкладке, потому что вы настроили его для сохранения только одного представления сеанс, который является последним открытым.