什么是满足我需求的最佳Java Web框架?

我正在为公司内部网创建一个Web应用程序,因为该系统的其他部分是用Java编写的,因此为了集成,Java被选为Web前端。

有要求:

  • 它必须在短时间内学习简单
  • 它必须支持MVC模式
  • 没有扩展的xml配置
  • 应用程序将包含许多用户将填写的表单,以及一些js来帮助它
  • 良好的IDE插件,有助于开发

我在考虑Wicket / Spring MVC / Stripes

您对这些要求有何建议? 我应该看看哪些其他框架可能对我的应用程序更好?

另外:你能否评论这三个框架如何满足我的要求?

查看Grails ; 它是Rails和Java中最好的。 优秀的MVC(包括ORM),DRY和按惯例编码(没有XML配置!),非常类似于Rails,但在某些方面甚至更好(恕我直言),加上Java平台的所有稳定性和访问所有的优秀的图书馆

它使用基于JVM的Groovy脚本语言,但学习曲线对于Java开发人员来说不应该太糟糕; 如果需要,您还可以使用直接Java代码。

基于此要求:

它必须在短时间内学习简单

我不推荐Spring类型的框架,因为你必须学习很多关于他们的模块。

看看Play java框架 。 该结构与Ruby On Rails非常相似,但使用Java编写。 Scala也受支持。 最好的好处之一是自动编译。 在本地开发人员上,您可以更新代码,刷新浏览器并立即查看更改。

通过采用无状态模型以实现更轻松的可伸缩性,它在其他Java框架中也是独一无二的。

使用Play! 框架 :)。 这是一个真正的RAD框架,易于学习。

我会使用Wicket,它没有XML配置。 它干净而且相对容易学习。 如果您不是XML的忠实粉丝,请不要使用Spring MVC。 Spring可以用Java配置 – 理论上。 但实际上,您最终会使用详细的XML配置它。 另一个缺点是Spring MVC比它必须更灵活,这意味着你需要学习的东西比你真正需要的还多。

看看play框架并浏览教程。 当我不得不/想要编写一个Web应用程序时,我很确定我会回到这个框架。

我可以推荐Wicket 。 这很难学,但是你会爱上它。 这是我真正喜欢使用的第一个Web框架。

请注意,Wicket不适合快速和肮脏的解决方案。 只有当您喜欢干净且优雅的解决方案时才使用它,并且您已准备好投入+ 10%的时间来获得出色的代码可重用性和可读性。

我的意思是,例如,在Wicket中没有快速<%if(...){%> … <%}%>。

嗯…阅读一些很好的教程,你会明白我的意思。 这是我简单的资源清单: http : //ondra.zizka.cz/stranky/programovani/java/web/wicket/index.texy

我用Wicket构建了许多不同大小的Web应用程序。

与大多数其他Web框架相比,Wicket采用了一种截然不同的方法。 如果您有使用Swing构建Java应用程序的经验,那么构建Wicket组件可能看起来很熟悉。 推动我在Wicket和其他一些框架(Struts 2倾向于另一个框架)之间做出选择的主要因素是Web应用程序的“状态良好”。 如果页面是有状态的,Wicket很棒。 如果没有,它增加的值IMO会显着减少。 Wicket中我最喜欢的部分之一是它将代码与标记分开的方式,以及.html文件如何扩展另一个。 我还没有真正研究使用Wicket构建一个非常“ajaxy”的Web应用程序的最佳实践 – 到目前为止,我与JavaScript框架集成的经验非常笨重。

如果不了解更多有关您背景的信息,很难说Wicket在短时间内是否易于学习。 我也没有使用任何IDE插件,也没有我觉得需要这样的插件。 列表上的其他项目 – 检查!

也许Spring Roo ? 当您主要关于表单和报表时,它的效果非常好。

作为替代方案,我可以向您推荐Grails ,但在将其与您当前的Java代码集成时可能会有一些复杂性。

我已经非常成功地构建了一个小型内部公司应用程序。 在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 [xy] (let [x (Integer/parseInt x) y (Integer/parseInt y)] (html-doc "Result" x " + " y " = " (+ xy)))) (defroutes webservice (GET "/" sum-form) (POST "/" (result (params :x) (params :y)))) (run-server {:port 8080} "/*" (servlet webservice)) 

试试HybridJava。

  • 它必须在短时间内学习简单
    • 没有别的简单。 大约15页的文档。
  • 它必须支持MVC模式
    • 它支持MVC组件的模式,而不仅仅是页面。 没有什么比这更好的了。
  • 没有扩展的xml配置
    • 它没有配置。 没有xml,没有注释,没有属性。
  • 应用程序将包含许多用户将填写的表单,以及一些js
    • 它提供了远远优于JSP的代码重用机制
  • 良好的IDE插件,有助于开发
    • IDE插件还没有准备好,但可能你甚至都不需要它们。

Play框架可以统治java世界。 它结合了最好的django / rails / php和java / scala。 Simplicty是关键,它是如此简单和强大,类型安全,高性能,无状态,具有完美的模块系统,具有良好的tempalte系统和国际化的mvc架构,即时支持和错误修复,无需使用应用程序服务器,轨道并动态编译后台的代码更改,最先进的unit testing和jpa集成,有crud,db版本,spring,guice,mongodb和数十个模块,附带缓存,日志记录,…和儿子……

jsp和servlet是基本技术,如果你想使用Spring MVC或struts,你必须掌握servlet技术。 你可以使用jsp和servlet来制作MVC模式,jsp是View,servlet是Controller,其他业务逻辑是Model。 它必须在短时间内学习,并且使用其他MVC框架会很有帮助。

最好的Java开发框架是JRapid!

我在一个月前尝试了它,它很棒,现在它甚至更好,它们已经改善了错误并且运行没有问题。

你可以做不同的事情; 动作可用于您可以在可自定义行为中想象的所有内容。

它不需要花费太多时间,我创建的应用程序避免了无聊的问题,并专注于业务逻辑

如果你看一下入门指南,你可以得到一个清晰的想法,并开始工作没有麻烦。

我推荐它!