自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談利用JSP編程思想來做ASP編程

開發(fā) 后端
本文將介紹如何用JSP編程思想來做ASP編程,雖說JSP在一定程度上是用來代替ASP的,但是從基本的編程思想來說還是適用的。

JSP(Java Server Page)與ASP(Active Server Page)兩者都是常用的動態(tài)網頁技術,也都是可以嵌入HTML中的程序,JSP編程思想與ASP也差不多。但兩者是有著本質的不同,主要從以下幾個方面對其進行比較:

(1)Web服務器的支持:大多數通用的 Web服務器如:Apache、Netscape和Microsoft IIS都支持JSP頁面,只有微軟本身的Microsoft IIS和Personal Web Server可以支持ASP。

(2)平臺的支持:JSP具有平臺獨立性,只要是一般的Java程序可以運行的平臺,都支持JSP程序。Windows平臺可以很好的支持ASP,但ASP對于基于Win32逐漸模型的依賴,使得它難于一直到其它平臺上。

(3)組件模型:JSP是建立在可重用的、跨平臺的組件(如:JavaBeans、Enterprises JavaBeans 和用戶定制的標簽庫等組件)之上的,而ASP使用的是基于Win32的COM組件模型。

(4)腳本語言:JSP可以使用Java編程語言或JavaScript作為腳本語言,而ASP使用VBScript或Jscript作為腳本語言。

(5)安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全結構。

(6)與Access數據庫的連接:JSP使用JDBC建立與Access數據庫的連接,而ASP對Access數據庫使用Data Active Objects。

(7)用戶定制的標簽:JSP可以使用用戶定制標簽庫進行擴充,而ASP中沒有用戶定制標簽庫,ASP是不能擴充的。

