dev*_*sda 19 apache open-source jackrabbit apache-felix sling
我在这里问一个非常基本的问题.
问题是
我正在我的项目中使用Apache Sling,Apache Jackrabbit,Apache Felix.我试图理解为什么这些软件是由Apache开发的.我在互联网上尝试了很多,但我没有找到任何博客或wordpress博客,或任何有用的youtube视频解释所有这些项目.你能解释一下这些项目吗?
Why these projects developed?
What they do ?
and more questions like this
Run Code Online (Sandbox Code Playgroud)
以前我发现Apache Hadoop也有同样的疑问,但我在网上找到的所有资料都足以让我了解这个项目.这次我和Sling,Felix,Jackrabbit一起挣扎.
我将非常感谢你.等待你的回应.
Tho*_*ler 33
Apache Jackrabbit,Apache Sling和Apache Felix的组合允许您构建Web应用程序.
Apache Jackrabbit是JCR API的参考实现.在JCR API是管理内容库; 例如,管理网络内容.内容存储库是文件系统和数据库之间的混合.
JCR API专门用于处理Web内容.为什么不使用JCR API,为什么不使用关系数据库API?URL是分层的,就像在文件系统中一样.关系数据库不容易支持分层访问.为什么不使用文件系统API?因为JCR支持文件系统API不支持的事务,版本控制和许多其他功能.
Apache Sling是一个基于JCR API的Web框架,它利用了JCR API提供的功能(15分钟介绍).
Apache Felix是一个OSGi容器.它允许在Web服务器运行时无缝地启动,停止和替换Web应用程序的组件(在某种意义上是jar文件).这意味着它允许您更改应用程序而无需重新启动服务器.
san*_*zky 19
Sling可以用非常简单的术语描述为JCR的REST API.您可以使用http请求来管理存储库中的内容.
此外,Sling提供了一种机制,以不同的方式呈现内容以供Web使用.您可以在Felix容器中使用脚本(例如JSP)和java代码(servlet,pojos等)来处理请求并发送请求.
当对特定节点发出请求时,Sling会查找名为的属性sling:resourceType
,这是用于呈现脚本的查找键.然后使用节点作为输入执行适当的脚本.
您可以为渲染器编写不同类型,然后使用它以不同方式显示您的内容.
例如,您可以编写两个脚本full.json.jsp和short.json.jsp,然后使用它们以两种不同的方式呈现相同的节点:
/content/app/node.full.json
Run Code Online (Sandbox Code Playgroud)
要么
/content/app/node.short.json.
Run Code Online (Sandbox Code Playgroud)
Sling基本上匹配请求URL中的标记以选择适当的脚本.
他们有一个非常好的备忘单,解释了请求解析和渲染的工作原理
它比这更复杂,因为一切都是在资源和组件中组织的.您想查看他们的网站以获取更多信息