有多少版本的java?

时间:2009-12-07 13:01:06

标签: java frameworks

我对Java框架(我来自.NET)感到困惑。您是否需要不同的服务器设置来运行Java,J2EE和JSP? Java是否在企业和非企业部署的框架中有所区别?豆子?支柱?

有人可以为我理解这个吗?

.NET有:

  1. Windows开发(Winforms,WPF)
  2. 幅:
    i)webforms ii)mvc

8 个答案:

答案 0 :(得分:9)

这些是与“Java版本”对应的最常用术语:

  • JRE :Java运行时环境,运行Java程序所需的内容
  • JDK :Java开发工具包,JRE plus编译器和一些其他工具
  • Jave SE :标准版,每个JRE和JDK随桌面使用的API库
  • Jave EE :企业版,扩展J2SE以供业务使用的其他API,主要是服务器应用程序 - 这包括JSP
  • Jave ME :移动版,一组用于移动设备(如手机)的API(主要是J2SE的一个子集)

(后三者通常也写成J2SE,J2EE和J2ME,意思是“Java 2 ___ Edition” - Sun的命名和版本控制惯例相当令人困惑)

请注意,所有这些基本上都是规范,并且有来自不同供应商的实现。例如,您不仅可以从Sun获得J2SE 6 JDK,还可以从IBM和Oracle获得J2SE 6 JDK。

答案 1 :(得分:4)

有几种不同的方式来看待这个。

首先,Java的唯一当前版本是Java 6,目前处于Update 17左右。 Java 5及更早版本都已经过终结。有点令人困惑的是,从版本1.2开始,Java采用了名称“Java 2”(并被称为J2SE或“Java 2 Standard Edition”),因此它是Java 2版本1.2。在Java 2 1.4之后(或更简单的Java 1.4)。虽然J2SE仍然很常见,但1.5版本变成了Java 5或J5SE。

Java的另一个版本是Java Enterprise Edition(“Java EE”),以前的J2EE(“Java 2 Enterprise Edition”),版本6即将发布。 Java EE为服务器应用程序指定了一组标准。最重要的部分是servlet规范,它是99.9%的Java Web框架的基础。它有版本,目前处于版本2.5或2.6(我忘了)。 Apache Tomcat是servlet规范的参考实现。

另一部分是目前在EJB3 / 3.1上的EJB(“Enterprise Java Beans”)。它是一个组件架构,非常重量级。它不像基本servlet规范那样频繁使用。

虽然Tomcat是一个Web容器,但所谓的应用程序服务器提供了完整的Java EE支持。示例包括Glassfish,JBoss,Weblogic和Websphere。

Java类通常打包为JAR(“Java ARchives”),它只是一个具有指定目录结构的压缩文件。

Web应用程序打包为战争(“Web ARchive”),它只是一个具有不同扩展名的jar。 WAR可能包含JAR形式的库。

完整的Java EE应用程序打包到EAR(“Enterprise ARchives”)中,这只是一个不同的文件扩展名,它可能包含war和其他文件。

现在要复杂化的是,有大量的Java Web框架,如Struts,Spring MVC,Tapestry,Wicket以及许多其他框架。

此外,Java Web和企业应用程序使用Spring框架相当普遍。 Spring(imho)是Java服务器端开发的必备工具,因为它简化了许多供应商和库的差异,使您的应用程序更具可插拔性。

困惑了吗?

答案 2 :(得分:1)

有几个版本的JDK(1.4,5,6),就像有几个版本的.NET(1.1,2.0,3.0,3.5)。 J2SE和J2EE实际上只是同一版本的不同包装。 J2EE包含一些不在J2SE中的额外命名空间。

来自wikipedia

  

Java平台,企业版或Java EE是用于Java编程语言中的服务器编程的广泛使用的平台。 Java平台(企业版)与Java标准版平台(Java SE)的不同之处在于它添加了库,这些库提供了部署容错,分布式,多层Java软件的功能,主要基于在应用程序服务器上运行的模块化组件

答案 3 :(得分:0)

one JDK(今天只支持JDK 6)和Java运行时环境(JRE 6)。

