浏览 4789 次
锁定老帖子 主题:ASP框架
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (14)
作者 正文
   发表时间:2011-04-20   最后修改:2011-05-06

现在服务端的JS挺红火的,如 nodejs 和建于其上的 express框架

 

我也搞一个,就用ASP的后台Jscript 来模拟一个简单的REST框架出来。

 

原理很简单:

 

1、设置IIS的默认页为index.asp

2、设置IIS的404错误处理:跳转到 /index.asp

3、在index.asp里解析Request信息,其中QueryString包含了url,是重点!

4、在解析中,不同的 url 对应到不同的回调函数。(类似 express,但要加上层次特性)

 

我先把用法贴出来,听听大家的意见,好改进,大家觉得有用,我再把实现代码贴出来。

针对接口编程嘛! 

 

<script runat="server" language="javascript" src="core.js"></script>
<script runat="server" language="javascript">



Core.on("/", function(req){
    
    this.charset("utf-8")
    this.layout("global.html")
    
    Core.get("(index)?$", function(){
        this.title = "welcome!"
        this.template("index.html")
    })
    
    
    Core.on("users", function(){
        
        var db = Core.openDB("access://blog.mdb"); 
        
        Core.on("$", function(){
            
            if (req.method == "GET")
            {
                this.users = db.exec("select * from users")
                this.template("users.html")
            }
            
            if (req.method == "POST")
            {
                this.ok = db.exec("insert into users (name, sex) values(?,?)",[req("name"), req("sex")]);
                this.redirect("/users")
            }
            
        })
        Core.on("/:id", function(id){
            
            if (req.method == "GET")
            {
                this.user = db.exec("select * from users where id=?", [id])
                this.template("show.html")
            }
            if (req.method == "DEL")
            {
                this.ok = db.exec("delete from users where id=?", [id])
                this.redirect("/users")
            }
           
            if (req.method == "PUT")
            {
                this.ok = db.exec("update users  set (name=?, sex=?) where id=?",[req("name"), req("sex"),id]);
                this.redirect("/users/" + id)
            }
            
        })
    })
    
    
})


</script>
































   发表时间:2011-04-27  
          十分强烈的推荐!  我去年也做过同样的事。 哈哈。
0 请登录后投票
   发表时间:2011-04-27  
LZ童鞋。这儿搞IIS的不多。搞ASP的不多。。。么人感兴趣你的大作呀。。。
0 请登录后投票
   发表时间:2011-04-30  
不知道做这样的事情有什么意义,生产中根本不会用到的技术。
0 请登录后投票
   发表时间:2011-05-01  
还好,至少有一个人支持。

我在传统的ASP上,吸收了一些现代的理念,加上一点创新。

对于很多希望一种语言通吃前后端的朋友,是有用的。

明天把代码发上来,写得不好的地方,请批评指正。

谢谢!
0 请登录后投票
   发表时间:2011-05-01  
国内asp主机还是挺多的,大都是些中小型的网站。
相对来说asp编程比较简单,能加入REST元素进来还是挺有亮点的。
我支持ls0627的努力。

0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics