用python写asp详细讲解
一、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扩展,同时还提供了全部的访问WindowsAPIs的服务。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数据库)
<%importpymssql
classMSSQL:
def__init__(self,host,user,pwd,db):
self.host=host
self.user=user
self.pwd=pwd
self.db=db
def__GetConnect(self):
ifnotself.db:
Response.write(NameError,"NoconnecInfo")
self.conn=pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
cur=self.conn.cursor()
ifnotcur:
Response.write(NameError,"connectErr")
else:
returncur
defgetCur(self):
returnself.__GetConnect()
defExecQuery(self,sql):
cur=self.__GetConnect()
cur.execute(sql)
resList=cur.fetchall()
self.conn.close()
returnresList
defExecNonQuery(self,sql):
cur=self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
gmssql=MSSQL(host="****",user="****",pwd="***",db="***")
gcur=MSSQL.getCur()
%>
这里可以自由的importpython的相关模块!!!
data.asp文件调用conn.asp的数据连接执行sql语句循环显示字段的值到页面
<%@LANGUAGE="python"CODEPAGE="65001"%>
<!--#includefile="conn.asp"-->
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>无标题文档</title>
</head>
<body>
<%
resList=gmssql.ExecQuery("selectadmin_Id,admin_UserIdfromadmin")
%>
<table>
<tr><td>管理员编号</td><td>管理账号</td></tr>
<%
for(admin_Id,admin_UserId)inresList:
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-基础02-程序与用户交互
- python详细安装教程环境配置_Python配置环境
- python语言变量命名规则有什么_Python变量命名规则(超级详细)
- Python自学教程2-大牛们怎么写注释
- aic准则python_Python数据科学:线性回归
- python十进制转换_Python 进制转换
- python进制转换函数-Python中进制转换函数的使用
- python常用面试题_Python+Selenium 常见面试题整理[通俗易懂]
- python字符串格式化方法_format在python的意思
- Python操作CSV格式文件
- 【说站】python集合的底层实现
- 简述Python特点_python优缺点
- python lambda表达式 if_Python学习-lambda表达式
- python提取字符串中的数字「建议收藏」
- python hexdump_笨办法学 Python · 续 练习 26:`hexdump`
- python中if判断语句的用法_Python if判断语句的用法详细介绍[通俗易懂]
- 2400字整理Python编码规范,肝了一晚上~
- python网络编程中的线程-多线程客户端编程
- python全栈开发-Day7 文件处理详解编程语言
- 一步步学习:利用Python连接MySQL数据库(python连接mysql数据库)
- .net搭建ASP.NET应用程序在Linux系统上(linux搭建asp)
- Python如何连接PostgreSQL数据库?(python连接postgresql)
- Connecting to MSSQL with Python: A Comprehensive Guide for Beginners(python连接mssql)
- .net利用MSSQL连接ASP.NET的办法探索(mssql 连接asp)
- 数据库ASP如何调用MySQL数据库(asp如何调用mysql)
- ASP搭配MySQL实现完美源代码(asp mysql源代码)
- ASP驱动的Oracle数据库连接源码解析(asp连oracle源码)
- python正则表达式re模块详解