目录
EasyASP 使用教程
欢迎您使用 EasyASP v3,通过此教程,您将了解到 EasyASP 的基本使用方法和一些使用技巧,包括 EasyASP 的部署与配置、控制台的使用、错误调试以及数据库的连接与参数化增删改查、后台表单验证、Json的创建与解析等 EasyASP 的特色功能。
如何使用 EasyASP 下载与安装
请从 EasyASP 下载 页面下载 EasyASP v3 的最新版本到本地,并解压。然后将 source 文件夹下的 easyasp 文件夹拷贝到您的IIS站点根目录。如果您需要运行 EasyASP 自带的示例文件,请将 poordemo 文件夹也拷贝到您的IIS站点根目录。
如果您通过 (您的站点地址)/poordemo/easp.db/ 访问可以运行 EasyASP 自带的数据库操作示例,则表示您已经正确的安装了 EasyASP v3。
EasyASP 内部的文件结构如下,其中的文件功能简单介绍一下:
easyasp
├ console控制台示例
│ ├ console.asp控制台后端
│ └ index.html控制台前台
├ core核心类文件
│ ├ easp.cache.asp缓存类
│ ├ easp.console.asp控制台类
│ ├ easp.date.asp日期类
│ ├ easp.db.asp数据库操作类
│ ├ easp.encrypt.asp简单对称加解密类
│ ├ easp.error.asp异常类
│ ├ easp.fso.asp文件系统操作类
│ ├ easp.http.asp远程文件操作类
│ ├ easp.json.aspJSON类
│ ├ easp.list.asp超级数组类
│ ├ easp.str.asp字符串操作类
│ ├ easp.stringbuilder.asp字符串构建类
│ ├ easp.stringobject.asp字符串对象类
│ ├ easp.tpl.asp模板类
│ ├ easp.upload.asp无组件上传类
│ ├ easp.validation.asp表单验证类
│ ├ easp.var.asp超级变量类
│ └ easp.xml.aspXML文档操作类
├ lang内部语言包
│ └ zh.asp中文语言包
├ plugin官方自带插件
│ ├ easp.base64.aspBase64 加解密插件
│ ├ easp.hanzi.asp汉字转拼音、翻译、分词插件
│ ├ easp.md5.aspMD5 加密插件
│ ├ easp.pluginsample.asp插件示例
│ └ easp.trace.asp变量调试插件
├ easp.aspEasyASP 主文件
└ easp.config.aspEasyASP 配置文件
开始使用
要在您的代码中使用 EasyASP ,请直接在 asp 页面中把 easp.asp 包含进去即可,如:
<!--#include file="easyasp/easp.asp" -->
<%
'此处编写您的代码
%>
当然,您也可以使用:
<!--#include virtual="/easyasp/easp.asp"-->
需要注意的是,您的页面中不应该再包含 @LANGUAGE 语句。
提示:如果您没有将 easyasp 文件夹放在您的IIS站点根目录而是某个子目录中,则需要在 easp.config.asp 中设置 Easp.BasePath 的值为正确的路径,否则 EasyASP 的插件系统将不能正常使用。
让我们先来编写第一个 EasyASP 程序吧。
在您的IIS站点根目录下建立一个 demo.asp 文件,然后其中写入以下的代码:
<!--#include file="easyasp/easp.asp" -->
<%
Easp.Print "Hello World!"
%>
此时,通过 (站点地址)/demo.asp 访问,可以看到如下的结果:
Hello World!
就像您看到的一样,EasyASP 已经初始化了一个实例 Easp,所有 EasyASP 的主要方法都可以直接使用 Easp. 前缀来直接调用。EasyASP v3 在页面加载完毕后,会自动销毁Easp 实例,所以无需手动销毁该实例。
EasyASP 的所有可配置信息,都可以通过 easp.config.asp 文件来设置,如下图:
您可以打开该文件按需要进行配置,文件中有每个配置项的说明。
数据库操作
EasyASP v3 全部重写了数据库操作类,采用了参数化查询的方式读写数据库,从根本上杜绝了注入漏洞,同时放弃了大量的在方法中使用多个参数混用的方式,回归本质,鼓励大家使用完整的 SQL 编写查询语句,并注重效率,不管是分页还是批量增删改数据,都有不错的性能表现。接下来就介绍一下 EasyASP v3 数据库操作里这些令人激动的新功能吧。
建立数据库连接
EasyASP 的数据库连接非常简单,相信用过旧版本的朋友应该比较清楚了,v3 的数据库连接除了保持这种简洁的方式之外,更增强了多数据库连接的功能。EasyASP 内置了 Access / MSSQL / MYSQL 三种数据库的连接支持,同时,您也可以很方便的扩展至连接到任何其它符合工业标准的数据库(如 Oracle / db2 / postgresql 等)。
EasyASP 连接到数据库非常简单,可以直接在 easp.config.asp 中配置,下面是连接到三种内置数据库的示例: '示例一:连接到 Access Easp.Db.SetConn "ACCESS", "/datas/database.mdb", "password" '示例二:连接到 MSSQL Easp.Db.SetConn "MSSQL", "database", "sa:password@(local)" '示例三:连接到 MYSQL Easp.Db.SetConn "MYSQL", "database", "root:password@127.0.0.1" 注:如果要连接到MySQL数据库,服务器需要安装MySQL ODBC驱动(版本5.1),下载地址
参数的详细说明请查看 API 中的 Easp.Db.SetConn 。 接下来您就可以直接使用操作数据库的方法了,比如: Set rs = Easp.Db.Query("Select * From table_name where id = 1")
参数化查询
我们知道在一般的数据库操作中,采用参数化查询不仅可以避免数据库被注入,而且可以提升 SQL 语句执行的效率。EasyASP 的数据库操作采用了全参数化查询,并且采用了一个非常简洁的方案。为了你能有一个清晰的对比,先看看我们平时是怎么写带变量的SQL查询语句的,基本上看上去是下面这样: f1 = "value1" f2 = Now() conn.execute "Insert Into table_name (field1, field2) Values ('" & f1 & "', '" & f2 & "')" 这里只有两个变量,如果变量有很多个,只是阅读起来就会有非常大的障碍,而且,如果数据处理不当,它还有被注入的风险。如果是取记录集,则还要先建立 ADODB.RecordSet 对象,代码会更加复杂。