用python寫asp詳細講解
一、ASP
想到ASP 很多人會說 “asp語言不能面向對象,功能單一,很多東西實現(xiàn)不了” 等等諸如此類。 以上說法都是錯誤的,其一ASp不是一種語言是 微軟用來代替CGI的一種web框架,只不過我們一直被扭曲在 vbs就是asp的默認語言,把ASP 和 vbs 之間劃了等號。 其二 Asp 功能其實并不單一 此web 提供5個對象 (request、 response、 server、 session、 appliaction)這就是asp與生俱來的東西,除了這些東西都是Asp 所用的腳本級的東西。 而ASP 借助了 Asp.dll動態(tài)鏈接庫,理論上可以試用一切腳本語言包括(vbscript 、jsscript、 actionscript、 perl 、python),所以說ASP是非常豐富的靈活的 web框架
二、為什么要用python寫Asp
python 最近如火如荼,非常之火,他在各大領域都占有自己舉足輕重的地位,web方面自然也少不了他。 Echosong 已經用過django 、web.py 等等python自己的web框架。由于工作需要 Echosong 很大一部分時間是在寫ASP。 而vbs的Asp實在讓人寫得有種 想死感覺,很多功能借助各種 c 或者其他語言寫的dll 穩(wěn)定性難以考量,而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
連接數(shù)據庫文件 conn.asp (用pymssql連接mssql數(shù)據庫)
<%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的相關模塊?。。?/p>
data.asp 文件調用conn.asp的數(shù)據連接執(zhí)行sql語句 循環(huán)顯示字段的值到頁面
<%@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的優(yōu)勢
1、高度代碼復用: 可以寫自己項目的模塊,把平時常用的代碼 寫成 python的模塊,然后服務器上所有的都可以借助 import 來調取
2、試用python優(yōu)秀特征: python 強大的Python庫 很多現(xiàn)成的功能直接用,而不要想傳統(tǒng)asp(vbs腳本的)借助 很多 編譯行語言的的dll來實現(xiàn)
3、完全的面向對象: vbs是面向過程的語言,對象的特征很弱,很多面向對象的思想不能用。
六、穩(wěn)定性 和性能的考慮
做了壓力測試 同一時間處理事務的能力,各方面參數(shù)強于vbs的,特別是在連接數(shù)據庫用了些python 優(yōu)秀開源的池處理模塊,使得很多數(shù)據庫的瓶頸減輕。(寫博文的時候相關數(shù)據截圖沒有在此電腦上面)
相關文章
python3實現(xiàn)TCP協(xié)議的簡單服務器和客戶端案例(分享)
下面小編就為大家?guī)硪黄猵ython3實現(xiàn)TCP協(xié)議的簡單服務器和客戶端案例(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
基于Python組裝jmx并調用JMeter實現(xiàn)壓力測試
這篇文章主要介紹了基于Python組裝jmx并調用JMeter實現(xiàn)壓力測試,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11
python通過get,post方式發(fā)送http請求和接收http響應的方法
這篇文章主要介紹了python通過get,post方式發(fā)送http請求和接收http響應的方法,涉及Python使用urllib模塊與urllib2模塊實現(xiàn)get與post發(fā)送數(shù)據的相關技巧,需要的朋友可以參考下2015-05-05
Pycharm中配置使用Anaconda的虛擬環(huán)境進行項目開發(fā)的圖文教程
今天在一臺電腦上跑環(huán)境的時候,發(fā)現(xiàn)已經裝了Pytorch了,但是運行沒有用,提示報錯:OSError:?[WinError?126]?找不到指定的模塊,但其實cmd進入虛擬環(huán)境是可以調用torch的,故本文給大家介紹了Pycharm中配置使用Anaconda的虛擬環(huán)境進行項目開發(fā)的圖文教程2024-09-09
淺談pytorch中torch.max和F.softmax函數(shù)的維度解釋
這篇文章主要介紹了淺談pytorch中torch.max和F.softmax函數(shù)的維度解釋,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

