ASP Framework (一) 简介
前阵子刚完成一个B/S架构的学校办公系统,体会就是表太多,文件太多,而每个文件中类似的操作(代码)也太多了,例如学生信息和教师信息操作,student.asp,teacher.asp,这两个文件要实现的功能有,添加、删除、修改、显示教师和学生信息,两个文件中就有很多相同的代码:比如:
显示信息,do while not rs.eof,rs.movenxt
添加记录,name = request.from("name"),sex=request.from("name")...
所以整个系统的完成大致就是不停的复制文件,修改文件名,修改字段名,变量名等等,然后再加上各自不同的属性,如逻辑处理等。直接复制方便倒也方便,但是产生了很多重复的代码,这样一来,对将来的扩展和维护都会有很大限制。因此我开始在网上寻找可以提高开发效率的类或者框架,结果没有令我满意的,如数据库类只是简单的打包了一系列的函数,返回的还是RS,用的时候还是得do while not rs.eof,要么就是一些函数库,将一大堆函数整合成一个文件.....等等,因此本人计划整一个ASP版的Framework。
相信看完上述文字,应该可以大致了解该Framework的主要目的,即最大化的精简代码,而且要保证系统的可扩展性,即可以灵活的应用于各个领域的WEB开发(ASP)。当然,由于水平有限,难免会有很多需要改善的地方,希望大家多多指教,提出好的建议,把它做的更好。
废话不多说,进入主题,该Framework是由我最近的一个项目中所写的框架改进而来,目前只整理了数据库操作,其它部分等完成后一起放出。下面结合实例讲解一下如何使用。
运行环境:
IIS+ASP+ACCESS(MSSQL)
文件目录:
include文件夹[只需要配置config.asp文件]:
[config.asp] 故名思义,用于网站配置,如数据库类型,登录账号,密码,网站语言等
[function.asp] 函数库,主要功能,简化ASP常用内置对象,如response.write(str)=echo(str),response.querystring=q(str),数组操作,FSO操作,表单各项输出简化...
[class.ctrl.asp] 网站控制类,实现从URL参数转入相关处理的模块,为了适应潮流,该类也即将实现URL[伪伪]静态,如www.****.cn/?/news/list/1.html,
[class.db.asp] 数据库操作类
[class.view.asp] 模板类,为什么不叫tpl而是view,大概也是受到了MVC的影响吧,呵呵,当然这并不代表该框架能实现MVC模板开发,框架只为提高效率而写。
mods文件夹:
该文件夹存放了很多类似mods_news.asp,mods_user.asp这样的文件,他们
相关文档:
<%Dim connstrconnstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Stu.mdb")
Set bb = Server.CreateObject("ADODB.Connection")
bb.Open connstr%>
<html>
<head>
<meta http-equiv="content-Language" content="zh-cn" />
<meta http-equiv="Content-Type ......
IIS默认的错误页是很不友好的,很多人看到默认的错误页时都会说:网站打不开了!白白损失了这部分流量。而如果错误页直接跳转到首页又对搜索引擎很不友好,搞不好首页还会被封掉。所以根据情况,有两个方法解决这个问题:
如果是博客等内容型的网站,可以返回一个带有404错误的搜索框让访客搜索,若是电子商务型网站 ......
Adodb.Stream是ADO的Stream对象,提供存取二进制数据或者文本流,从而实现对流的读、写和管理等操作.
有下列方法:
Cancel 方法
使用方法如下
Object.Cancel
说明:取消执行挂起的异步 Execute 或 Open 方法的调用。
Close 方法
......
最近写站内搜索,所以研究了一下算法,该算法的原理如图显示。
以下是一个用asp写的简单的分词程序主要的代码,词库我已经用access建立好了。
如果要注重效率,MarLen的选取很是重要,否则效率会十分低下,这里MarLen我选取的是5。
dim faword : faword = ""
do while (len(fword) > 0)
tword = left(fwor ......