java创建ee项目_项目头像–下一个Java EE功能?
java创建ee项目
又是一年中的这个时候。 圣诞节假期快到了,Java Advent Calender不断填满。 今天要写我的惊喜帖子。 我是Markus ,也称为@myfear , 多年来我一直在与Java EE和一堆相关服务器一起使用,并且一直在使用它们。 除了日常工作外,我还开始通过Java EE 7版本更加积极地为Java EE专家组做出贡献。 一段时间以来,由于EE 7已经面世,现在已经可以开始计划该平台的下一个修订版了,很可能称为Java EE8。Oracle进行了社区调查 ,他们希望从社区中获取意见。关于他们打算添加的某些功能的相对重要性。 首先,这应该鼓励感兴趣的读者参加并参加调查 。 其中的一个特别要点是有关对基于HTML 5的动态应用程序的支持。 尽管WebSocket和JSON Processing已将其纳入Java EE 7中,但目前还有另一项功能,尤其是GlassFish和WebLogic(通过Jersey )中的一些功能,可以标准化。 服务器已发送事件(SSE)。 它已经是HTML5规范的一部分,将是标准化的很好的候选者。 但是Oracle还在进一步考虑,并在询问是否有足够的支持和兴趣来真正标准化Java EE服务器上JavaScript的使用。 当这种问题开始出现在JavaOne 2012上时,在Nashorn上基本上被称为Node.jar 。 从今年9月开始,我们知道了真实的名字: Project Avatar 。
头像一览
Project Avatar提供了一个JavaScript服务层,用于支持REST,WebSockets和服务器发送的事件,并提供了一个丰富的客户端框架,该框架假定了很少JavaScript知识。 服务端侧重于使用JavaScript构建数据服务,而可选客户端端侧重于支持HTML5和TSA(瘦服务器体系结构)。
Avatar项目(来源: avatar.java.net )
瘦服务器架构
随着HTML5,CSS3和快速JavaScript引擎的引入,现代浏览器已成为功能强大的平台。 随着所谓的单页应用程序(SPA)(也称为单页界面(SPI))的出现,现代用户界面的设计已从服务器端生成转移到适合单个网页的Web应用程序或网站。目的是提供类似于桌面应用程序的更流畅的用户体验。 SPA将逻辑从服务器移至客户端。 这导致Web服务器的角色演变为纯数据API或Web服务。 这种架构方法被称为“瘦服务器架构”,以表明复杂性从服务器转移到客户端,同时降低了整体系统的复杂性。
阿凡达到底是什么?
但是,Avatar不仅限于TSA方法。 它主要包括三个部分。 该基础由即将到来的Java 8构建,并且包括称为NashornJavaScript实现。 最重要的是Avatar Runtime,其中包括一个附加的编译器层和一个基于Servlet API的服务器。 这些抽象使它可以在各种运行时中托管。 Avatar应用程序由客户端“视图”,服务器端“服务”或两者组成。 重要的是,它们之间不存在固有的耦合,这使视图可以与现有服务进行通信,并允许任何类型的客户端使用服务。 应用程序“归档”部署在服务器上,并进行编译以生成针对该应用程序定制JavaScript。 生成的用于视图JavaScript处理与DOM / UI的数据绑定以及对远程服务和本地存储的数据管理。 Avatar存档与Java EE Web存档有些相似。 它们由WEB-INF文件夹,根目录中的avatar.properties文件以及视图目录和/或服务目录组成。 Avatar支持文件系统目录或.zip(.war)文件。
服务器上剩下的所有内容–服务
服务扩展了REST,WebSocket或Push(SSE)抽象,并且其生命周期完全由框架处理。 服务实现可以利用内置的Node模块以及大多数第三方模块。 由于Nashorn支持直接调用Java代码,因此您也可以直接使用大多数Java库。
客户端–视图
视图是浏览器所需HTML。 它还包含自定义的“数据” HTML扩展名和简单JavaScript模型。 在将包含自定义生成JavaScript的完整SPA HTML文件发送到浏览器之前,这些视图将由(服务器端)编译器翻译。
一个简单的例子。
Oracle为Avatar提供了一套不错的示例和文档,基本上足以让您入门。 亲自尝试的第一件事是针对您的OS的JDK 8 Early Access Build 。 在撰写本文时,我尝试使用最新的Developer Preview b118。 安装后,您需要获取最新的GlassFish Open Source Edition 4.0服务器并将其解压缩到合适的位置。 通过将<jdk8> / bin放入PATH环境变量或将以下条目添加到<gf4> / glassfish / config asenv.bat / conf中,确保它与已安装的JDK 8一起运行。
set AS_JAVA=<jdk8>
不要继续下载最新的avatar-1.0-ea.zip并将其扩展到<gf4> / glassfish /目录。 之后,您需要设置AVATAR_HOME环境变量并将其指向<gf4>安装目录。 并确保将%AVATAR_HOME%\ glassfish \ bin添加到PATH环境变量中。
如果完成所有这些操作,则可以切换到工作区文件夹并发出以下命令,以使Avatar为您创建一个简单的示例应用程序:
avatar new --example=hello
它创建一个基本的“ hello”应用程序,该应用程序仅包含一个视图。 这是一个开始探索的好地方,之后您可以直接启动Glassfish实例,并像处理每个典型Java EE应用程序一样部署该应用程序:
asadmin start-domainasadmin deploy hello
“您好示例”应用。
将浏览器指向http:// localhost:8080 / hello将显示该应用程序。 您可以直接编辑位于<workspace> /hello/view/src/hello.html的视图。 在服务器运行时,Avatar负责直接为下一个请求重新编译。 这确保了快速发展。 此行为由avatar.properties文件中的“ debug = true”属性控制,可以针对生产型系统进行更改。 进一步,将其设置为false会导致在交付之前最小化所有.js和.css文件。
至少如果您首先下载并将所需的YUI压缩程序( jar下载 )首先添加到Avatar中。 由于许可证限制,它没有捆绑在一起。 只需将其放入<gf4> / glassfish / modules / avatar-ext / lib。 您可能需要首先创建该目录。
除了这个非常简单的示例,它根本不提供任何服务,还有更复杂的示例,可以通过%AVATAR_HOME%/ Project-Avatar-examples /进行分发。 为了方便起见,有完整的example.ear可供直接部署和测试。 要访问示例,只需在示例名称前加上“ demo-”即可。 因此,可以通过http:// localhost:8080 / demo-rest /访问“ rest”示例。
TodoMVC –带有头像的示例应用
您必须注意要在不同示例中展示的不同功能。 如果您想了解Avatar如何处理持久性,则可以仔细研究使用FileDataProvider保存项目的其余示例。 另一个有趣的示例是基于TodoMVC的应用程序( http:// localhost:8080 / demo-todo / )。 它展示了一个更复杂的视图,该样式也已进行了样式设置。
接下来是什么?
截止到今天,没人知道阿凡达会发生什么。 总体上,社区反馈并没有很大声或令人兴奋。 我猜这是因为没人真正知道该怎么做。 到目前为止,最大的缺点是,它仅与GlassFish一起运行,这将进一步限制采用率和社区利益。 鉴于事实,SSE并不是Java EE规范的一部分,这可能会使将其移植到其他应用程序服务器上变得更加困难。 即使许可证( 具有Classpath Exception的GPL2 )应该允许它。 回到最初的调查,以及有关指定服务器端JavaScript与Java EE集成的想法,您至少知道Oracle在谈论Avatar时在谈论什么。 继续进行调查,并告诉他们您对在Java EE中拥有这种东西的想法。
祝您节日快乐,新的一年充满和平与繁荣。
翻译自: https://www.javacodegeeks.com/2013/12/project-avatar-the-next-java-ee-feature.html
java创建ee项目
java创建ee项目_项目头像–下一个Java EE功能?相关推荐
- 项目头像–下一个Java EE功能?
又是一年中的这个时候. 圣诞节假期快到了,Java Advent Calender也在不断填满. 今天要写我的惊喜帖子. 我是Markus ,也称为@myfear , 多年来我一直在与Java EE和 ...
- java实验常见错误_求高手点拨一个Java SWING的IM系统实验的错误解决方案。
高手,您好: 小弟遇到的代码场景为: 制作了一个Java SWING技术结合Socket技术实现的IM通信实验. 通信为双向全双工通信,通信方分为S端和C端. 下面,小弟贴出小弟的全部实验源代码,请高 ...
- java linux解压_在LINUX下 用JAVA如何解压rar文件
展开全部 楼主试试这个代码~~ package decompress; import java.io.File; import java.io.FileOutputStream; import org ...
- java窗体 个人信心_帮忙写下代码java swing,个人信息实例
展开全部 本人急忙62616964757a686964616fe59b9ee7ad9431333332636264做的:有什么不合要求的请再告诉我: package show; import java ...
- java mplayer 源码_师兄写的一个JAVA播放器的源代码
MediaPlayer.java ---------------------------------------------------------------------------- //程序主文 ...
- JAVA 创建带个人信息,头像等内容和可变二维码的海报
文章目录 JAVA 创建带个人信息,头像等内容和可变二维码的海报 1.添加二维码依赖包 2.写画图工具类 3.运行main 方法 4.防止重复创建 JAVA 创建带个人信息,头像等内容和可变二维码的海 ...
- java护照号码校验_学无止境之小白学java……第001天
学习主题:预科阶段 对应视频: http://www.itbaizhan.cn/course/id/18.html 对应作业: 1. 为什么需要学编程,什么样的人可以做程序员? 编程是现实逻辑的表达, ...
- 编译运行一个java程序_如何从另一个Java程序编译和运行Java程序
编译运行一个java程序 Have you ever thought if it's possible to compile and run a java program from another j ...
- Interview:Java岗位面试—面试求职攻略之一个JAVA程序员面试心得(非常值得收藏)
Interview:Java岗位面试-面试求职攻略之一个JAVA程序员面试心得(非常值得收藏) 导读 据网上资料显示:2018年互联网行业是寒冬,其他行业日子也不好过.各个互联网大厂纷纷缩招减员,严格 ...
最新文章
- 图解机器学习:人人都能懂的算法原理(附链接)
- 第十七届全国大学生智能车竞赛航天智慧物流创意组-第二次线上技术培训
- ORA-00257: archiver error. Connect internal only, until freed
- 关于论文检索的几点知识
- class反编译_IDEA反编译功能小试牛刀
- 乐高ev3涉及到的一些赛事_使您成为英雄的前五名开发者技能(提示:涉及LEGO)
- java设置框架位置_怎样设置label的位置啊?求指导
- 运维测试工作笔记0001---单台普通8G内存的服务器-可以达到的http并发量
- NSURLCache详解和使用
- Egret入门学习日记 --- 问题汇总
- 我们应该如何去了解JavaScript引擎的工作原理
- WKWebview的内存问题
- Unity 自动寻路入门 NavMeshComponents
- [转]VS2013+简单稀疏光束调整库SSBA配置(64位编译)
- 从怎样解题到怎样解决问题
- 判断一个数是否是素数
- 电子商务法律法规【1】
- 数字图像处理不得不知的点(1)
- 服务器怎么设置自动拨号,网件路由器怎么设置自动拨号
- 百度网盘mac损害计算机,Mac 电脑百度网盘一直闪退怎么办?解决办法