用python写asp详细讲解
发布时间:2022-02-26 13:21:36
一、ASP的平反
想到ASP 很多人会说 “asp语言很蛋疼,不能面向对象,功能单一,很多东西实现不了” 等等诸如此类。 以上说法都是错误的,其一ASp不是一种语言是 微软用来代替CGI的一种web框架,只不过我们一直被扭曲在 vbs就是asp的默认语言,把ASP 和 vbs 之间划了等号。 其二 Asp 功能其实并不单一 此web 提供5个对象 (request、 response、 server、 session、 appliaction)这就是asp与生俱来的东西,除了这些东西都是Asp 所用的脚本级的东西。 而ASP 借助了 Asp.dll动态链接库,理论上可以试用一切脚本语言包括(vbscript 、jsscript、 actionscript、 perl 、python),所以说ASP是非常丰富的灵活的 web框架
二、为什么要用python写Asp
python 最近如火如荼,非常之火,他在各大领域都占有自己举足轻重的地位,web方面自然也少不了他。 Echosong 已经用过django 、web.py 等等python自己的web框架。由于工作需要 Echosong 很大一部分时间是在写ASP。 而vbs的Asp实在让人写得有种 想死感觉,很多功能借助各种 c 或者其他语言写的dll 稳定性难以考量,而echosong又是一个Python 的 十足迷、08年开始接触python 一直是做为一种爱好没断过,只是一直没用于工作。
三、开始把两小伙伴融合在一起
1、asp 的安装 : 随着IIS 的安装asp就成为了默认安装好的web框架
2、安装 activepython: ActivePython是由 ActiveState 公司推出的专用的 Python 编程和调试工具。
ActivePython 包含了一个完整的 Python 内核,直接调用 Python 官方的开源内核,此外还有 Python 编程需要用到的 IDE,并附加了一些 Python 的 Windows扩展,同时还提供了全部的访问 Windows APIs 的服务。ActivePython 虽然不像纯 Python 那样是开源的,但是也可以免费下载使用。(注意版本只能下载 2.5的,一开始echosong也不行下载了2.7 的版本 结果无情的500 个中缘由也不清楚,不够2.5的版本也够用了)
3、命令行运行 C:\Python25\Lib\site-packages\win32comext\axscript\client\pyscript.py;
4、完成上面两步就可以着手写python的Asp了
四 、简单的Demo
连接数据库文件 conn.asp (用pymssql连接mssql数据库)
<%import pymssql
class MSSQL:
def __init__(self,host,user,pwd,db):
self.host = host
self.user = user
self.pwd = pwd
self.db = db
def __GetConnect(self):
if not self.db:
Response.write(NameError,"No connec Info")
self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
cur = self.conn.cursor()
if not cur:
Response.write(NameError,"connect Err")
else:
return cur
def getCur(self):
return self.__GetConnect()
def ExecQuery(self,sql):
cur = self.__GetConnect()
cur.execute(sql)
resList = cur.fetchall()
self.conn.close()
return resList
def ExecNonQuery(self,sql):
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
gmssql = MSSQL(host="****",user="****",pwd="***",db="***")
gcur = MSSQL.getCur()
%>
这里 可以自由的import python的相关模块!!!
data.asp 文件调用conn.asp的数据连接执行sql语句 循环显示字段的值到页面
<%@LANGUAGE="python" CODEPAGE="65001"%>
<!--#include file="conn.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<%
resList = gmssql.ExecQuery("select admin_Id, admin_UserId from admin")
%>
<table>
<tr><td>管理员编号</td><td>管理账号</td></tr>
<%
for (admin_Id,admin_UserId) in resList:
Response.write(u"<tr><td>"+str(admin_Id)+"</td>")
Response.write(u"<td>"+str(admin_UserId)+"<td></tr>")
%>
</table>
</body>
</html>
五、用python 写ASp的优势
1、高度代码复用: 可以写自己项目的模块,把平时常用的代码 写成 python的模块,然后服务器上所有的都可以借助 import 来调取
2、试用python优秀特征: python 强大的Python库 很多现成的功能直接用,而不要想传统asp(vbs脚本的)借助 很多 编译行语言的的dll来实现
3、完全的面向对象: vbs是面向过程的语言,对象的特征很弱,很多面向对象的思想不能用。
六、稳定性 和性能的考虑
做了压力测试 同一时间处理事务的能力,各方面参数强于vbs的,特别是在连接数据库用了些python 优秀开源的池处理模块,使得很多数据库的瓶颈减轻。(写博文的时候相关数据截图没有在此电脑上面)
猜你喜欢
- 本文介绍Python实现端口复用实例如下所示:#coding=utf-8import socketimport sysimport sele
- 网上看到过许多螺旋线的程序,但不是黑色就是单个颜色不变。这里作者编了一个程序,还很漂亮的。希望大家喜欢!!!使用turtle绘图。代码如下。
- 前言对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会
- 题目:用 JavaScript 代码实现空位补零,比如 pad(12, 3) => 012实现一:/* 平淡无奇法 */functio
- 加强ASP网站后台安全一些主要措施:----------------------------------------------------
- 1. 想学asyncio,得先了解协程携程的意义:计算型的操作,利用协程来回切换执行,没有任何意义,来回切换并保存状
- 1、什么是GIL全局解释器锁GIL:Global Interpreter Lock,意思就是全局解释器锁,这个GIL并不是Python的特性
- 今天有个哥们问我要是JavaScript函数重名了会有什么后果?开始我没有细想,就说可能会出错吧,可是等我实验完了发现页面没有任何脚本错误提
- 欣赏上一篇:用画为5.12地震受灾同胞们祈福 今年我们的祖国多灾多难 雪灾的阴影还没散去又发生了地震。中国插画 * 举办5.12地震祈幅绘画活
- 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时,功能可能存
- 大家已经从实际使用中了解了jquery这个javascript框架的强大,其实jquery更加强大的是可扩展。你可以编写自己的基于jquer
- 本文实例讲述了python中while循环语句用法。分享给大家供大家参考。具体如下:number = 1while number <
- 我们提倡尽可能使用CSS,而且我们常常能做到这一点。现代浏览器有很好的CSS支持-这无疑足够好让你使用CSS来控制布局和版面设计。但是有时候
- 网上有许关于固定表格的标题行的文章,但是既要固定标题行又要固定标题列的却几乎没有。现我写下如下代码以供大家参考:<html> &
- MD5(Message-Digest Algorithm 5) 模块用于计算信息密文(信息摘要),得出一个128位的密文。sha模块跟md5
- 最近刚好有朋友遇到个global相关的问题,这里简单学习一下global关键字的用法。想要更好的了解global关键字,首先要熟悉pytho
- 大家都知道在Dreamwerver中可以很方便地实现记录集的分页显示,但是生成的代码的确很庞大,影响了网页的显示速度,看起来条理也不是很清晰
- 本文实例讲述了PHP设计模式:装饰器模式Decorator。分享给大家供大家参考,具体如下:1. 概述  
- 社会上的任何人,都不愿意自己给人留下难以交往的印象,就算是那些冷漠、寡情的人他们也在不断地寻求一种通道,达到与他人的交流和沟通。如果,在你与
- ASP+XML制作菜单管理!menu.asp 这个是前台执行部分<% '----------------