使用JavaScript进行服务器端WebAPI开发

baihehua00 2014-06-22

使用脚本开发应用程序有非常高的开发效率,在最新的JDK8中不但有原来的java命令执行java程序,还新加了一个jjs命令用来执行JavaScript程序,JDK8刚发布不久,基于jjs它开发的项目还非常少,这里特别介绍hijk项目,同时大家可以了解下jjs的实用性.

hijk 是一个自动化的WebAPI开发包,因为是自动化开发包,所以使用非常简单

基本用法:

新建一个javascript文件,写入两个HelloWorld

hijk.api.helloworld = function() {
    return  "Hello World!";
};
hijk.api.helloworld2 = function() {
    return {MSG: 'Hello World!'};
};

然后把文件复制到 ./js/ 目录,这两个javascript函数就会自动加载为WebAPI, 直接支持json。hijk是基于文件目录管理各模块的工具包,同时支持在线编写代码  http://localhost:8080/edit/js/demo.js


使用JavaScript进行服务器端WebAPI开发

WebAPI中取参数跟操作普通json对象一样简单

hijk.api.get = function(map, request) {
    var msg = {
        url: request.getRequestURI(),
        id : map.id[0],
        name: map.name[0] 
    };
    return msg;
};

定义数据库完全用javascript, 工具包会自动创建数据库表。

hijk.table.table1 = {
    data: {"id": 0, "name": ""},
    key: ["id"],
    index: [["name"]]
};

操作数据库也是javascript标准语法, 非常直观易于理解.

hijk.api.table1_insert = function() {
    var tid = hijk.db.id();
    var v = {
        id: tid,
        name: "name" + tid,
        fieldA: "fieldA" + tid,
        fieldB: "fieldB" + tid
    };
    if (hijk.db.insert("table1", v)) {
        return tid;
    } else {
        return -1;
    }
};


hijk.api.table1_select_sum = function() {
    var r = 0;
    hijk.db.select("from table1", [],
            function(v) {
                r += v.id;
                return true;
            });
    return r;
};

上面的javascript代码都是只需要复制到 ./js/ 目录就会自动加载为WebAPI. 可以使用外部应用程序或者普通html配合调用WebAPI.hijk工具包带有一个Web服务器,只需要把html页面复制到 ./html/ 目录就能用http访问,也可以使用 http://localhost:8080/edit/html/index.html 在线编辑html

<html> 
    <script   type="text/javascript">
        function hello() {
            var req = new XMLHttpRequest();
            req.open("GET", "/api/helloworld2", true);
            req.onreadystatechange = function() {
                if (req.readyState === 4 && req.status === 200) {
                    var o = eval("(" + req.responseText + ")");
                    alert(o.MSG);
                }
            };
            req.send();
        }
    </script>
    <body >
        <p> <img id="img1" src="" alt="" onclick="hello();"></p>
    </body>
</html>

hijk开发包使用了JavaScript的简易性,几行代码就能完成复杂的功能,可以自由修改扩展。扩展包复制到./kits/目录下,使用 jjs build.js 就会自动加入到运行命令中。与node.js不同, hijk是一个高层应用开发包,无须关注底层的各种异步机制。

hijk开发包项目连接地址

数据库组件连接地址

相关推荐