推广才逐渐被人们所认识。和ASP一样是在服务器进行编程的,不过PHP是GNU标准的自由软件,不仅它是免费的,和其配合使用的ApacheServer、MySQL数据库也是免费的,其源代码也是向外公开的。PHP还具有跨平台性,在Window98,NT,Linux,Unix和Macintosh等环境下均能运行,而且代码可以重用。由于采用类似C和Perl的语言格式,PHP含有相当丰富的函数库,上载文件、存取数据库中的二进制图片数据、作图、XML解析等功能的实现,只需借助某个或某几个函数即可完成,而不像ASP那样需要引入专门的控件才可实现。PHP也有其不足。相对ASP来说,PHP的自由软件身份使得自身的发展得不到颇具实力的软件开发公司的支持,其发展具有不定性,相应的参考材料、技术支持也较匾乏。它的类似C的语言风格,使它不如ASP来得容易掌握此外,PHP提供的数据库接口函数也不统一,在访问数据库时不如ASP那么方便。
JSP是由Sun公司推出的非常类似与ASP的一种动态网页技术标准。它也提供了在HTML代码中混合程序代码,由语言引擎进行解释执行的能力。JSP使用的是成熟强大的JAVA语言。客户端请求JSP编写的页面时,代码首先被转换成JAVA源文件,再编译成支持HTTP,FTP等网络协议的class文件(即Servlet),并由JAVA虚拟机执行。这种编译操作仅在对JSP页面的第一次请求时发生,虽然首次调用需几秒的编译加载时间,但后续请求只需调用服务器端缓存中的Servlets就可以了,比起每次请求都要解释执行的ASP代码要快。相对于ASP和PHP来说,JSP在跨平台可重用性和安全性上面还是有很多独到之处的。
3P有一个共同的缺点,就是HTML网页代码和脚本混杂,大大增加了网站开发和维护的难度,另外也由于微软开发一种能JSP相抗衡的新技术,ASP.NET技术的出现基本改变了这些。ASP.NET技术使用完全的面向对象语言,网页与程序分离有利于更好的设计程序,使得代码更简洁、易于编写,不仅提高了重利用性和共享性,还提高了可调度性、可测量性、安全性和可靠性;同时,对不同的浏览器提供了更好的支持。ASP.NET能使开发人员创造出更加动态而且伸缩性更强的应用程序,这种应用程序能够更好地满足公司的商业需求,并提供一个更加丰富的开发环境。在兼容以前设计习惯的基础上采用完全的可视化设计,使windows程序和网站程序的风格区别缩小,使用任何语种都只要遵守.NET规范,都可以使用ASP.NET,使得技术的推广速度相当快。
2.1.2技术比较
ASP和JSP都是使用的脚本语言混合HTML编程,特别是ASP的脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
1、代码逻辑混乱,难于管理:它使用的是脚本语言混合html编程,所以很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
3、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来会方便一些,但相对于它所造成的出错几率就远远得不偿失的。
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上甚至还远远比不上PHP/JSP,在纠错/调试功能的完善,这点上ASP/PHP/JSP差不多。
下面是ASP和ASP.NET在具体操作编程上有什么不同。在ASP程序中,当需要使用Server对象的CreateObject方法来建立一个类实例的时候,首先要声明一个变量fso,之后将变量fso赋予FileSystemObject的对象(FileSystemObject对象可以在Scripting这个库中找到)。如果想要ASP代码得以正常运行,还必须确定相关的DLL文件已经被安装并且注册到服务器。当C#运行库被安装的时候,FileSystemObject对象是会被自动注册的。但是如果想使用第三方开发的组件或者使用自己创建的组件,就需要小心安装并且注册你的组件了。其具体的代码如下:
Dimfso
Setfso=Server.CreateObject("Scripting.FileSystemObject")
而在ASP.NET中,在声明一个变量的同时,可以指定它的类型并且初始化这个变量
为了引用一个类,需要使用这样的表示方法:名称空间[.子名称空间].类。即如:
Scripting.FileSystemObjectfso=newScripting.FileSystemObject();
在上面的代码中,引用了FileSystemObject这个类,而FileSystemObject这个类可以在名称空间Scripting中找到。上面的名称空间实际上只是假设的一个名称空间,它并不存在于.NET的架构当中,所以上面的代码实际上是无法运行的。
由此可以看出ASP和ASP.NET技术的区别了。ASP.NET使用的面向对象的语言,而不是一种脚本语言,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.NET上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性极大的提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
JSP同样是实现动态网页的一个利器。由于他的脚本语言是JAVA,所以继承了JAVA诸多优点。ASP.NET和JAVA的具体的区别。其重要体现在:
1)面向对象性:
ASP.NET将C#作为一种面向对象语言,在很多方面来看,微软将C#成为与Java相似的语言。C#另一个有趣的地方是所有对象都自动变成为COM对象。如果C#能取得很大的市场占有量的话,那么它将给ASP.NET带来类似于Java的功能,并且具备更快的性能,因为它可以和Windows环境紧密集成。C#是ASP.NET开发中一个最重要的功能,这也是.NET框架的一个重要组成部分。
2)数据库连接:
在ASP中的一个亮点是它使用ADO对象,ODBC,OLE-DB和事务处理管理器,因此ASPWeb数据库应用开发特别简单。ASP.NET发展了更多的功能,因为有了ADO.NET,ADO.NET带来了更强大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,当新版本ASP.NET/ADO.NET出现后这样的差别就更明显。
3)大型站点应用:
ASP.NET将对大型站点(webfarms)有更好的支持。事实上,微软在这方面付出了巨大的努力。ASP.NET可以让你考虑到多服务器(multipleservers)的场合,当你需要更强大的功能时,仅仅只需要增加一台服务器。整个.NET框架已经充分地提供了这个方法。ASP.NET提供了外部会话状态(externalsessionstate)来提供内置式webfarm的支持。另外,由于请求的各组件相互间经过了充分的优化,所以速度很快。
于是ASP.NET现在可以在大型项目方面与JSP一样具有等同的能力。而ASP.NET还有价格方面的优势,因为所有的组件将是服务器操作系统的一部分。对于JSP,需要购买昂贵的应用服务器群来达到同样的目的。
4)ASP.NET还提供更多的其它方面的新特性,例如:
*内置的对象缓存和页面结果缓存。
*内置的XML支持,可用于XML数据集的简单处理。
*服务器控制提供了更充分的交互式控制。
可以看出,由于JSP模型是在ASP之后,在许多方面借鉴了ASP,如:session、application等对象。同时JSP使用灵活而强大的JAVA语言,而不是低效的脚本语言,使得JSP与ASP相比,具有明显的优势。但是,ASP.NET又是在借鉴JSP的优点后推出的,这样ASP.NET又具有后发的优势。
2.1.3
上一篇:
asp_net很好的美容院管理系统加论文(论文和程序)
下一篇:
经济酒店发展:China''s economy hotel market development strategies