ORM: Мы могли бы использовать Hibernate, который, как я знаю, широко используется и очень функционален.Но я также знаю, что это несколько громоздко и имеет проблемы с производительностью.
Я не согласен с тем, что Hibernate широко переименован в громоздкий или имеющий проблемы с производительностью.У вас есть какие-либо доказательства в поддержку этих утверждений?
Каркас веб-приложения: с сервлетами Java все в порядке, но я использовал JSP, и мне не нравится, как они встраивают Java и HTML, делая этоТрудно провести модульное тестирование Java и что-либо изменить.Альтернативы, которые я рассматриваю, - это Struts, Wicket (но, честно говоря, я редактирую большие файлы XLM, это больно) и Grails.Grails включает в себя объектно-реляционное отображение Grails (GORM), в котором используется Hibernate.Есть ли другие, чтобы рассмотреть?Что бы вы использовали?
Рекомендуемая практика для разработки JSP - инкапсулировать логику представления в теги и использовать теги в JSP вместо того, чтобы помещать код скриптлета (Java) непосредственно в JSP.
Существует множество потенциальных веб-фреймворков Java, которые следует учитывать.Если вы ищете зрелую, широко используемую, хорошо документированную и спроектированную среду Java, я бы выбрал SpringMVC.Если вы хотите рассмотреть что-то более передовое, то инфраструктура Play стоит посмотреть.
Лично я бы использовал Grails, но я уже достаточно хорошо знаю Groovy / Grails, что, возможно, не совсемкейс для вас.
Обновление
Как указано в комментариях Тодд , GORM теперь можно рассматривать как абстрактный API персистентности.Хотя стандартная реализация использует Hibernate, также возможно (путем установки плагинов) использовать JPA или различные базы данных NoSQL.