基于lua的网页脚本开发语言cgilua(转)
这里为大家介绍基于lua脚本实现的网页开发语言,cgilua
介绍
cgilua使用Lua是一个用于创建动态网页的服务器端脚本语言。纯LUA脚本和LUA页(LP)的支持,cgilua。Lua脚本是一个Lua程序创建一个网页的全部内容并返回给客户端。Lua页面是一个常规的标记的文本(HTML,XML等)文件中嵌入Lua代码中使用一些特殊的标签。这些标签是由cgilua和结果页返回到客户端的处理。
Lua脚本和Lua页同样易于使用,并选择其中的一个主要取决于所产生的网页的特点。当Lua页面逻辑和格式的分离更为方便,lua脚本更适合创建网页,更简单的结构,但需要内部处理的更有意义的量。
允许这两种方法来混合,cgilua提供Web应用程序开发人员提供了极大的灵活性,当这两个要求是存在的。详细的介绍了脚本的方法和一些应用实例见lua脚本和Lua页。
建筑
cgilua架构分为两层。在较低的水平是由服务器API(SAPI)和高水平的代表是cgilua API本身。SAPI是Web服务器和cgilua API之间的接口,因此它需要实现每个Web服务器和发射方法。
一个发射器负责cgilua与Web服务器的交互,实现SAPI例如使用ISAPI mod_lua IIS或Apache。cgilua发射器的参考实现是开普勒。
该cgilua API只使用SAPI实现,是完全可移植在不同的发射器的支持Web服务器。这样,任何Lua脚本或Lua页面可以被任何发射器。
请求生命周期
cgilua进程请求使用CGI隐喻(即使发射器不是基于CGI)和要求有一个可以由程序员定制的生命周期。cgilua请求的生命周期包括以下步骤的顺序为每个请求:
添加默认处理程序如luascripts和LUA页面和普通的文件格式。
执行config.lua文件,允许下一步的定制。
建立cgilua.post和cgilua.query表(处理后和查询数据)。
改变用户脚本目录。
执行注册的开放功能。
用正确的环境中执行请求的脚本。
执行注册关闭功能。
变回原来的目录
编辑config.lua文件可以自定义cgilua行为。一个典型的使用将注册的打开和关闭的功能,以改变请求处理行为。这个定制可以实现新的功能,如会话管理和私人图书馆目录剖面形态显示,甚至在整个cgilua生活方式实现新的抽象,MVC框架如轨道。
本文链接地址:http://luaie.paobuke.com/lua-web-develop-language-cgilua.html
基于lua的网页脚本开发语言cgilua(转)的更多相关文章
- NLua - 基于Lua的C#脚本引擎
Nlua NLua is the bind between Lua world and the .NET world. NLua is a fork of project LuaInterface ( ...
- ESP8266使用详解--基于Lua脚本语言
这些天,,,,今天终于看到了希望,,,天道酬勤 先说实现的功能...让ESP8266连接无线网,然后让它建立服务器,,我的客户端连接上以后,发给客户端发数据模块打印到串口,,往ESP8266串口里发数 ...
- 一、ESP8266入门(基于LUA开发)
序 一入坑便停不下来... 还挺有意思的哈,233,,,, 资料杂,自己一个一个去找确实浪费了不少时间,而且大多还都是英文的,需要硬着头皮看. 这次实践入门,更是对英语的重要确信无疑.Github必须 ...
- 开发语言性能对比,C++、Java、Python、LUA、TCC
一直想做开发语言性能对比,刚好有时间都做了给大家参考一下, 编译类:C++和Java表现还不错 脚本类:TCC脚本动态运行C语言,性能比其他脚本快好多... 想玩TCC的同学下载测试包,TCC目录下修 ...
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
- 基于NSIS脚本开发的安装程序制作软件:易量安装
原文 基于NSIS脚本开发的安装程序制作软件:易量安装 前几天“萝卜”给我推荐了一款安装程序制作工具——易量安装. 易量安装是一款安装程序制作软件,基于著名的NSIS(Nullsoft Scripta ...
- Redis进阶之使用Lua脚本开发
1.在Redis中使用Lua 在Redis中执行Lua脚本有两种方法:eval和evalsha. (1)eval eval 脚本内容 key个数 key列表 参数列表 下面例子使用了key列表和参数列 ...
- Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试 by:授客 QQ:1033553122 目的 实现基于http协议的流媒体在线视频播放,服务器性能测试脚本,模拟用户浏览器方式在线播放 ...
- Android 必须知道2018年流行的框架库及开发语言,看这一篇就够了!
导语 2017 已经悄悄的走了,2018 也已经匆匆的来了,我们在总结过去的同时,也要展望一下未来,来规划一下今年要学哪些新技术.这几年优秀Android的开源库不断推出,新技术层出不穷,需要我们不断 ...
随机推荐
- hdu 3309 Roll The Cube ( bfs )
Roll The Cube Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- webservice之cxf样例
整理參考于网上资源: http://wenku.baidu.com/link?url=MbPPOKCficQCAwSZduszpMFSD3f8xCKeNz6YUtwFS1TkHharz1aPPfkXD ...
- Anyterm - Introduction
Anyterm - Introduction Anyterm
- HTML5线性图表 图表数据区域可着色
这是一款基于Canvas的HTML5图表应用,在图表数据初始化的时候伴随动画效果. 在线演示: 点击演示 源代码下载: 点击下载 核心jQuery代码: var myData = { labels ...
- ActionBar本部分适用述评
http://note.youdao.com/share/?id=7f213cb64069bad221f4581507707294&type=note 因为把图片拿进来太麻烦,所以我给了一个直 ...
- 线段树 [成段更新] HDU 1698 Just a Hook
成段更新,需要用到延迟标记(或者说懒惰标记),简单来说就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候. 此处建议在纸上模拟一遍. Problem Descript ...
- The method getDispatcherType() is undefined for the type HttpServletRequest 升级到tomcat8(转)
配置项目,从tomcat低版本,放到tomcat8时,正常的项目居然报错了: The method getDispatcherType() is undefined for the type Http ...
- C++封装SQLite实例<三>
前一篇博客中介绍的是怎样依据sqlite3_get_table()函数来获取一张表的内容,就是一股脑的把表中的内容所有存储起来放在一个一维数组中,这其中的规则已经介绍过了.接下来讲的是怎样依据一个SQ ...
- Android 通过调用系统,如接口 谷歌语音、百度语音、科大讯飞语音等语音识别方法对话框
现在app在发展过程中会集成一些语音识别功能,不具有其自己的显影剂一般正在开发的语音识别引擎,所以在大多数情况下,它是选择一个成熟的语音识别引擎SDK集成到他们的app在. 平时,这种整合被分成两个, ...
- 开源 免费 java CMS - FreeCMS1.9 会员组管理
项目地址:http://www.freeteam.cn/ 会员组管理 会员组分为两种,一级是经验会员组,一种是特殊会员组. 经验会员组的会员会依据经验自己主动变更,特殊会员组不会自己主动变更,须要管理 ...