ASP编程:静态网站制造:ASP,PHP,JSP的对照
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。js|对照|静态今朝,最经常使用的三种静态网页言语有ASP(ActiveServerPages),JSP(JavaServerPages),PHP(HypertextPreprocessor)。简介
ASP全名ActiveServerPages,是一个WEB服务器真个开辟情况,使用它能够发生和运转静态的、交互的、高功能的WEB服务使用程序。ASP接纳剧本言语VBScript(Javascript)作为本人的开辟言语。
PHP是一种跨平台的服务器真个嵌进式剧本言语.它大批地借用C,Java和Perl言语的语法,并耦合PHP本人的特征,使WEB开辟者可以疾速地写出静态天生页面.它撑持今朝尽年夜多半数据库。另有一点,PHP是完整收费的,不必费钱,你能够从PHP官方站点(http://www.php.net)自在下载。并且你能够不受限定地取得源码,乃至能够从中加进你本人必要的特征。
JSP是Sun公司推出的新一代站点开辟言语,他完整办理了今朝ASP,PHP的一个通病--剧本级实行(听说PHP4也已在Zend的撑持下,完成编译运转).Sun公司借助本人在Java上的非凡成就,将Java从Java使用程序和JavaApplet以外,又有新的硕果,就是Jsp--JavaServerPage。Jsp能够在Serverlet和JavaBean的撑持下,完乐成能壮大的站点程序。
三者都供应在HTML代码中夹杂某种程序代码、由言语引擎注释实行程序代码的才能。但JSP代码被编译成Servlet并由Java假造机注释实行,这类编译操纵仅在对JSP页面的第一次哀求时产生。在ASP、PHP、JSP情况下,HTML代码次要卖力形貌信息的显现款式,而程序代码则用来形貌处置逻辑。一般的HTML页面只依附于Web服务器,而ASP、PHP、JSP页面必要附加的言语引擎剖析和实行程序代码。程序代码的实行了局被从头嵌进到HTML代码中,然后一同发送给扫瞄器。ASP、PHP、JSP三者都是面向Web服务器的手艺,客户端扫瞄器不必要任何附加的软件撑持。
手艺特性
ASP:
1.利用VBScript、JScript等复杂易懂的剧本言语,分离HTML代码,便可疾速地完成网站的使用程序。
2.不必compile编译,简单编写,可在服务器端间接实行。
3.利用一般的文本编纂器,如Windows的记事本,便可举行编纂计划。
4.与扫瞄器有关(BrowserIndependence),用户端只需利用可实行HTML码的扫瞄器,便可扫瞄ActiveServerPages所计划的网页内容。ActiveServerPages所利用的剧本言语(VBScript、Jscript)均在WEB服务器端实行,用户真个扫瞄器不必要可以实行这些剧本言语。
5.ActiveServerPages能与任何ActiveXscripting言语相容。除可以使用VBScript或JScript言语来计划外,还经由过程plug-in的体例,利用由第三方所供应的其他剧本言语,比如REXX、Perl、Tcl等。剧本引擎是处置剧本程序的COM(ComponentObjectModel)物件。
6.可以使用服务器真个剧本来发生客户真个剧本。
7.ActiveXServerComponents(ActiveX服务器元件)具有没有限可扩大性。可使用VisualBasic、Java、VisualC++、COBOL等编程言语来编写你所必要的ActiveXServerComponent。
PHP:
1.数据库毗连
PHP能够编译成具有与很多数据库相毗连的函数。PHP与MySQL是如今尽佳的组合。你还能够本人编写核心的函数取直接存取数据库。经由过程如许的路子当你改换利用的数据库时,能够轻松地变动编码以顺应如许的变。PHPLIB就是最经常使用的能够供应一样平常事件必要的一系列基库。但PHP供应的数据库接口撑持相互不一致,好比对Oracle,MySQL,Sybase的接口,相互都纷歧样。这也是PHP的一个缺点。
2.面向工具编程
PHP供应了类和工具。基于web的编程事情十分必要面向工具编程才能。PHP撑持机关器、提取类等。
JSP:
1.将内容的天生和显现举行分别
利用JSP手艺,Web页面开辟职员可使用HTML大概XML标识来计划和格局化终极页面。利用JSP标识大概小剧本来天生页面上的静态内容。天生内容的逻辑被封装在标识和JavaBeans组件中,而且绑缚在小剧本中,一切的剧本在服务器端运转。假如中心逻辑被封装在标识和Beans中,那末其别人,如Web办理职员和页面计划者,可以编纂和利用JSP页面,而不影响内容的天生。
在服务器端,JSP引擎注释JSP标识和小剧本,天生所哀求的内容(比方,经由过程会见JavaBeans组件,利用JDBCTM手艺会见数据库,大概包括文件),而且将了局以HTML(大概XML)页面的情势发送回扫瞄器。这有助于作者回护本人的代码,而又包管任何基于HTML的Web扫瞄器的完整可用性。
2.夸大可重用的组件
尽年夜多半JSP页面依附于可重用的,跨平台的组件(JavaBeans大概EnterpriseJavaBeansTM组件)来实行使用程序所请求的更加庞大的处置。开辟职员可以共享和互换实行一般操纵的组件,大概使得这些组件为更多的利用者大概客户整体所利用。基于组件的办法减速了整体开辟历程,而且使得各类构造在他们现有的妙技和优化了局的开辟勉力中失掉均衡。
3.接纳标识简化页面开辟
Web页面开辟职员不会都是熟习剧本言语的编程职员。JavaServerPage手艺封装了很多功效,这些功效是在易用的、与JSP相干的XML标识中举行静态内容天生所必要的。尺度的JSP标识可以会见和实例化JavaBeans组件,设置大概检索组件属性,下载Applet,和实行用其他办法更难于编码和耗时的功效。
经由过程开辟定制化标识库,JSP手艺是能够扩大的。从此,第三方开辟职员和其别人员能够为经常使用功效创立本人的标识库。这使得Web页面开辟职员可以利用熟习的工具和好像标识一样的实行特定功效的构件来事情。
JSP手艺很简单整合到多种使用系统布局中,以使用现存的工具和技能,而且扩大到可以撑持企业级的散布式使用。作为接纳Java手艺家属的一部分,和Java2(企业版系统布局)的一个构成部分,JSP手艺可以撑持高度庞大的基于Web的使用。
因为JSP页面的内置剧本言语是基于Java编程言语的,并且一切的JSP页面都被编译成为JavaServlet,JSP页面就具有Java手艺的一切优点,包含强健的存储办理和平安性。
作为Java平台的一部分,JSP具有Java编程言语“一次编写,遍地运转”的特性。跟着愈来愈多的供给商将JSP撑持增加到他们的产物中,您可使用本人所选择的服务器和工具,变动工具或服务器其实不影响以后的使用。
使用局限
ASP是Microsoft开辟的静态网页言语,也承继了微软产物的一向传统――只能运转于微软的服务器产物,IIS(InternetInformationServer)(windowsNT)和PWS(PersonalWebServer)(windows98)上。Unix下也有ChiliSoft的插件来撑持ASP,可是ASP自己的功效无限,必需经由过程ASP+COM的组合来扩大,Unix下的COM完成起来十分坚苦。
PHP3可在Windows,Unix,Linux的Web服务器上一般运转,还撑持IIS,Apache等通用Web服务器,用户改换平台时,无需变更PHP3代码,可即拿即用.
JSP同PHP3相似,几近能够运转于一切平台。如WinNT,Linux,Unix.NT下IIS经由过程一个插件,比方JRUN大概ServletExec,就可以撑持JSP。出名的Web服务器Apache已可以撑持JSP。因为Apache普遍使用在NT、Unix和Linux上,因而JSP有更普遍的运转平台。固然如今NT操纵体系占了很年夜的市场份额,可是在服务器方面Unix的上风仍旧很年夜,而新兴起的Linux更是来势不小。从一个平台移植到别的一个平台,JSP和JavaBean乃至不必从头编译,由于Java字节码都是尺度的与平台有关的。
功能对照
有人做过实验,对这三种言语分离做轮回功能测试及存取Oracle数据库测试。
在轮回功能测试中,JSP只用了使人受惊的四秒钟就停止了20000*20000的轮回。而ASP、PHP测试的是2000*2000轮回(少一个数目级),却分离用了63秒和84秒。(参考PHPLIB)。
数据库测试中,三者分离对Oracle8举行1000次Insert,Update,Select,和Delete:Jsp必要13秒,Php必要69秒,ASP则必要73秒。
远景剖析
今朝在国际PHP与ASP使用最为普遍。而JSP因为是一种较新的手艺,国际接纳的较少。但在外洋,JSP已是对照盛行的一种手艺,特别是电子商务类的网站,多接纳JSP。
接纳PHP的网站如新浪网(sina)、中国人(Chinaren)等,但因为PHP自己存在的一些弱点,使得它不合适使用于年夜型电子商务站点,而更合适一些小型的贸易站点。
起首,PHP缺少范围撑持。其次,缺少多层布局撑持。关于年夜负荷站点,办理办法只要一个:散布盘算。数据库、使用逻辑层、暗示逻辑层相互分隔,并且同层也能够依据流量分隔,构成二维阵列。而PHP则缺少这类撑持。另有下面提到过的一点,PHP供应的数据库接口撑持不一致,这就使得它不合适使用在电子商务中。
ASP和JSP则没有以上缺点,ASP能够经由过程MicrosoftWindowsd的COM/DCOM取得ActiveX范围撑持,经由过程DCOM和TranscationServer取得布局撑持;JSP能够经由过程SUNJava的JavaClass和EJB取得范围撑持,经由过程EJB/CORBA和浩瀚厂商的ApplicationServer取得布局撑持。
三者中,JSP应当是将来开展的趋向。天下上一些年夜的电子商务办理计划供应商都接纳JSP/Servlet。对照着名的如IBM的E-business,它的中心是接纳JSP/Servlet的WebSphere;东方别的一个十分出名的电子商务软件供应商,Intershop。它本来的产物Intershop12,3,4占有了次要的电子商务软件份额。它们都是经由过程CGI来供应撑持的。但客岁10月后它推出了Enfinity,一个接纳JSP/Servlet的电子商务ApplicationServer,并且声言不再开辟传统软件。
总之
ASP,PHP,JSP三者都有相称数目的撑持者,由此也能够看出三者各有所长。正在进修或利用静态页面的伴侣可依据三者的特性选择一种合适本人的言语。
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的; 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
页:
[1]