Java EE与Java SE在Web应用程序开发中的区别

4
我的关注点在于我们所谈论的web应用程序开发程度。
web应用程序开发有不同的层次。例如,如果我被要求为一个小型面包店开发处理客户信息的web应用程序(绝对不是企业情况),如果我真的想要,使用Java EE而不是Java SE是否有什么问题?
我知道你可能会说这太过头了,我可以理解,但是,我会遇到开发问题吗?换句话说,我正在尝试确定小型企业web应用程序何时变成企业级web应用程序。在我看来,我应该能够使用我想要的Java模型。
我的思考有误吗?
如果您能帮助我澄清,我需要解释一下。

2
你如何提议在没有JavaEE的情况下进行Web开发? - skaffman
1
@skaffman:我创建了整个企业Web应用程序,而没有使用JavaEE。我想问的是反过来的问题:您对于Web开发中需要JavaEE有什么建议?您是否知道JavaSE有自己的内置HttpServer?虽然我发现使用一组可导入的jar文件的Embedded Tomcat更简单些。 - user1191027
3个回答

14

关于Java EE和Java SE术语的使用似乎存在一些混淆。虽然EE代表企业版,但并不意味着它仅被企业使用。

Java EE实际上是一组规范,通过捆绑在一起形成平台。当你需要编写Web应用程序时,你至少需要使用Servlet + JSP规范,这是Java EE规范的一个子集。

Java SE通常用于编写独立应用程序。与Java EE相比,更好地将Java SE称为API或库,而不是规范。它可以被认为是“非企业级”的应用平台。


3

不要字面理解Java EE。 Java EE 不仅仅是企业开发,而是提供了完整的堆栈以构建Java上的Web应用程序。否则你就不能在Java上进行Web开发。

底线-即使您是中小型企业,也需要Java EE堆栈。不要被名称所迷惑。


1
这并不完全正确。很多人只使用JEE的servlet子部分。有很多servlet容器不包含其余JEE的实现,例如Tomcat/Jetty。 - Wes
我从未说过你需要整个堆栈,但是如果要进行Web Java开发,你需要其中的一些。Tomcat和Jetty就是很好的例子。 - Yuval Adam

1

使用完整的Java EE容器没有问题。但是这通常会增加复杂性。

最少你需要一个Servlet容器,它是Java EE规范的子集。

完整的Java EE容器往往比简单的Servlet容器有更多的配置,可能会增加不必要的开销。

另一件需要考虑的事情是,如果你只使用javax.servlet来编译.war文件,那么这些文件与完整的Java EE容器兼容,因此以后升级时没有任何阻碍。

还要记住的一点是,实现完整Java EE堆栈的JBOSS / GlassFish使用的内存更多,启动时间可能比Tomcat长。

然而,如果你知道将来会使用更多的Java EE,例如EJB,则应该从完整的Java EE容器开始。

总结

个人建议首先使用Servlet容器(而非完整的Java EE)。只有在需要完整的Java EE堆栈时才转向完整的Java EE容器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接