В большинстве случаев это зависит от того, что требуется вашему проекту. Вот две мощные веб-технологии, которые вы можете найти полезными.
Vaadin (фронт и бэкэнд интегрированы как чистая Java)
Для богатых, тяжелых приложений AJAX Ваадин может отлично подойти.
Преимущества:
- Быстрая разработка для сложного взаимодействия между компонентами пользовательского интерфейса и внутренними компонентами
- Чистое Java-решение, не нужно беспокоиться о создании разметки или поддержке больших файлов javascript
- Хорошая документация
- Многие мощные компоненты из коробки и через сообщество с открытым исходным кодом
Недостатки:
- Там может быть крутой кривой обучения, чтобы понять различные компоненты
- Расширение / изменение некоторых функций (например, как таблица пользовательского интерфейса извлекает данные из источника данных) может быть очень трудным
- Если ваше приложение должно быть хорошо масштабируемым, имейте в виду, что этот фреймворк с состоянием
- Обработка кнопки возврата в браузере и динамических URL-адресов - дополнительная работа
Spring MVC (фронт - JSP или HTML, бэкенд - Spring MVC)
Если вы хотите сохранить полный контроль и масштабируемость, Spring MVC с или без JSP - ваш лучший выбор. Вот хороший hello world , и больше весенних обучающих программ mvc доступно на этом сайте.
Преимущества:
- В основном опирается на открытые стандарты
- Высокая масштабируемость
- Помогает обеспечить правильную MVC в вашем коде
- RESTful Framework, позволяет разработчику легко обрабатывать динамические URL и GET / POST отдельно
- Сохраните полный контроль, создав HTML / CSS / JS
Примечание: для решения HTML / CSS / JS я рекомендую начать с чего-то вроде Zurb Foundation или Twitter Bootstrap . Это сэкономит много времени по сравнению с началом с нуля. Загрузите последнюю версию и импортируйте ее в папку своего веб-приложения, чтобы ускорить работу над проектом.
Недостатки:
- Управление вызовами AJAX может стать сложной задачей для больших приложений
- Потребуются более глубокие знания HTML / CSS / JS (по сравнению с Vaadin)