Крестики-нолики для двух пользователей с использованием JSF
Я пытаюсь написать крестики-нолики для двух пользователей, используя технологию JSF. Из книг и учебных пособий, которые я прочитал, я понимаю, как работает JSF и как написать веб-приложение для одного пользователя, скажем, конвертер Цельсия в Фаренгейт или что-то в этом роде.
Чего я нигде не могу найти, так это как реализовать приложение таким образом, чтобы два пользователя (на разных компьютерах) могли на самом деле быть связаны друг с другом и играть в крестики-нолики друг с другом. Поэтому я думаю, что мне как-то нужно предоставить доступ к определенному Бину для этих двух пользователей, аутентифицированному через логин, но тогда сам Бин должен был бы знать, какой пользователь предпринимает какие-либо действия, чтобы игра могла иметь ходы.
Есть какой-нибудь известный способ, как реализовать что-то подобное? Может ли кто-нибудь указать мне учебник или что-то на эту тему?
1 ответ
Вы ищете AJAX толчок. Стандартная библиотека компонентов JSF не поддерживает ее "из коробки", потому что реализация на данный момент зависит от servletcontainer, а JSF разработана как независимая от servletcontainer. Будущая спецификация Servlet 3.1 (часть Java EE 7) представит поддержку веб-сокетов, которая, таким образом, обеспечивает стандартизированные возможности push. Будущий JSF 3.0, скорее всего, поддержит его.
На данный момент, среди прочего, JSF библиотека компонентов PrimeFaces имеет <p:push>
компонент (нажмите на ссылку, чтобы увидеть примеры в реальном времени), который использует сервлет-контейнер Jetty под крышками. Детали установки <p:push>
описаны в главе 6 Руководства пользователя PrimeFaces.
Просто поиграйте с примерами, представленными на сайте PrimeFaces, и вы получите представление о том, как реализовать это для своей идеи.