黑马ee在职进阶视频_进阶– Java EE 7前端5强

黑马ee在职进阶视频

ee-7概述 系列继续。 在初步概述和Arjan关于最重要的后端功能的文章之后 ,我现在非常高兴让Ed Burns( @edburns )使用他最喜欢的Java EE 7前端功能完成本系列。

感谢Markus Eisele让我有机会在他非常受欢迎的博客上发表帖子。 我和Markus的关系可以追溯到2010年左右,但我还没有来宾发布的乐趣。 Markus要求我介绍Java EE 7 Web层。 由于EE 7是非常成熟的平台的成熟版本,因此已经发布了很多有关它的信息。 我不会重述以前发生的事情,而是要就我认为重要的方面和每个方面的高级概述给出自己的看法。

如果您想了解更多有关第一手的知识,请考虑参加我在JavaLand 2016上的全日培训。我正在与现代金融和HTML5专家Oliver Szymanski一起进行培训。 有关详细信息,
请访问javaland网站 。

首先,从历史角度看。 Markus要求我写有关Java EE 7 Web层的文章。 让我们看一下这个术语,也称为“ Web层”或“表示层”。 如果要相信围绕微服务等新思想的炒作,该术语本身就听起来有点过时了,因为它暗示着一个三层体系结构,另外两层是“业务逻辑”,

“持久性”。 当然,三层还不够微观,对吧? 嗯,随着企业随着职责分配以寻求通过其软件实现最大业务价值的修补,这些层之间的界限变得越来越模糊。 无论如何,Java EE一直是Java平台的高度集成的企业技术集合,它使用基于共识的开放式开发实践(Java Community Process或JCP)进行了演进,并得到了主要利益相关者的实质性参与。 该平台的“ Web层”实际上只是在开发整体解决方案的“ Web层”时可能会有用的一组技术。 这是一个很大的清单:

  • WebSocket 1.0 JSR-356
  • JavaServer Faces 2.2 JSR-344
  • Servlet 3.1 JSR-340
  • JSON处理1.0 JSR-353
  • REST(JAX-RS)2.0 JSR 339
  • Bean验证1.1 JSR-349
  • 上下文和依赖注入1.1 JSR-346
  • Java 1.0 JSR-330的依赖项注入
  • Java EE 1.0 JSR-236的并发实用程序
  • 表达式语言3.0 JSR-341

出于本博客条目的目的,让我们看一下前五个:WebSocket,JSF,Servlet,JSON和JAX-RS。 虽然后五个无疑是专业网络层的必备要素,但查看它们超出了本博客条目的范围。

WebSocket

JSF和WebSocket是仅有的两个与W3C HTML5规范直接相关的Java EE 7规范。 对于WebSocket,实际上有三个不同的标准主体在起作用。 网络套接字WebSocket由IETF的RFC-6455指定。 WebSocket

W3C将JavaScript API指定为HTML5的子规范。 WebSocket Java API由JCP在JSR-356下指定。 在WebSocket的所有方面,重点是提供基于消息的可靠的全双工客户端-服务器连接。

通过JSR-356,您可以在Java SE和EE应用程序的客户端和服务器功能中使用WebSocket。

在服务器端,它允许您公开WebSocket终结点,以便浏览器可以使用其对WebSocket JavaScript API和网络协议的现有支持连接到该终结点。 您可以通过注释一些POJOS或通过从Java代码(例如从ServletContextListener)强制调用自举API来向系统声明端点。 建立连接后,服务器可以从/向发生的任何数量的客户端发送和接收消息

同时连接。 运行时将自动处理连接设置和拆除。

WebSocket Java客户端API通过提供与W3C JavaScript WebSocket API的Java类似物,允许Java SE应用程序与WebSocket端点(Java或其他)对话。

Java Server Faces(JSF)

在JSF 2.2中,我们添加了许多新功能,但在这里我仅介绍其中的三个。

HTML5友好标记使您能够以几乎纯净HTML(必须格式正确)编写JSF页面,而无需使用某些人认为笨拙且难以理解的XML名称空间。 这是可能的,因为基础HTML Basic JSF RenderKit(来自JSF 1.0)提供了所有必要的原语,以采用任意的映射约定。

相应的JSF UIComponent的一部分HTML标记。 例如,这是有效的JSF表单

