WEB开发网
开发学院网页设计JavaScript javascript模板添加nodejs支持 阅读

javascript模板添加nodejs支持

 2012-10-26 19:18:54 来源:WEB开发网   
核心提示: 最新版开始支持nodejs, 支持类似于j2ee的开发方式, servlet, jsp等webserver.js, 类似于jsp/servlet容器,javascript模板添加nodejs支持,可以运行js版的servlet, jsp示例代码:var os = require("os");var

 最新版开始支持nodejs, 支持类似于j2ee的开发方式, servlet, jsp等
webserver.js, 类似于jsp/servlet容器,可以运行js版的servlet, jsp
示例代码:

var os = require("os");
var fs = require("fs");
var http = require("http");
var URL = require("url");
var july = require("./webserver.js");

var servletContext = new july.ServletContext();
servletContext.home = "webapp";
servletContext.path = "/test1";

servletContext.set("test1", "/test1", function(request, response, servletChain){
    response.write("test1: Hello World !");
    servletChain.doChain(request, response);
});

servletContext.set("test2", "(/test1)|(/test2)", function(request, response, servletChain){
    response.write("test2: Hello World !");
});

servletContext.set("test3", "/test3", function(request, response, servletChain){

    var userList = [];

    for(var i = 0; i < 20; i++)
    {
        userList.push({"name": "tome" + i, "sex": 1, "birthday": new Date});
    }

    request.setAttribute("pageNum", 1);
    request.setAttribute("pageSize", 20);
    request.setAttribute("total", 373);
    request.setAttribute("userList", userList);
    request.getRequestDispatcher("/test.jsp").forward(request, response, servletChain);
});

var webApplication = new july.WebApplication();
webApplication.servletContext = servletContext;

var server = http.createServer(function(request, response){
    console.log("request.url: " + request.url);
    webApplication.dispatch(request, response);
});

server.listen(80, "localhost");

虚拟主机支持:

var webApplication = new july.WebApplication();
webApplication.servletContext = servletContext;

server.listen(80, "localhost");

var webServer = new july.WebServer();
var vistualHost = new july.VistualHost("(www\.mytest\.com)|(mytest\.com)");
vistualHost.add("/test", webApplication);

var server = http.createServer(function(request, response){
    console.log("request.url: " + request.url);
    webServer.dispatch(request, response);
});

目前基本功能已经完成,文件扫描功能正在开发。
一个jsp页面一旦被编译将被缓存,不再编译,因此如果改动,目前只能重启服务器。
所以下一步需要开发文件扫描功能,如果改动,将重新加载该文件。

静态文件服务功能也未添加。

目前支持的功能

1. 一个server下可以添加多个虚拟主机,可以给每个虚拟主机设定域名,多应用绑定,一个虚拟主机下可以添加多个应用

2. jsp/servlet支持, 可以采用类似servlet/jsp的方式开发,servlet作为控制层,jsp作为展现层

Tags:javascript 模板 添加

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接