本文的首选表列表源自Hotframework.com中的Java框架排名,并综合了其它一些来源,包括博客文章和Github下载数量。

 

Java开发框架排名列前3名,包括以下:

 

1) Spring

网址:http://projects.spring.io/spring-framework/

 

2) JSF

网址:http://www.oracle.com/technetwork/java/javaee/download-139288.html

 

3) GWT

网址:http://www.gwtproject.org/

 

其它值得开发者关注的Java Web框架有:

 

1)Play!

网址:https://www.playframework.com/

 

2)Struts

网址:https://struts.apache.org/

 

3)Vaadin

网址:https://vaadin.com/

 

4)Grails

网址:https://grails.org/

 

另外还有一些Java框架也很受欢迎,但不适用于Web开发,我们不应该忘了它们:

 

1)Hibernate

以数据为中心。

网址:http://hibernate.org/

 

2)Maven

以构建为中心。

https://maven.apache.org/

 

3)基于Ivy 的 Apache Ant

专注于构建。

网址:http://ant.apache.org/,https://ant.apache.org/ivy/

 

Spring 框架

 

Spring 框架官方网址:https://www.spring.io/。

 

主要开发赞助商:Privotal 软件公司。

 

Spring不仅仅是一个Web开发框架。它是建立在Java技术栈上一个完整的编程模型,从Spring Boot开始,后者是一种以最少配置启动和运行Spring应用程序,并且不需要应用程序服务器的方式。

 

另一方面,Spring Cloud是一种组件的组合,它允许开发者构建弹性和可靠的云主机应用,用最新的分布式模式(例如微服务架构),包括应用程序安全性和批处理两个示例 。

 

Spring 有众多用例,随着SpringBoot的推出,对于正向容器迁移的公司来说,使用Spring是一个很好的解决方案,它会简化正在运行的应用程序所需的支持组件。

 

Spring入门与SpringInitializr一样简单,选择你希望的构建框架以及希望包含在初始应用程序中的所有Spring项目。它将创建Maven或Gradle配置,并启动所需的所有Spring基本配置。

 

从Initializr开始,创建一个简单的Web应用程序: 

最受欢迎的 Java Web 开发框架盘点_java

接下来将创建一个Zip文件,该压缩包含有如下文件:

./mvnw.cmd

./pom.xml

./.gitignore

./.mvn/wrapper/maven-wrapper.properties

./.mvn/wrapper/maven-wrapper.jar

./mvnw

./src/test/java/com/example/demo/DemoApplicationTests.java

./src/main/resources/application.properties

./src/main/java/com/example/demo/DemoApplication.java

 

需要有一个控制器:

—src/main/java/com/example/demo/DemoController.java:

 内容如下。

package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class DemoController {
    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }
}

 

另外,还需要一个模板文件:

 

<!DOCTYPE HTML>
<html>
<head>
    <title>Hello World</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <p>Hello World</p>
</body>
</html>

 

JSF 框架(Java Servr Faces)


项目网址:http://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html

赞助商:Oracle,JSF亦即将成为独立基金会。

 

JSF是用于显示定义为Java平台企业版(JavaEE)一部分的Web用户界面的规范。


JSF 1于2004年发布,并入JavaEE 5并使用Java Server Page(.jsp)作为其模板。 


JSF 2于2009年作为JavaEE 6的一部分发布,并利用Facelets进行模板化,并通过浏览器支持Ajax调用,以支持现代Web应用程序的生命周期。 JSF是基于组件的,允许使用其他组件进行扩展。 IceFaces和MyFaces是流行附加组件的例子。

 

由于JSF是Java标准的一部分,它非常受开发团队的欢迎,它们希望坚持已发布的标准以提高跨平台的可移植性。 JSF还允许通过Web界面扩展现有的后端Java代码,而不必通过引入新框架来重构基础应用程序。

 

一个简单的JSF应用程序需要一个ManagedBean,Facelet和映射该servlet。

 

helloworld.java

package helloworld;

import javax.faces.bean.ManagedBean;

@ManagedBean

public class HelloWorld {

    final String world = "HelloWorld!";

    public String getworld() {

        return world;

    }

}


helloworld.xhtml

<html lang="en"

     xmlns="http://www.w3.org/1999/xhtml"

     xmlns:h="http://java.sun.com/jsf/html">

    <h:head>

        <title>Facelets Hello World</title>

    </h:head>

    <h:body>

       #{hello.world}

    </h:body>

</html>

web.xml

<servlet>

    <servlet-name>Faces Servlet</servlet-name>

    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

    <load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

    <servlet-name>Faces Servlet</servlet-name>

    <url-pattern>/faces/*</url-pattern>

</servlet-mapping>

 

 

GWT(Google Web Toolkit)


项目地址:http://www.gwtproject.org/

主要赞助商:Google

 

GWT框架很像JSF,它专注于构建Web应用程序。它比原生JSF更受欢迎,它可以使用Java代码轻松维护复杂的JavaScript用户界面。随着越来越多的开发团队将Java推向后端,使用暴露在由Node.js构建的本地移动应用程序,用户界面中使用的REST API通信的方式。GWT使用的框架是Angular,在过去几年已经少了一些用户受欢迎程度,但仍不失为一个优秀框架。

 

小结

 

总体讲,还有许多不错的Java Web框架可满足开发者的需求。 前面介绍的三款框架不一定是最好的选择,这也取决于你的个人喜好。 但是我们知道,在Java中,当使用一个框架并熟悉它的功能并开发出产品时,切换到另一个框架并不是很小的工作量。