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和用户权限相关的操作,正在整理中...

标签:Framework,asp,数据库,框架
0
投稿

猜你喜欢

  • 在Python中处理时间之clock()方法的使用

    2021-09-22 06:07:26
  • Python中for循环可迭代对象迭代器及生成器源码学习

    2023-10-11 07:00:30
  • pymysql 插入数据 转义处理方式

    2024-01-23 08:43:29
  • Python中bisect的用法及示例详解

    2022-07-06 16:00:12
  • Javascript查看大图功能代码实现

    2024-04-22 13:03:46
  • PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例

    2023-08-16 04:46:47
  • python logging日志模块原理及操作解析

    2022-10-30 02:44:31
  • Python检测字符串中是否包含某字符集合中的字符

    2023-09-08 10:44:30
  • selenium.webdriver中add_argument方法常用参数表

    2023-12-05 13:39:38
  • python+os根据文件名自动生成文本

    2022-06-12 00:50:48
  • Pandas数据分析之批量拆分/合并Excel

    2023-03-28 19:39:58
  • rs.open sql,conn,1,1全接触

    2007-11-01 22:46:00
  • pytorch程序异常后删除占用的显存操作

    2021-04-03 22:33:38
  • SQL 中主标识列IDENTITY使用技巧

    2011-06-02 08:47:00
  • Python实现公历(阳历)转农历(阴历)的方法示例

    2021-08-02 09:54:44
  • Python爬取腾讯视频评论的思路详解

    2021-05-30 23:04:43
  • 关于 Web 字体:现状与未来[译]

    2009-11-24 13:50:00
  • 优雅地使用loading(推荐)

    2024-04-30 08:42:01
  • python实现Oracle查询分组的方法示例

    2021-03-30 10:59:54
  • Python设计模式中的创建型工厂模式

    2023-05-09 17:47:02
  • asp之家 网络编程 m.aspxhome.com