ASP Framework_1_简介
作者:Anyyes 来源:ASP Quick Work 官方网站 发布时间:2009-10-12 11:35:00
前阵子刚完成一个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这样的文件,他们基本上与数据库的表名相对应,每个文件下放着该模块所用到的函数,他们与URL参数相对应,如?/news/list/将返回mods_news.asp中list函数的运行结果,然后将结果交给view统一处理,再显示最终页面给客户端,这些都是自动完成的,你只需要新建类似的文件,然后在里面添加各个操作函数即可,当然函数返回的内容会有一定的约束,比如他们都是一个一维数组,必须包含模板文件名等,这在以后详细解释。
view文件夹
不多说,里面放了各个模块所需要用到的模板
[index.asp] [可根据需要自定义配置]:
该文件存放于根目录,理论上可实现对整个网站操作入口的统一管理,他将统一处理URL参数,并将控制权转给对应mods文件中的对应函数,由函数返回结果或直接转入提示页(如删除,添加等操作完成后只需要转到提示页即可,而不需要返回结果),index.asp再将函数运行结果与对应模板结合,最终显示给用户。
当然有些地方分开也好,比如网站前台和后台管理这并不需要统一入口,可以复制一个index.asp文件放入对应的文件夹,修改一下include file路径。
暂时就这么多,将来还会有upload和用户权限相关的操作,正在整理中...


猜你喜欢
- 一、用HTTP头信息 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WE
- 一、卷积神经网络Yann LeCun 和Yoshua Bengio在1995年引入了卷积神经网络,也称为卷积网络或CNN。CNN是一种特殊的
- type PipeWritertype PipeWriter struct { // contains
- 1.写在前面JS要实现下载功能,一般都是这么几个过程:生成下载的URL,动态创建一个A标签,并将其href指向生成的URL,然后触发A标签的
- 前言因为前面的文章中已经涉及到了登录智慧校园的验证码处理问题,所以本文将略过此过程。如登录时遇到验证码的情况,请参考此文。其实第一次使用有验
- 核心代码:#!/usr/bin/python#-*- coding:gbk -*-#设置源文件输出格式import sysimport ge
- 10线程同时操作,频繁出现插入同样数据的问题。虽然在插入数据的时候使用了: insert inti tablename(fields....
- ALTER TABLE 表名字 ADD CONSTRAINT pk_表名字 PRIMARY KEY( SNumber, SDate ); S
- 制作NBA数据爬虫捋顺思路我们在这里选择的是百度体育带来的数据,我们在百度当中直接搜索NBA跳转到网页,我们可以看到,百度已经为我们提供了相
- 二维数组循环嵌套方式<div class="box"> <div class="
- 前言:本系列文章主要参考了《Ultimate ASP.NET Core 3 Web API》一书,对原文进行了翻译,同时适当删减、修改了一部
- 一、前言本文使用的是 kaggle 猫狗大战的数据集:https://www.kaggle.com/c/dogs-vs-cats/data训
- <?php/** * 发送文件 * * @author: legend(legendsky@hotmai
- 前言:列表元素能增加就可以删除,这篇文章介绍几种增加元素的方法,虽然都是增加但是也有所不同,这里介绍的删除列表元素的方法也是一样,下面就来演
- 问题背景: 日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoi
- 注:所有文字,除注明网站类型外,其他均针对企业站点.请随时注意留言,若修改则会在首页提示文字里标注.若牵扯到业务方面的问题,我可能不会做过多
- 第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -
- 首先,有个单例对象,它上面挂了很多静态工具方法。其中有一个是each,用来遍历数组或对象。var nativeForEach = [].fo
- 当我们学习surface命令时,已经看到了三维作图的一些端倪。在matlab中我么可以调用mesh(x,y,z)函数来产生三维图像。首先,我
- 一、需求分析最近同事用网上提供扫描软件进行扫描识别文字,每天上线只能够做两次扫描,请求我研发一个小工具帮助解决识别图片的中文字。二、方案选择