面向初学者的基于Java的web应用程序框架

面向初学者的基于Java的web应用程序框架,java,frameworks,Java,Frameworks,我有一个新同事,他需要一些关于用java开发web应用程序的教育。他拥有基本的java知识,几乎没有web应用程序方面的经验 我们的标准toolstack基于Wicket、JPA和Spring,但我担心这会给我们的新同事带来过高的费用 现在,我正在寻找关于初学者可以使用的最佳web应用程序框架的建议。它应该使用java语言,并且应该很容易连接到数据库(oracle、mysql等等)。如果涉及JPA,那么它的复杂性应该被框架隐藏——至少在第一步和通用开发任务(CRUD)中是如此 最近我偶然发现了游

我有一个新同事,他需要一些关于用java开发web应用程序的教育。他拥有基本的java知识,几乎没有web应用程序方面的经验

我们的标准toolstack基于Wicket、JPA和Spring,但我担心这会给我们的新同事带来过高的费用

现在,我正在寻找关于初学者可以使用的最佳web应用程序框架的建议。它应该使用java语言,并且应该很容易连接到数据库(oracle、mysql等等)。如果涉及JPA,那么它的复杂性应该被框架隐藏——至少在第一步和通用开发任务(CRUD)中是如此


最近我偶然发现了游戏框架(http://www.playframework.org/). 乍一看,它似乎符合我们的需要。有没有人对此有一些经验?

SpringMVC显然是一个不错的选择,因为您已经在堆栈中使用了Spring,所以如果其他开发人员遇到困难,他们可以提供帮助。拥有他并开发他自己的应用程序


尽管Play框架看起来很棒(感谢您指出),但我建议不要将其用作教程,除非它与您未来的框架堆栈计划很好地吻合。我的意思是,你的年轻人学习其他人都不打算使用的东西有什么意义?

我当然会推荐这个框架

一两年前,我和你的同事的情况类似,对Java web应用程序比较陌生,并且得到了一个小项目。我可以选择Struts或Spring MVC,但选择了条纹,因为它更容易掌握

它还可以很好地与Spring集成(查看文档中的“Stripersist”,示例与之关联)


我还写了一篇关于入门的文章,你可能希望读一读(承认我需要修复语法突出显示…:()

首先确定你的应用程序是什么,然后继续使用框架和模式。不要只构建一个选择业界最佳的应用程序


例如,基于电子商务的应用程序,我更喜欢ATG而不是Spring,对于普通的Web应用程序,我会根据应用程序的复杂性选择Struts或Spring。

如果您已经在使用Spring,为什么还要引入另一种技术?为什么Play比Wicket或Spring有改进


就个人而言,我建议坚持使用Spring:没有Wicket的Spring MVC,简单的JDBC模板而不是JPA。

我认为如果他正在走向Wicket/Spring/JPA,那么他就不应该把时间花在不相关的事情上;这似乎是一种浪费

我会从一个独立的应用程序中的JPA开始,从命令行(或IDE或其他什么)运行。让他编写一些方便的数据库工具,做一些报告之类的事情

然后转到普通的J2EE-servlet,然后是JSP,不使用任何框架

然后带来春天。然后是小门。

嗨 如果你要开发一个CRUD应用程序,我真的会考虑Spring/Roo。 它具有Grails的CRUD功能,但您不必向应用程序添加任何JAR,因此您拥有100%的java平台


Luis

在我看来,Play是最好的java和scala框架。它简单、功能强大,被许多项目()使用,而且势头强劲。Grails有缺陷,spring roo就像aop模板生成器,spring变得和java EE一样麻烦。Play的开发速度非常快(play团队绕过ruby、php和asp.net团队赢得2010年devderby大奖)高效

我最好的


塞尔达尔

我建议他从第一天开始学习Wicket

如果他在前世做过任何桌面开发,那么Wicket的事件驱动架构将与之最为匹配是相当史前的,我不明白为什么你会想在这方面跟踪他,而不是让他在更高效的事件驱动、面向组件的Wicket范例中快速地提高速度


啊,我还记得过去的日子…JSPs.actions.do's,XML config hell。当然我可以做到,但是现在,一个开发人员的生活可以更加高效,使用一个设计良好的框架和一个智能的范例,比如Wicket。

ATG?真的吗?当我五年前第一次遇到它时,这是一项死技术。我真的不想介绍一种新技术技术。我正在寻找一个能快速见效的框架。在我看来,我的新同事现在需要学习web应用程序的基础知识,而不是钻研Spring、JPA等技术。我确信,处理其他框架及其解决问题的方法不会浪费时间。这将让你有一个更广阔的视野了解开发web应用程序的整个领域。@magomi:不,你说得对,这不是浪费时间。但我怀疑这是让新员工在团队中高效工作的最快方式。对;-)但在这种特殊情况下,这不是唯一的要求。我们想给新同事在我们的工作领域内最好的教育(这在一般的网络应用程序中是如此)。“……你的年轻人学习其他人都不打算使用的东西有什么意义?”-我认为有必要检查新框架是否适合您的工具堆栈,并了解它们的优缺点。您不能确定此框架是否是解决您未来问题的最佳框架。因此有必要了解它的基本知识。@magomi很公平。我认为我的评论有点仓促。因为他表示,他们可能会去玩,那么一个成本效益高的方法是把它交给年轻人开始玩,如果这是个好兆头,找一个更有经验的同事和他一起工作。