下面的程式功能有了個大體的FRAME,其實可以自己添加一些功能,比如開始的Datcbase連接 ,可以先設置變量然后通過INIT() 來選擇不同TYPE的Datcbase。 

  1. <%   
  2. ’On Error Resume Next   
  3. Class ConnEx   
  4. publiC ConnEx   
  5. publiC DBpath ’---------Datcbase路徑   
  6. publiC DBtype ’---------DatcbaseTYPE 1(ACCess) 2(SqlServer) 3(可擴充)   
  7. publiC ConnMethod ’--------連接方式 (DSN,非DSN)   
  8. publiC User   
  9. publiC Pass   
  10. Sub Class_initialize   
  11. End Sub   
  12.  
  13. Sub Init()   
  14. ConnStr = "Driver={MiCrosoft ACCess Driver (*.mdb)};dbq="&Server.MapPath("Date.mdb")   
  15. Set ConnEx = Server.CreateobjeCt("ADODB.CONNECTION")   
  16. ConnEx.Open ConnStr   
  17. CatChError("Class_Terminate")   
  18. End Sub   
  19.  
  20. Sub CatChError( Str )   
  21. If Err Then   
  22. Err.Clear   
  23. Class_Terminate()   
  24. Response.Write("捕捉到錯誤,程式結束!在"&Str&"處")   
  25. Response.End()   
  26. End If   
  27. End Sub   
  28.  
  29. ’******************************************   
  30. ’*通過SQL語言規(guī)則語句來查找記錄是否存在,容易出錯   
  31. ’******************************************   
  32.  
  33. FunCtion HasReCordBySql( Sql )   
  34. Call CheCkSql(Sql,"R")   
  35. Dim Rs,HasR   
  36. Set Rs = ConnEx.ExeCute( Sql )   
  37. CatChError("HasReordSql")   
  38. If Not (Rs.eof Or Rs.bof) Then   
  39. HasR = False   
  40. Else   
  41. HasR = True   
  42. End If   
  43. Rs.Close   
  44. Set Rs = Nothing   
  45. HasRHasReCordBySql = HasR   
  46. End FunCtion   
  47.  
  48. ’***************************************   
  49. ’*通過ID來查找記錄是否存在   
  50. ’***************************************   
  51.  
  52. FunCtion HasReCordById( StrTableName , IntID )   
  53. ’CheCkValue( IntID , 1 )   
  54. Dim Rs,HasR   
  55. Sql = "SeleCt top 1 * from "&StrTableName&" Where Id = "&IntID   
  56. Call CheCkSql(Sql,"R")   
  57. Set Rs = ConnEx.ExeCute(Sql)   
  58. CatChError("HasReCordByID")   
  59. If Not (Rs.eof Or Rs.bof) Then   
  60. HasR = False   
  61. Else   
  62. HasR = True   
  63. End If   
  64. Rs.Close   
  65. Set Rs = Nothing   
  66. HasRHasReCordById = HasR   
  67. End FunCtion   
  68.  
  69. ’**********************************************   
  70. ’*通過SQL語言規(guī)則語句取得記錄集   
  71. ’**********************************************   
  72. FunCtion GetRsBySql( Sql )   
  73. Call CheCkSql(Sql,"R")   
  74. Dim Rs   
  75. Set Rs = Server.CreateObjeCt("Adodb.ReCordSet")   
  76. Rs.Open Sql,ConnEx,1,1   
  77. Set GetRsBySql = Rs   
  78. End FunCtion   
  79.  
  80. ’*********************************************   
  81. ’*取得某個字段的value   
  82. ’*********************************************   
  83. FunCtion GetValueBySql( Sql )   
  84. Call CheCkSql(Sql,"R")   
  85. Dim Rs,ReturnValue   
  86. Set Rs = ConnEx.ExeCute(Sql)   
  87. CatChError("GetValueBySql")   
  88. If Not( Rs.Eof Or Rs.Bof ) Then   
  89. ReturnValue = Rs(0)   
  90. Else   
  91. ReturnValue = "沒有記錄"   
  92. End If   
  93. Rs.Close   
  94. Set Rs = Nothing   
  95. GetValueBySql = ReturnValue   
  96. End FunCtion   
  97.  
  98. ’============================Update,Insert====================  
  99.  
  100. ’*********************************************   
  101. ’*利用SQL語言規(guī)則修改Data   
  102. ’*********************************************   
  103. FunCtion UpdateBySql( Sql )   
  104. Call CheCkSql(Sql,"w")   
  105. ConnEx.ExeCute(Sql)   
  106. CatChError("UpdateBySql")   
  107. UpdateBySql = True   
  108. End FunCtion   
  109.  
  110. ’********************************************   
  111. ’*利用SQL語言規(guī)則語句插入Data   
  112. ’********************************************   
  113. FunCtion InsertBySql(Sql)   
  114. Call CheCkSql(Sql,"w")   
  115. ConnEx.ExeCute(Sql)   
  116. CatChError("InsertBySql")   
  117. InsertBySql = True   
  118. End FunCtion   
  119.  
  120. ’=====================Delete=====================  
  121.  
  122. ’********************************************   
  123. ’*通過SQL語言規(guī)則語句刪除   
  124. ’********************************************   
  125. FunCtion DeleteBySql( Sql )   
  126. Call CheCkSql(Sql,"D")   
  127. ConnEx.ExeCute(Sql)   
  128. CatChError("DeleteBySql")   
  129. DeleteBySql = True   
  130. End FunCtion   
  131.  
  132. ’********************************************   
  133. ’*檢查SQL語言規(guī)則語句權限,根據標志Flag 來檢測語句擁有的權限   
  134. ’********************************************   
  135. Sub CheCkSql( Sql , Flag )   
  136. Dim StrSql,SinCounts,DouCounts,i   
  137. StrSql = LCase(Sql)   
  138. SinCounts = 0   
  139. DouCounts = 0   
  140. For i = 1 to Len(StrSql)   
  141. If Mid(StrSql,i,1) = "’" Then SinCountsSinCounts = SinCounts + 1   
  142. If Mid(StrSql,i,1) = """" Then DouConnts = DouCounts + 1   
  143. Next   
  144.  
  145. If (SinCounts Mod 2) <> 0 Or (DouCounts Mod 2) <> 0 Or Instr(StrSql,";") > 0 Then   
  146. Call Class_Terminate()   
  147. Response.Write("SQL語言規(guī)則語言規(guī)則錯誤!")   
  148. Response.End()   
  149. End If   
  150. SeleCt Case Flag   
  151. Case "R","r":   
  152. If Instr(StrSql,"delete") > 0 Or Instr(StrSql,"update") Or Instr(StrSql,"drop") > 0 Or Instr(StrSql,"insert") > 0 Then   
  153. Class_Terminate()   
  154. Response.Write("權限不足,沒有運行寫操作的權限")   
  155. Response.End()   
  156. End If   
  157. Case "W","w":   
  158. If Instr(StrSql,"delete") > 0 Or Instr(StrSql,"drop") > 0 Or Instr(StrSql,"seleCt") > 0 Then   
  159. Class_Terminate()   
  160. Response.Write("權限不足,沒有運行刪除操作的權限")   
  161. Response.End()   
  162. End If   
  163. Case "D","d":   
  164. Case Else:   
  165. Response.Write("參數CheCkSql標志錯誤!")   
  166. End SeleCt   
  167. End Sub   
  168.  
  169. Sub Class_Terminate   
  170. If Not IsEmpty(FriendConn) Then   
  171. FriendConn.Close   
  172. Set FriendConn = Nothing   
  173. CatChError()   
  174. End If   
  175. End Sub   
  176. End Class   
  177. %> 

利用JSP編程思想來做ASP編程就為大家介紹到這里。

【編輯推薦】

  1. 構造JSP和Javabean開發(fā)和發(fā)布環(huán)境的方法
  2. JSP設計模式淺析
  3. 什么是JSP以及其強弱勢
  4. JSP頁面Tomcat提高性能之王道
  5. JSP教程基礎之腳本的使用
責任編輯:彭凡 來源: 網易博客
相關推薦

2009-07-03 14:31:51

2009-06-30 16:51:56

2013-09-22 10:15:05

編程思想

2009-07-03 13:56:21

JSP編程技巧

2009-06-15 15:17:32

JCOMExcel編程Java

2011-06-13 11:23:33

javasocket

2011-06-13 12:11:06

javasocket

2013-06-17 11:21:27

2009-06-15 10:25:46

Java編程思想Java

2022-06-27 18:30:37

FP代碼編程

2009-07-01 14:05:05

JSP郵件系統(tǒng)

2012-05-04 09:59:10

Unix設計思想

2009-06-03 09:44:30

JSTLJSP編程

2023-08-14 14:04:14

JavaScript函數式編程

2021-07-14 13:12:51

2011-07-05 10:20:38

java

2015-06-29 14:03:07

2011-06-13 10:03:19

Qt 多線程 編程

2010-01-19 15:36:02

C++語言

2011-10-19 15:47:13

點贊
收藏

51CTO技術棧公眾號