通常你只需要JRE,但是有些框架需要tools.jar(即javac)才能运行。

可以检测到server and client modesJava EE libs来自您使用的应用服务器(或网络服务器)。

答案 4 :(得分:0)

如果要使用Java实现Web应用程序,可以使用Apache或Tomcat作为Web服务器。

要用Java开发,我建议从这里下载NetBeans:

http://netbeans.org/downloads/

我更喜欢NetBeans而不是Eclipse,因为它更像.NET的IDE,这基本上意味着它更有帮助。

使用NetBeans,您可以编写每种类型的Java应用程序,从客户端Java应用程序到servlet,applet等......

答案 5 :(得分:0)

有三个主要的Java平台:

  • Java SE(标准版)
  • Java ME(移动版)
  • Java EE(企业版)

它们都有共同的Java编程语言,但在包含的API和库方面有所不同。

从你的问题我猜你在看Java EE?

虽然可以在Java SE中编写企业应用程序代码,但Java EE是自然的选择,因为它会处理您将要面对的许多事情,并允许您专注于应用程序中有趣且有用的部分。

Java并不能真正区分企业和非企业,事实上,您可以在Java EE中使用Java SE中的API,并且可以在Java SE程序中使用Java EE API。

那么有什么不同呢?

基本上,它们都是平台,执行环境。 Java EE比Java SE更适合开发大型项目,因此包括各种服务器和东西来帮助您编写这些大型应用程序。

Beans,Servlets,Apache Tomcat服务器,Glassfish服务器都属于Java EE平台。

答案 6 :(得分:0)

首先,您拥有包含Java SEstandard Java API。您可以将其下载为JRE(仅运行时)或JDK(包括Java编译器等开发人员工具)。

然后你有Java EE,其中包含enterprise Java API。 Java EE实际上是一个抽象 API(几乎只存在接口,抽象类和API契约)。您需要一个具体的实现来获得正在运行的Java EE平台。在JSP / Servlet的情况下,您基本上需要一个servlet容器。常用的是Apache TomcatSun Glassfish(它们捆绑在Sun Java EE下载中)。

当您需要Apache Tomcat时,无需从Sun下载Java EE。只是Java SE就足够了。 Sun Java EE下载基本上包含Glassfish服务器,也可以作为Netbeans IDE的捆绑包(我个人不推荐用于Web开发; EclipseIntelliJ是Web开发的更好选择)

假设您想使用Eclipse和Tomcat,然后开始使用Web开发,您基本上需要以下内容:

  1. Java SE JDK 1.6
  2. Apache Tomcat 6.0(核心,二元分发)
  3. Eclipse IDE for Java EE developers
  4. jstl-1.2.jarstandard JSP taglib,使用它而不是scriptlet!)
  5. 全力以赴:

    1. 安装Java SE。
    2. 提取Tomcat zip并将其放在所需的位置。
    3. 解压缩Eclipse zip并运行eclipse.exe
    4. 在Eclipse的 Servers 视图中,添加新的Tomcat服务器并指向Tomcat位置。
    5. 在项目资源管理器中,创建新的动态Web项目并从列表中选择Tomcat。
    6. 在创建的项目中,将JSTL JAR放入/WEB-INF/lib
    7. 那应该是它。您可以在/WebContent文件夹中创建JSP,并在src文件夹中创建类(servlet,过滤器,bean,域,实用程序等)。

      至于Struts,它与Sun无关。它是基于组件的Apache MVC框架,大致上是Sun JSF的竞争对手。您可以单独下载它,将库放在WEB-INF/lib中并在项目中使用它。

答案 7 :(得分:0)

实际上java有很多其他版本,但通常我们没有在应用程序中使用它,

列表如下:

JavaSE的 的JavaME JavaEE的 JavaFX的 JavaCard的 JavaDB之外 JavaTV JavaEmbeded

我们在java中可以有4种类型的文件:

Jar(Java档案) 战争(Wep应用程序存档) 耳朵(企业应用档案) Rar(资源适配器归档)

对不起拼写错误,,,,