ASPJSPPHP相比各有什么优缺点?
ASP、JSP、和PHP的优点和缺点:
一、ASP
优点:
1、无需编译
2、易于生成
3、独立于浏览器
4、面向对象
5、与任何ActiveX scripting 语言兼容
6、源程序码不会外漏
缺点:
1、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来。
2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。
3、由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。
4、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。
5、还无法完全实现一些企业级的功能:完全的集群、负载均横。
二、JSP
优点:
1、 一处编写随处运行。
2、 系统的多台平支持。
3、 强大的的可伸缩性。
4、 多样化和功能强大的开发工具支持。
缺点:
1、 与ASP一样,Java的一些优势正是它致命的问题所在。
2、 缺少系统性的资料。
3、 开发速度超慢
三、PHP
优点:
1、 一种能快速学习、跨平台、有良好数据库交互能力的开发语言。
2、 简单轻便,易学易用。
3、 与Apache及其它扩展库结合紧密。
4、 良好的安全性。
缺点:
1、 在windows平台运行的安全性和稳定性不如Linux/Unix。
扩展资料:
ASPNET也是常用的网站开发语言之一:
优点:
1. 简洁的设计和实施。
2. 语言灵活,并支持复杂的面向对象特性。
3. 开发环境。
缺点:
1.数据库的连接复杂。
2.不具有跨平台性,只支持windows平台。
php优点
1 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux
/Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换
PostgreSQL或者Oracle,支持N种数据库。(N >= 10)
2 语法简单,如果有学习C和Perl的很容易上手,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者Zend
Studio等等,再Linux平台下可以使用Eclipse等等。
3 目前主流技术都支持,比如WebService、Ajax、XML等等,足够应用。
4 有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用Smarty或者smart template做模板层,如果是PHP
51的话,还能够使用PDO(PHP Data Object)来访问数据库。
5 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASPnet的事件驱动的框架:Prado,支持类似Ruby On
Rails的快速开发的框架:Cake等等,足够满足你的应用需求。
6 PHP 5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。
7 有成熟的社区来支持PHP的开发。
8
目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,所以大型门户都能够选用它,我想足够能够你的使用了。
9 有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend
Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客
WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。
php缺点
1对多线程支持不太好,大多数时候我们只能简单的模拟去实现的。
2语法不太严谨,比如变量不需要定义就可以使用,在c,java,c++中变量是必须先定义以后才可以使用的。
3也许有经验的PHP程序员最感到痛苦的地方是PHP的解释运行机制。这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在页面执行完毕后被清空。以JSP为例,在JSP中,Java
Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页面、程序、会话、请求四种生存期。但在PHP中,只有Page一种生存期。
JSP的优势
(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
JSP的劣势
(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2)
Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的。java文件和。class文件,以及对应的版本文件。
ASP的特点:
1、任何开发工具皆可发展ASP
只要使用一般的文书编辑程序,如Windows记事本,就可以编辑。当然,其他网页发展工具,例如,FrontPage Express、
FrontPage等也都可以;不过还是建议你用记事本来写,既省钱又方便,若是使用那些所见即所得的网页编辑来写ASP,可能会发生一些意想不到的离奇状态。
2、通吃各家浏览器
由于ASP程序是在网络服务器端中执行,执行结果所产生的HTML文件适用于不同的浏览器。
3、语言相容性高
ASP与所有的ActiveX Script语言都相容,除了可结合HTML,VBScript、Java Script、Active
X服务器组件来设计外,并可经由“plug-In(外挂组件模组)的方式,使用其他厂商(Third Party)所提供的语言。
4、隐密安全性高
如果我们在浏览器中直接查看网页的原始代码,就只能看到HTML文件,原始的ASP程序代码是看不到的!这是因为ASP程序先于网站服务(Web
Server)端执行后,将结果转换成标准HTML文件,再传送到客户端(Client)的浏览器上,因此,我们所辛苦撰写的ASP程序并不会轻易地被看见进而被盗用。
5、易于操控数据库
ASP可以轻易地通过ODBC(Open Database
Connectivity)驱动程序连接各种不同的数据库,例如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可将“文本文件”或是”Excel”
文件当成数据库用。
6、面向对象学习容易
ASP具备有面向对象(Object-Oriented)功能,学习容易,ASP提供了五种方便能力强大的内建对象:Request、Response、Sever、Application以及Session,同时,若使用ASP内建的“Application”对象或”Session”对象所撰写出来的ASP程序可以在多个网页之间暂时保存必要的信息。
1、可以注册两个帐号,一个提问,一个回答,以此刷分。降低他人的回答积极性。弄长了也就没有意思了。
2、刷新的很快,没有一个统一的归纳整理,好多问题容易就被错过。
3、好多问题属于重复性的,浪费资源。同样属于没有统一的归纳整理。
JSP ASP PHP
运行速度 快 较快 较快
运行耗损 较小 较大 较大
难易程度 容易掌握 简单 简单
运行平台 绝大部分平台均可 Windows平台 Windows/UNIX平台
扩展性 好 较好 较差
安全性 好 较差 好
函数性 多 较少 多
数据库支持 多 多 多
厂商支持 多 较少 较多
对XML的支持 支持 不支持 支持
对组件的支持 支持 支持 不支持
对分布式处理的支持 支持 支持 不支持
应用程序 较广 较广 较广
----------------------------------------------------
转载:
慢慢看吧!
ASP、JSP与PHP的比较
目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(Java Server Pages),
PHP (Hypertext Preprocessor)。
简 介
ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运
行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script
)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言 它大量地借用C,Java和Perl语言的语法
, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面它支持目前绝大多数数
据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(
t)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--
脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行)Sun 公司借助自己在Jav
a 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Js
p--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点
程序。
三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的
第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式
,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PH
P、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到
HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术
,客户端浏览器不需要任何附加的软件支持。
技术特点
ASP:
1 使用 VBScript 、 JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成
网站的应用程序。
2 无须 compile 编译,容易编写,可在服务器端直接执行。
3 使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。
4 与浏览器无关 (Browser Independence), 用户端只要使用可执行 HTML 码的浏览器,即
可浏览 Active Server Pages 所设计的网页内容。 Active Server Pages 所使用的脚本语
言 (VBScript 、 Jscript) 均在 WEB 服务器端执行,用户端的浏览器不需要能够执行这些
脚本语言。
5Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript
或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言
,譬如 REXX 、 Perl 、 Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Mod
el) 物件。
6 可使用服务器端的脚本来产生客户端的脚本。
7ActiveX Server Components(ActiveX 服务器元件 ) 具有无限可扩充性。可以使用 Vi
sual Basic 、 Java 、 Visual C++ 、 COBOL 等编程语言来编写你所需要的ActiveX Se
rver Component 。
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标识和小脚本,生成所请求的内容(例如,通过访问Java
Beans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)
页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览
器的完全可用性。
2.强调可重用的组件
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBea
nsTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操
作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了
总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3.采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多
功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JS
P标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用
其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以
为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样
的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够
支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构
)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为
Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越
来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更
改工具或服务器并不影响当前的应用。
应用范围
ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统——只能运行于微软
的服务器产品,IIS (Internet Information Server) (windows NT)和PWS(Personal Web Se
rver)(windows 98)上。Unix下也有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,
必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。
PHP3可在Windows,Unix,Linux的Web服务器上正常运行,还支持IIS,Apache等通用Web服务器
,用户更换平台时,无需变换PHP3代码,可即拿即用
JSP同PHP3类似,几乎可以运行于所有平台。如Win NT,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)
。
数据库测试中,三者分别对 Oracle 8 进行 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可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规
模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Clas
s和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。
三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用J
SP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;
西方另外一个非常著名的电子商务软件提供商,Intershop。它原来的产品Intershop1 2, 3
, 4占据了主要的电子商务软件份额。它们都是通过CGI来提供支持 的。但去年10月后它推出
了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统
软件。
总之
ASP,PHP,JSP三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或
使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。
0条评论