ASP框架

现在服务端的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>
































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AspBox是一个方便快速开发ASP框架AspBox提供了大量实用的ASP通用过程及方法和子类,可以简化大部分的ASP操作。 AspBox还可以进行拓展子类对象以增强自身功能。封装严谨,层层嵌套,提高了代码重复利用多次利用。 可以说AspBox是一个比较成型的可应用于开发人员快速开发的ASP开发框架ASP框架AspBox 1.3.2a 更新记录:2013-03-22 AB核心代码修整, 增加了公共调用 AB.Pub 核心 完善 AB.CacheType 属性设置 新增 AB.CacheClean 方法 新增 AB.FnAdd 别名: AB.FnSet 新增 AB.A.Avg, AB.A.Sub, AB.A.SpliceX 方法 修正 AB.A.Slice, AB.A.Splice, AB.A.SpliceX, AB.A.Fill  方法 拓展增强 AB.A.Walk 方法 修正 AB.C.CRight 方法 完善 AB.C.GetUrl 方法 新增 AB.C.Clone, AB.C.CallFunc, AB.C.Ws, AB.C.Wsn, AB.C.IsDim 等方法 新增 AB.Cache.Del 方法, 别名 AB.Cache(cacheName).Del 或 AB.Cache.Item(cacheName).Del 移除 AB.Json.xJSObjectToString, AB.Json.xJSArrayToString 方法 新增 AB.E.encodeURIComponent, AB.E.decodeURIComponent, AB.E.encodeURI, AB.E.decodeURI 方法 修正 设置 AB.Http.Charset 失效bug 拓展增强 AB.Char.Trim, AB.Char.LTrim, AB.Char.RTrim 方法 新增 AB.Time.ServerTime, AB.Time.LocalTime, AB.Time.ServerTimezone, AB.Time.LocalTimezone 方法 新增 AB.Time.ToUnixEpoch 方法别名 AB.Time.ToID 和 AB.Time.TimeID 新增 AB.Time.FromUnixEpoch 方法别名 AB.Time.FromID 和 AB.Time.FromTimeID 修复 AB.Url.Go 函数 Bug 改进 AB.Xml.Find 方法,使其支持 AB.Xml(selector).Length 为0情况 新增 AB.Xml.Length, AB.Xml.Count 方法 新增 AB.Xml(selector).ChildNodes 方法 AspBox核心主要包含了这么些核心: A处理Array数组 C通用函数类 Cookie操作类 Catch缓存类操作 Char字符处理类 D一般函数库 DB数据操作类 DBO数据操作对象 E加密模块(包含了Md5,Base64,SHA-1加密及收集了一些加密函数块) Form表单处理块 Fso操作类操作 Html控件 Http对XMLHttp处理块 Error错误处理块 Json处理块 jsLib(JS脚本核心引用操作) List处理各种List对象 Mail邮件处理块 PY拼音转换模块 Rnd随机数函数块 Session操作类 Sc脚本执行操作模块 Time时间操作块 Tpl模板类 Up,Upload上传处理块 Url处理块 X扩展块 Xml处理XML块 以及其他一些调用方法如aspjpeg组件操作,无惧上传类,艾恩上传类等
有了这款基于JavaScriptASP开源MVC框架,你的asp老项目有可以焕发青春活力了!其实不伦是asp,php,java还是python,任何一种编程语言,只要是开源的,就可以不断更新,获得延续的生命力。 单文件入口。Single entry point. > > 代码和程序的真正分离。A real MVC. > > 模板编译ASP代码。Combine template file to ASP(JScript) code. > > 支持类库扩展以及模板自定义标签扩展。Support Library and Tag extend. > > 支持多种数据库,默认支持ACCESS、MSSQL、MYSQL、SQLITE,可自定义其他类型数据库。Support Muti-Type-Databases. > > 支持多数据库操作。Support Muti-Databases-Operate. > > 表单验证支持,HTTP请求数据可直接用来更新数据库。FormValidatee is supported, and Http Post data can be used for insert or update table record(s). > > 提供HttpRequest,HttpUpload,Soap,OAUTH2.0等模块。"HttpRequest,HttpUpload,Soap,OAUTH2.0" are supported. > > 提供CryptoJS,提供AES/DES/RC4/Rabbit/pbkdf2/ripemd160等算法。CryptoJS is supported. > > 内置Json解析和构建。Json2 is built-in.You can use it to parse or stringify Json data. > > 支持多种路由方式,包括404、URL、isapi_URLRewrite,完全自定义的路由配置。URLRoute is Supported(404 Error Page, URL Route,ISAPI_URIRewrite). > > 路由支持REST。REST is Supported. > > 支持类库缓存,编译缓存,HTML缓存,数据库Model缓存。Library Cache, Combined File Cache, HTML Cache and Model Cache. > > 资源统一管理,统一销毁,使您专心于业务逻辑处理。You can pay much more attention on you business.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值