21世纪末控制技术官街道社区编者按:Java产业发展迄今已20百余年,是现阶段合作开发人员最须要的C语言众所周知,为相同示例、相同情景涌现多种类型的架构,意在减低合作开发人员的多次重复代码和下层组织工作。在责任编辑,他们上看现如今什么样Java Web架构现阶段最热烈欢迎。
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/
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应用程序:
接下来将创建一个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;@Controllerpublic 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;
importjavax.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中,当使用一个架构并熟悉它的功能并合作开发出产品时,切换到另一个架构并不是很小的组织工作量。
作者:春雨