想到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框架html
python 最近如火如荼,很是之火,他在各大領域都佔有本身舉足輕重的地位,web方面天然也少不了他。 Echosong 已經用過django 、web.py 等等python本身的web框架。因爲工做須要 Echosong 很大一部分時間是在寫ASP。 而vbs的Asp實在讓人寫得有種 想死感受,不少功能借助各類 c 或者其餘語言寫的dll 穩定性難以考量,而echosong又是一個Python 的 十足迷、08年開始接觸python 一直是作爲一種愛好沒斷過,只是一直沒用於工做。python
一、asp 的安裝 : 隨着IIS 的安裝asp就成爲了默認安裝好的web框架web
二、安裝 activepython: ActivePython是由 ActiveState 公司推出的專用的 Python 編程和調試工具。sql
<%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語句 循環顯示字段的值到頁面django
<%@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>
注意第一行 <%@LANGUAGE="python" CODEPAGE="65001"%> 告訴 Asp.dll 用的是python腳本。由於conn.asp文件是被data應用了,因此不須要加這行,若是直接執行conn.asp會報錯,由於默認是vbs腳本。編程
運行 data.asp 就能在頁面上面顯示 相應的數據展現效果服務器
一、高度代碼複用: 能夠寫本身項目的模塊,把平時經常使用的代碼 寫成 python的模塊,而後服務器上全部的均可以藉助 import 來調取 session
二、試用python優秀特徵: python 強大的Python庫 不少現成的功能直接用,而不要想傳統asp(vbs腳本的)藉助 不少 編譯行語言的的dll來實現app
三、徹底的面向對象: vbs是面向過程的語言,對象的特徵很弱,不少面向對象的思想不能用。
作了壓力測試 同一時間處理事務的能力,各方面參數強於vbs的,特別是在鏈接數據庫用了些python 優秀開源的池處理模塊,使得不少數據庫的瓶頸減輕
如下爲性能壓力測試
<模擬的用戶數,兩種狀況公用一個>
<python 腳本鏈接數據>
<python吞吐狀況>
跟vbs 的 ADO作些對比 ADO圖沒有截取過來,可是從吞吐量,和事務處理速度都比Vbs ADO要強,有興趣的同窗能夠本身測試看看!!!