<form jsf:id="form"><input jsf:id="name" type="tel" jsf:value="#{complex.name}" /><progress jsf:id="progress" max="3" value="#{complex.progress}" /></form>

唯一的问题是需要通过使用命名空间属性将元素标记为JSF组件。 这意味着您必须在<html>标记中至少声明一个名称空间:

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"xmlns:jsf="http://xmlns.jcp.org/jsf">

Faces Flows是ADF Task Flows和Spring Web Flow中页面流概念的标准化。 流使您能够将具有某种逻辑连接并且需要共享状态的页面组合在一起。 流定义了一个逻辑作用域,该逻辑作用域在进入流时变为活动状态,并在退出流时可用于垃圾回收。 有丰富的语法可用于描述流程,如何输入,退出,如何相互关联,相互传递参数,

和更多。 由于在上下文和依赖注入(CDI)之上实现了流功能,因此提供了许多便利。 流可以打包为jar文件,并包含在您的Web应用程序中,从而实现Web应用程序各部分的模块化。

正如流程启用行为模块化一样,资源库合同(RLC)启用外观模块化。 RLC提供了一个非常灵活的蒙皮系统,该系统基于Facelets构建,并允许您将皮肤包装在jar文件中,从而有效地实现了模块化的外观。

Servlet

Servlet 3.1中最重要的新功能是对非阻塞IO的附加支持。 它基于Servlet 3.0(来自Java EE 6)的主要功能:async io。 React式编程的Swift兴起表明,Java应用程序再也无法承受阻塞IO的负担。 响应式编程的四个关注点:响应性,弹性,弹性和事件基础是在此前提下建立的。 在Servlet 3.1中非阻塞IO之前,很难避免在Servlet应用程序中阻塞。

基本思想是,在可以安全完成IO而不会阻塞的情况下,允许Servlet运行时回调应用程序。 这可以通过新的侦听器接口ReadListener和WriteListener来实现,它们的实例可以在ServletInputStream和ServletOutputStream上的方法中注册。

当您将此功能添加到Servlet 3.0中添加的async-io功能时,可以编写基于Servlet的应用程序,这些应用程序可以自豪地显示“ We Are Reactive”横幅。

JSON格式

从外部的角度来看,使用Java解析和生成JSON的能力当然并不是什么新鲜事物。 甚至在Java EE 7之前,都有许多解决方案可以满足这一基本需求。 遵循标准不是为了创新而是要在现有思想上赋予特殊地位的原则,Java EE 7中的JSON支持提供了使用简单的Java API解析和生成JSON的功能。 可以使用JsonParser以流方式进行读取,也可以使用JsonReader以批量方式进行读取。 可以使用JsonGenerator以流方式完成编写。 可以使用JsonBuilderFactory和JsonWriter以批量样式进行编写。

JAX-RS

很难夸大REST对面向非最终用户的软件的现代企业软件开发实践的重要性。 我要说的是,人们去Javadoc(或JSDoc或appledoc等)学习如何使用API​​的日子已经一去不复返了。 如今,如果您

企业API没有公开为RESTful Web服务,您甚至可能不会考虑。 JAX-RS是在Java中完成REST的方式。 自Java EE 6起,JAX-RS就成为Java EE的一部分,但在Java EE 7中得到了2.0的待遇。2.0中的主要功能包括:

  • 客户支持:我认为,此功能最有用的应用是使用JUnit对RESTful服务进行自动化测试,而不必依靠持续集成带来的麻烦。 当然,您也可以将其用于服务到服务的交互。
  • 与JSON的无缝集成:在大多数情况下,HTTP方法端点上的简单@Produces(“ application / json”)批注足以输出JSON。 JSON格式的数据也将以Java易于使用的格式自动提供给您。
  • 异步支持(再次处于活动状态):此功能使您能够执行生成对另一个线程的响应所需的处理,从而允许原始线程立即返回,因此不会发生阻塞。 异步线程准备就绪后可以自由响应。

自然,这只会刮擦Java EE 7 Web层的表面。 有关更多详细信息,一个不错的起点是正式的Java EE 7 启动网络研讨会 。

希望在JavaLand见到您!

谢谢Ed抽出宝贵时间写这篇文章。 如果现在还不是时候使用Java EE 7,那么下面是一些帮助您开始使用JBoss EAP 7和WildFly的资源:

  • EAP 7 Alpha和Java EE 7入门
  • 带有JBoss工具的OpenShift 3上的Java EE 7应用程序
  • GitHub上的Java EE 7示例
  • JBoss EAP 7快速入门

翻译自: https://www.javacodegeeks.com/2016/01/refresher-top-5-java-ee-7-frontend.html

黑马ee在职进阶视频

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何构建股票ChatGPT查询全球股票市场以及常用Prompt

Blog&#xff1a;4 ways to use ChatGPT Stock Chatbot for stock analysis of Global Stock Markets NASDAQ NYSE LSE HKEX TSE NSE HANGHAI SHENZHEN 地址&#xff1a;http://deepnlp.org/blog/chatgpt-stock-global-market 全球股票市场&#xff1a;NASDAQ 纳斯达克, NYSE…

web.xml.jsf_看一下即将发布的JSF 2.3 Push支持

web.xml.jsf如前几篇文章所述&#xff0c;下一版本的JavaServer Faces&#xff08;Mojarra&#xff09;已添加了许多增强功能。 JSF 2.3计划于2017年与Java EE 8一起发布&#xff0c;但是您现在可以通过从源代码构建或运行里程碑版本来获得JSF的一些增强功能和更新以用于测试目…

android视频教程那个讲的最好,最全的android视频教程推荐 android视频教程怎么学习效果好...

很多同学对android学习很感兴趣&#xff0c;都对此有这样的疑问&#xff1a;“最全的android视频教程推荐&#xff0c;android视频教程怎么学习效果好?”那这里android培训专家就给我们来具体讲解下。Android开发学习主要是学习Android平台下开发的基础知识以及项目编程的实用…

android size_t在哪个头文件,size_t

size_t 类型定义在cstddef头文件中&#xff0c;该文件是C标准库的头文件stddef.h的C版。它是一个与机器相关的unsigned类型&#xff0c;其大小足以保证存储内存中对象的大小。例如&#xff1a;bitset的size操作返回bitset对象中二进制位中1的个数&#xff0c;返回值类型是size_…

jqgrid mvc_将JQGrid与Spring MVC和Gson集成

jqgrid mvc我在一个单页面应用程序上工作&#xff0c;我想在使用Spring MVC的应用程序的一部分中使用网格功能。 自从我上次使用JQGrid以来已经有一段时间了&#xff0c;找到让我起床所需的信息有点困难。 在这篇文章中&#xff0c;我想整理所有信息并将其放入教程中&#xff0…

javadocs_不会吸引人的JavaDocs源样本

javadocsJavaDoc源代码嵌入很烂&#xff01; 我喜欢JavaDoc&#xff0c;但年龄不理想。 当您使用其他工具&#xff08;例如&#xff0c;在Microsoft世界中&#xff09;时&#xff0c;嵌入式示例突然变得惊人&#xff0c;并且内置了“搜索”功能&#xff01; 我们为什么不能拥…

html语义化有哪些优点,语义化的HTML结构到底有什么好处?

相信大家都知道html和css&#xff0c;知道html结构和css表现分离&#xff0c;知道html语义化&#xff0c;这些都是这几年的热门关键字。语义化的html在国内也是一两年前才开始被追捧的&#xff0c;看看现在群里谈论的html结构&#xff0c;关于html结构的面试题&#xff0c;语义…

vert.x 分布式锁_使用Vert.x进行响应式开发

vert.x 分布式锁最近&#xff0c;似乎我们正在听到有关Java的最新和最好的框架的消息。 Ninja &#xff0c; SparkJava和Play等工具; 但是每个人都固执己见&#xff0c;使您感到需要重新设计整个应用程序以利用它们的出色功能。 这就是为什么当我发现Vert.x时令我感到宽慰的原因…

