浅谈利用JSP编程思想来做ASP编程

本文将介绍如何用JSP编程思想来做ASP编程,虽说JSP在一定程度上是用来代替ASP的,但是从基本的
首页 新闻资讯 行业资讯 浅谈利用JSP编程思想来做ASP编程

JSP(Java Server Page)与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入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。 

复制

<%   ’On Error Resume Next   Class ConnEx   publiC ConnEx   publiC DBpath ’---------Datcbase路径   publiC DBtype ’---------DatcbaseTYPE 1(ACCess) 2(SqlServer) 3(可扩充)   publiC ConnMethod ’--------连接方式 (DSN,非DSN)   publiC User   publiC Pass   Sub Class_initialize   End Sub    Sub Init()   ConnStr = "Driver={MiCrosoft ACCess Driver (*.mdb)};dbq="&Server.MapPath("Date.mdb")   Set ConnEx = Server.CreateobjeCt("ADODB.CONNECTION")   ConnEx.Open ConnStr   CatChError("Class_Terminate")   End Sub    Sub CatChError( Str )   If Err Then   Err.Clear   Class_Terminate()   Response.Write("捕捉到错误,程式结束!在"&Str&"处")   Response.End()   End If   End Sub    ’******************************************   ’*通过SQL语言规则语句来查找记录是否存在,容易出错   ’******************************************    FunCtion HasReCordBySql( Sql )   Call CheCkSql(Sql,"R")   Dim Rs,HasR   Set Rs = ConnEx.ExeCute( Sql )   CatChError("HasReordSql")   If Not (Rs.eof Or Rs.bof) Then   HasR = False   Else   HasR = True   End If   Rs.Close   Set Rs = Nothing   HasRHasReCordBySql = HasR   End FunCtion    ’***************************************   ’*通过ID来查找记录是否存在   ’***************************************    FunCtion HasReCordById( StrTableName , IntID )   ’CheCkValue( IntID , 1 )   Dim Rs,HasR   Sql = "SeleCt top 1 * from "&StrTableName&" Where Id = "&IntID   Call CheCkSql(Sql,"R")   Set Rs = ConnEx.ExeCute(Sql)   CatChError("HasReCordByID")   If Not (Rs.eof Or Rs.bof) Then   HasR = False   Else   HasR = True   End If   Rs.Close   Set Rs = Nothing   HasRHasReCordById = HasR   End FunCtion    ’**********************************************   ’*通过SQL语言规则语句取得记录集   ’**********************************************   FunCtion GetRsBySql( Sql )   Call CheCkSql(Sql,"R")   Dim Rs   Set Rs = Server.CreateObjeCt("Adodb.ReCordSet")   Rs.Open Sql,ConnEx,1,1   Set GetRsBySql = Rs   End FunCtion    ’*********************************************   ’*取得某个字段的value   ’*********************************************   FunCtion GetValueBySql( Sql )   Call CheCkSql(Sql,"R")   Dim Rs,ReturnValue   Set Rs = ConnEx.ExeCute(Sql)   CatChError("GetValueBySql")   If Not( Rs.Eof Or Rs.Bof ) Then   ReturnValue = Rs(0)   Else   ReturnValue = "没有记录"   End If   Rs.Close   Set Rs = Nothing   GetValueBySql = ReturnValue   End FunCtion    ’============================Update,Insert====================   ’*********************************************   ’*利用SQL语言规则修改Data   ’*********************************************   FunCtion UpdateBySql( Sql )   Call CheCkSql(Sql,"w")   ConnEx.ExeCute(Sql)   CatChError("UpdateBySql")   UpdateBySql = True   End FunCtion    ’********************************************   ’*利用SQL语言规则语句插入Data   ’********************************************   FunCtion InsertBySql(Sql)   Call CheCkSql(Sql,"w")   ConnEx.ExeCute(Sql)   CatChError("InsertBySql")   InsertBySql = True   End FunCtion    ’=====================Delete=====================   ’********************************************   ’*通过SQL语言规则语句删除   ’********************************************   FunCtion DeleteBySql( Sql )   Call CheCkSql(Sql,"D")   ConnEx.ExeCute(Sql)   CatChError("DeleteBySql")   DeleteBySql = True   End FunCtion    ’********************************************   ’*检查SQL语言规则语句权限,根据标志Flag 来检测语句拥有的权限   ’********************************************   Sub CheCkSql( Sql , Flag )   Dim StrSql,SinCounts,DouCounts,i   StrSql = LCase(Sql)   SinCounts = 0   DouCounts = 0   For i = 1 to Len(StrSql)   If Mid(StrSql,i,1) = "’" Then SinCountsSinCounts = SinCounts + 1   If Mid(StrSql,i,1) = """" Then DouConnts = DouCounts + 1   Next    If (SinCounts Mod 2) <> 0 Or (DouCounts Mod 2) <> 0 Or Instr(StrSql,";") > 0 Then   Call Class_Terminate()   Response.Write("SQL语言规则语言规则错误!")   Response.End()   End If   SeleCt Case Flag   Case "R","r":   If Instr(StrSql,"delete") > 0 Or Instr(StrSql,"update") Or Instr(StrSql,"drop") > 0 Or Instr(StrSql,"insert") > 0 Then   Class_Terminate()   Response.Write("权限不足,没有运行写操作的权限")   Response.End()   End If   Case "W","w":   If Instr(StrSql,"delete") > 0 Or Instr(StrSql,"drop") > 0 Or Instr(StrSql,"seleCt") > 0 Then   Class_Terminate()   Response.Write("权限不足,没有运行删除操作的权限")   Response.End()   End If   Case "D","d":   Case Else:   Response.Write("参数CheCkSql标志错误!")   End SeleCt   End Sub    Sub Class_Terminate   If Not IsEmpty(FriendConn) Then   FriendConn.Close   Set FriendConn = Nothing   CatChError()   End If   End Sub   End Class   %>
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

  • 13.

  • 14.

  • 15.

  • 16.

  • 17.

  • 18.

  • 19.

  • 20.

  • 21.

  • 22.

  • 23.

  • 24.

  • 25.

  • 26.

  • 27.

  • 28.

  • 29.

  • 30.

  • 31.

  • 32.

  • 33.

  • 34.

  • 35.

  • 36.

  • 37.

  • 38.

  • 39.

  • 40.

  • 41.

  • 42.

  • 43.

  • 44.

  • 45.

  • 46.

  • 47.

  • 48.

  • 49.

  • 50.

  • 51.

  • 52.

  • 53.

  • 54.

  • 55.

  • 56.

  • 57.

  • 58.

  • 59.

  • 60.

  • 61.

  • 62.

  • 63.

  • 64.

  • 65.

  • 66.

  • 67.

  • 68.

  • 69.

  • 70.

  • 71.

  • 72.

  • 73.

  • 74.

  • 75.

  • 76.

  • 77.

  • 78.

  • 79.

  • 80.

  • 81.

  • 82.

  • 83.

  • 84.

  • 85.

  • 86.

  • 87.

  • 88.

  • 89.

  • 90.

  • 91.

  • 92.

  • 93.

  • 94.

  • 95.

  • 96.

  • 97.

  • 98.

  • 99.

  • 100.

  • 101.

  • 102.

  • 103.

  • 104.

  • 105.

  • 106.

  • 107.

  • 108.

  • 109.

  • 110.

  • 111.

  • 112.

  • 113.

  • 114.

  • 115.

  • 116.

  • 117.

  • 118.

  • 119.

  • 120.

  • 121.

  • 122.

  • 123.

  • 124.

  • 125.

  • 126.

  • 127.

  • 128.

  • 129.

  • 130.

  • 131.

  • 132.

  • 133.

  • 134.

  • 135.

  • 136.

  • 137.

  • 138.

  • 139.

  • 140.

  • 141.

  • 142.

  • 143.

  • 144.

  • 145.

  • 146.

  • 147.

  • 148.

  • 149.

  • 150.

  • 151.

  • 152.

  • 153.

  • 154.

  • 155.

  • 156.

  • 157.

  • 158.

  • 159.

  • 160.

  • 161.

  • 162.

  • 163.

  • 164.

  • 165.

  • 166.

  • 167.

  • 168.

  • 169.

  • 170.

  • 171.

  • 172.

  • 173.

  • 174.

  • 175.

  • 176.

  • 177.

利用JSP编程思想来做ASP编程就为大家介绍到这里。

【编辑推荐】

  1. 构造JSP和Javabean开发和发布环境的方法

  2. JSP设计模式浅析

  3. 什么是JSP以及其强弱势

  4. JSP页面Tomcat提高性能之王道

  5. JSP教程基础之脚本的使用

16    2009-07-03 11:27:11    JSP编程思想