Посмотрите на Grails; это лучшее из Rails и Java. Отличный MVC (включая ORM), DRY и кодирование по правилам (никаких XML-конфигов!), очень похож на Rails, но в некоторых отношениях даже лучше (IMHO), плюс вся стабильность платформы Java и доступ ко всем ее отличным библиотекам.
Он использует основанный на JVM Groovy язык сценариев, но кривая обучения не должна быть слишком сложной для Java-разработчика; вы также можете использовать прямой Java-код, если вам нужно.
Используйте Играть! Фреймворк :). Это настоящая среда RAD, которую легко освоить.
Взгляните на структуру play и просмотрите руководство. Я почти уверен, что вернусь к этому фреймворку, когда мне нужно / захочу написать веб-приложение.
Я могу порекомендовать Калитку . Этому довольно сложно научиться, но тогда вам это понравится. Это первый веб-фреймворк, с которым мне действительно нравится работать.
Обратите внимание, что Wicket не подходит для быстрых и грязных решений. Используйте его только в том случае, если вам нравятся чистые и элегантные решения, и вы готовы потратить + 10% времени на отличную возможность повторного использования кода и удобочитаемость.
Я имею в виду, например, что в Wicket нет быстрого <% if (...) {%> ... <%}%>.
Что ж ... прочтите хороший учебник, и вы поймете мою точку зрения. Вот мой скромный список ресурсов: http://ondra.zizka.cz/stranky/programovani/java/web/wicket/index.texy
jsp и сервлет являются базовой технологией, если вы хотите использовать Spring MVC или распорки, вам необходимо освоить технологию сервлетов. вы можете использовать jsp и сервлет только для создания шаблона MVC, jsp - это View, сервлет - это Controller, другая бизнес-логика - это Model. он должен быть простым в освоении за короткий промежуток времени, и полезно использовать другой фреймворк MVC.
Исходя из этого требования:
он должен быть простым для изучения за короткий промежуток времени
Я бы не рекомендовал фреймворк типа Spring, так как вам придется много изучать их модули.
Взгляните на Play java framework. Структура очень похожа на Ruby On Rails, но написана с использованием Java. Scala также поддерживается. Одно из лучших преимуществ - автокомпиляция. На локальной разработке вы можете обновить код, обновить браузер и мгновенно увидеть свои изменения.
Он также отличается от других java-фреймворков тем, что использует модель stateless для более легкой масштабируемости.
Я бы использовал Wicket, который поставляется без конфигурации XML. Он чистый и относительно простой в освоении. Не используйте Spring MVC, если вы не большой поклонник XML. Spring можно настроить с помощью Java - теоретически. Но на практике вы в конечном итоге настроите его с помощью подробного XML. Еще один недостаток заключается в том, что Spring MVC более гибок, чем должен быть, а это значит, что вам нужно узнать больше, чем вам действительно нужно.
Может Spring Roo? Он очень хорошо работает, когда вы используете в основном формы и отчеты.
В качестве альтернативы я могу порекомендовать вам Grails, но могут возникнуть некоторые сложности при интеграции его с вашим текущим java кодом.
Я создал несколько веб-приложений разного размера с помощью Wicket.
Wicket использует совершенно другой подход к вещам по сравнению с большинством других веб-фреймворков. Если у вас есть опыт создания приложений Java с помощью Swing, создание компонентов Wicket, вероятно, покажется вам знакомым. Главное, что заставляет меня выбирать между Wicket и какой-либо другой структурой (Struts 2, как правило, является другой), - это «сохранность состояния» веб-приложения. Wicket хорош, если страницы с отслеживанием состояния. В противном случае ценность, которую он добавляет, ИМО, значительно уменьшается. Одна из моих любимых частей в Wicket - это то, как он отделяет код от разметки и как файл .html
может расширять другой. Мне еще предстоит по-настоящему изучить передовой опыт создания веб-приложений, построенных с помощью Wicket, очень «ajaxy» - до сих пор мой опыт интеграции с фреймворками JavaScript был довольно неуклюжим.
Трудно сказать, легко ли выучить Wicket за короткий промежуток времени, не зная больше о вашем прошлом. Я также не использовал плагины IDE и не чувствовал необходимости в них. Остальные предметы в вашем списке - проверьте!
Я очень успешно создал приложение для небольшой внутренней компании. в Clojure с использованием фреймворка Compojure . Это очень простой и элегантный фреймворк, который должен удовлетворить ваши потребности, если вы хотите изучить Clojure.
Пример кода из Compojure Wiki, который реализует простой калькулятор:
(ns example
(:use compojure))
(defn html-doc
[title & body]
(html
(doctype :html4)
[:html
[:head
[:title title]]
[:body
[:div
[:h2
;; Pass a map as the first argument to be set as attributes of the element
[:a {:href "/"} "Home"]]]
body]]))
(def sum-form
(html-doc "Sum"
(form-to [:post "/"]
(text-field {:size 3} :x)
"+"
(text-field {:size 3} :y)
(submit-button "="))))
(defn result
[x y]
(let [x (Integer/parseInt x)
y (Integer/parseInt y)]
(html-doc "Result"
x " + " y " = " (+ x y))))
(defroutes webservice
(GET "/"
sum-form)
(POST "/"
(result (params :x) (params :y))))
(run-server {:port 8080}
"/*" (servlet webservice))
Play framework может править миром java. Он сочетает в себе лучшее из django/rails/php и java/scala. Простота - это ключ, он настолько прост и настолько мощный, безопасный для типов, высокопроизводительный, без статических данных, имеет совершенную систему модулей, архитектуру mvc с хорошей системой tempalte и интернационализацией, немедленную поддержку и исправление ошибок, нет необходимости использовать серверы приложений, отслеживает и динамически компилирует изменения кода в фоновом режиме, современное тестирование и интеграция с jpa, имеет crud, версионирование бд, spring, guice, mongodb и десятки модулей, поставляется с кэшированием, логированием... и так далее...
Попробуйте HybridJava.
- это должно быть просто выучить за короткий промежуток времени
- просто как ничто другое. около 15 страниц документации.
- он должен поддерживать шаблон MVC
- он поддерживает шаблоны компонентов MVC, а не только страниц. Ничего подобного вокруг.
- нет расширенной конфигурации XML
- он имеет нулевую конфигурацию. Ни xml, ни аннотаций, ни свойств.
- приложение будет состоять из множества форм, заполняемых пользователем, и нескольких js-файлов.
- он предоставляет механизм повторного использования кода, намного превосходящий таковой у JSP
- хороших плагинов IDE, которые помогут при разработке.
- Плагины IDE еще не готовы, но, вероятно, они вам даже не понадобятся.