c语言 char c1,c2; for (c1='0',C语言-5循环结构(PPT)复习课程.ppt

C语言-5循环结构(PPT)复习课程.ppt第五章 循环结构程序设计;课程引入;第五章 循环结构程序设计;5.1 while 语句;例1&#xff1a;求;1. do-while循环语句的形式 do 循环体 while(条件表达式)&#xff1b; ;表达式0&#xff1f;;【例5.3】while和do-while循环的比较。;一般格式&a…

jvm高并发_JVM上的高并发HTTP客户端

jvm高并发HTTP可能是最流行的应用程序级别协议&#xff0c;并且有许多库在网络I / O之上实现它&#xff0c;这是常规I / O的一种特殊&#xff08;面向流&#xff09;情况。 由于所有I / O都有很多共同点1 &#xff0c;所以让我们开始对其进行一些讨论。 我将集中讨论具有大量并…

html双击变成可编辑,jquery 实现双击编辑并保存

jquery 实现双击编辑并保存Jesse2013-12-11 19:47:001153最近在做一个数据修改的例子&#xff0c;一个个点开修改很麻烦&#xff0c;于是就想到ecshop后台里的 只需单击就以编辑了&#xff0c;在网上查阅资料&#xff0c;就想到双击修改&#xff0c;失去鼠标焦点后post执行HTML…

jmeter 采样器作用_实施自定义JMeter采样器

jmeter 采样器作用随着我们采用不同的体系结构和实现方式&#xff0c;对通用压力测试工具的需求不断增长。 关于负载测试&#xff0c; Apache Jmeter是最知名的工具之一。 它支持许多协议&#xff0c;例如ftp http tcp&#xff0c;并且可以轻松地用于分布式测试。 Jmeter还为…

html 闪烁文本,HTML最简单的文字闪烁代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Titlekeyframes blink{0%{opacity: 1;}50%{opacity: 1;}50.01%{opacity: 0;}100%{opacity: 0;}}-webkit-keyframes blink {0% { opacity: 1; }50% { opacity: 1; }50.01% { opacity: 0; }100% { opacity: 0; }}-moz-keyframes blin…

xp系统 javafx_使用JavaFX构建React系统

xp系统 javafxJavaFX是用于在Java中构建图形应用程序的新标准库&#xff0c;但是许多程序员仍然对Swing甚至&#xff08;高音&#xff09;AWT感到困惑。 在Java诞生20年来&#xff0c;发生了很多事情。 两年前&#xff0c;当我开始研究Speedment UI的JavaFX库时&#xff0c;我发…

html手机端图片点击放大缩小快捷键,PS放大缩小图片的快捷键是什么?PS放大缩小图片的操作技巧...

PS放大缩小图片的快捷键是什么&#xff1f;PS怎么放大缩小图片&#xff1f;使用PS处理图片可是个精细的活儿&#xff0c;为了让图片处理得更加完美&#xff0c;我们经常需要将图片放大来处理&#xff0c;修改好之后又要缩小图片看下整体效果&#xff0c;这样来回切换其实挺麻烦…

webstorm html代码提示设置,Webstorm设置代码提示

下载路径&#xff1a; https://github.com/virtoolswebplayer/ReactNative-LiveTemplate本插件可以配合Webstorm设置代码提示。Mac下安装Webstorm2016.1为例安装路径在终端&#xff1a;$ cd ~/Library/Preferences/$ ls找到Webstorm版本$ open WebStorm2016.1先将ReactNative.x…

滑动拼图验证码操作步骤:_拼图项目:一个不完整的难题

滑动拼图验证码操作步骤&#xff1a;马克雷因霍尔德&#xff08;Mark Reinhold&#xff09;最近提议延迟Java 9&#xff0c;以花更多的时间完成项目Jigsaw&#xff0c;这是即将发布的版本的主要功能。 虽然这个决定肯定会使Java的厄运论者重回舞台&#xff0c;但我个人感到很轻…

document中输出html字符串流,HTML DOMDocument从段落后面的标签中获取字符串

我想解析html文档。我需要h2之后所有p的内容。要解析的html :(示例)Lorem ipsumLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridic…

arcgis adf数据_使用ADF列表视图的主从数据

arcgis adf数据从UI角度来看&#xff0c;最近ADF Faces 表组件不再被认为很酷。 对于显示数据集合&#xff0c; 列表视图今天应该很酷。 这并不意味着我们根本不应该使用af&#xff1a;table 。 在某些情况下&#xff08;经常是:)&#xff09;&#xff0c;表比列表视图更适合。…

jmeter添加html,Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告...

目录一、jmeter报告仪表板相关信息二、文件修改说明三、jmeter.properties文件配置四、user.properties文件配置五、新建jtl报告目录六、复制jmeter.properties文件并重命名七、写批处理bat文件八、准备jmeter测试计划脚本九、本地调试bat文件十、Jenkins自动化构建一、jmeter报…