JSP(Java Server Page)与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,JSP编程思想与ASP也差不多。但两者是有着本质的不同,主要从以下几个方面对其进行比较:

我们提供的服务有:成都做网站、网站设计、微信公众号开发、网站优化、网站认证、罗江ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的罗江网站制作公司
(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
 - %>
 
利用JSP编程思想来做ASP编程就为大家介绍到这里。
【编辑推荐】