php,jsp,asp三者优缺点...,第1张

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或者smarttemplate做模板层,如果是PHP

51的话,还能够使用PDO(PHPDataObject)来访问数据库。

5有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASPnet的事件驱动的框架:Prado,支持类似RubyOn

Rails的快速开发的框架:Cake等等,足够满足你的应用需求。

6PHP5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。

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记事本,就可以编辑。当然,其他网页发展工具,例如,FrontPageExpress、

FrontPage等也都可以;不过还是建议你用记事本来写,既省钱又方便,若是使用那些所见即所得的网页编辑来写ASP,可能会发生一些意想不到的离奇状态。

2、通吃各家浏览器

由于ASP程序是在网络服务器端中执行,执行结果所产生的HTML文件适用于不同的浏览器。

3、语言相容性高

ASP与所有的ActiveXScript语言都相容,除了可结合HTML,VBScript、JavaScript、Active

X服务器组件来设计外,并可经由“plug-In(外挂组件模组)的方式,使用其他厂商(ThirdParty)所提供的语言。

4、隐密安全性高

如果我们在浏览器中直接查看网页的原始代码,就只能看到HTML文件,原始的ASP程序代码是看不到的!这是因为ASP程序先于网站服务(Web

Server)端执行后,将结果转换成标准HTML文件,再传送到客户端(Client)的浏览器上,因此,我们所辛苦撰写的ASP程序并不会轻易地被看见进而被盗用。

5、易于操控数据库

ASP可以轻易地通过ODBC(OpenDatabase

Connectivity)驱动程序连接各种不同的数据库,例如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可将“文本文件”或是”Excel”

文件当成数据库用。

6、面向对象学习容易

ASP具备有面向对象(Object-Oriented)功能,学习容易,ASP提供了五种方便能力强大的内建对象:Request、Response、Sever、Application以及Session,同时,若使用ASP内建的“Application”对象或”Session”对象所撰写出来的ASP程序可以在多个网页之间暂时保存必要的信息。

JSP虚拟主机是利用独特的技术手段把一台服务器上的JSP环境划分为独立的小的JSP环境,来供大家执行所需要的JSP语言,您可以把自己的JSP语言的网站上传到JSP虚拟主机上,设置好数据库的连接,您的JSP网站就可正常运行了,JSP虚拟主机其实就是在网络上提供一个JSP环境,您买了后可以把自己的网站放上去让全世界的人都能浏览到,而如果不用JSP虚拟主机,您在自己的电脑上只能您自己看到,这样就失去做网站的意义! JSP使用java健壮语言,安全性强,目前大型企业网站绝大多数都是用JSP技术构建,JSP主机不需要担心被跨站黑掉的问题。

JSP技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。这里提供了JSP技术的全面概述,描述了其开发背景以及这项技术的总体目标。同时,在一个简单示例中,还描述了一个基于JavaTM技术的页面的关键组成部分。

在万维网短暂的历史中,它已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购书操作的一个基础设施。在各种各样的应用程序中,对于可能使用的基于Web的客户端,看上去没有任何限制。基于浏览器客户端的应用程序比传统的基于客户机/服务器的应用程序有几个好处。这些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。这些快速增长的精巧的基于Web的应用程序要求开发技术上的改进。静态HTML对于显示相对静态的内容是不错的选择;新的挑战在于创建交互的基于Web的应用程序,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。对于这个问题的一个早期解决方案是使用CGI-BIN接口;开发人员编写与接口相关的单独的程序,以及基于Web的应用程序,后者通过Web服务器来调用前者。这个方案有着严重的扩展性问题——每个新的CGI要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将消耗该Web服务器所有的可用资源,并且系统性能降低到极其低下的地步。某些Web服务器供应商已经尝试通过为他们的服务器提供“插件”和API来简化Web应用程序的开发。这些解决方案是与特定的Web服务器相关的,不能解决跨多个供应商的解决方案的问题。例如,微软的Active Server PagesTM(ASP) 技术使得在Web页面上创建动态内容更加容易,但是也只能工作在微软的IIS和Personal Web Server上。还存在其他的解决方案,但是都不能使一个普通的页面设计者能够轻易地掌握。例如,象Java Servlets这样的技术就可以使得用Java语言编写交互的应用程序的服务器端的代码变得容易。一个Java Servlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员能够编写出这样的Servlet,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能要查询数据库来完成这项请求),然后发送包含HTML或XML文档的响应到浏览器。采用这种方法,整个网页必须都在Java Servlet中制作。如果开发人员或者Web管理人员想要调整页面显示,就不得不编辑并重新编译该Java Servlet,即使在逻辑上已经能够运行了。采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。

很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当前方案所受到的限制,即:

能够在任何Web或应用程序服务器上运行

将应用程序逻辑和页面显示分离

能够快速地开发和测试

简化开发基于Web的交互式应用程序的过程

JavaServer Pages (JSP)技术就是被设计用来满足这样的要求的。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。

使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。 绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与Java 2平台,企业版(J2EE)和Enterprise JavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。 JavaScript能够在客户端动态地生成HTML。虽然JavaScript很有用,但它只能处理以客户端环境为基础的动态信息。除了Cookie之外,HTTP状态和表单提交数据对JavaScript来说都是不可用的。另外,由于是在客户端运行,JavaScript不能访问服务器端资源,比如数据库、目录信息等等。

JSP和服务器端包含(Server-Side Include,SSI)相比

SSI是一种受到广泛支持的在静态HTML中引入外部代码的技术。JSP在这方面的支持更为完善,因为它可以用Servlet而不是独立的程序来生成动态内容。另外,SSI实际上只用于简单的包含,而不是面向那些能够处理表单数据、访问数据库的“真正的”程序。

当前主流的服务器操作系统则主要分为:Windows server、UNIX、Linux、NetWare这四大阵容。不同的系统有不同的特点,要根据情况来判断

Windows server是用户群体最大的服务器系统,不得不多做介绍。旗下又分为:Winnt40、Win2000、Win2003、Win2008、Win2012

特点:作比较简单,安全性较高,

Windows常见的系统及其特点:

Winnt40用于单一防火墙服务器非常不错,但是,作为一个早期的系统,也有着比较明显的缺点,比如运行速度不佳,功能也比较简陋,而且不能承受过多的运行任务。微软早已放弃对其所有的升级服务,市面上没有正版Winnt40销售;Win2000则是Winnt原有完整的内核上进行开发的,对多任务的处理能力有了大幅的提升,管理以及其他功能更加全面,但是系统的稳定性和安全性被削弱了。微软也停止了对win2000的销售和升级服务;win2003在操作的易用性上进行了升级,安全性是目前所有的windows server系统中最高的,线程处理能力、硬件的支持、管理能力都有了大幅的提升,是目前服务器操作系统中主流的操作系统之一。不过由于更多功能的加入,使得win2003的处理能力有所下降。win2008添加了一些特性和策略,以及多了server 2008 r2b版本,运行速度有所加强,但是稳定性有所欠佳。也是主流系统之一。最后就是win2012,目前微服务器操作系统中最高的版本,同时也有r2版本,全面的升级,对应win8内核优化而来,但是,对一些老牌软件应用的兼容性,以及稳定性还是欠佳的。

如果说Windows server是为单用户设计的,那么UNIX则是为多用户而生的。支持大型文件系统和数据库,系统的安全性、稳定性、以及引用软件有着Windows server无法比拟的优势。但是操作界面毫无人性化,相关操作管理技未得到推广,使得雇佣维护人员的成本非常高。

Linux是基于UNIX系统开发修补而来,源代码的开放,使得其稳定性、安全性、兼容性非常高,但是对于软件的兼容性来说对比UNIX还是稍稍逊色的。但是仅凭开发的源代码,使得很多服务器管理人员对其喜爱有加。

NetWare对服务器硬件的要求极低,而且对于网络的组件也有着先天的优势,能够支持无盘工作站,也能支持非常之多游戏软件的开发环境搭建,还能节省很多成本,常用户网络教学、游戏大厅、金融系统等。但是同样是需要手工敲入命令来实现操作指令的。而且系统多年来也没有更深层次的更新,使得部分软件的支持与其他新型应用的兼容性有所欠佳。

JSP是一种建立在Servlet规范功能之上的动态网页技术,是在通常的网页文件中嵌入脚本代码,用于产生动态内容,在JSP文件中嵌入的是java代码和JSP标记。

特点:

1、将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。

2、强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件来执行应用程序所要求的更为复杂的处理。

3、采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。

JSP的优缺点

一、缺点

1、JSP技术极大的增加了产品的复杂性。

2、java的高效率运行需要占用大量的内存和硬盘空间。一方面,java的高速运行是通过class文件常驻内存来实现的,另一方面,还需要硬盘空间来存储一系列的java文件和class文件以及对应的版本文件。

3、JSP程序调试困难。

二、优点

1、JSP代码跨平台,即一次编写,处处运行。

2、JSP组件跨平台可重用,企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于Solaris,Linux,UNIX和Windows平台。

3、支持多种网页格式。

4、JSP标签可扩充性。JSP技术允许开发者扩展JSP标签,定制JSP标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » php,jsp,asp三者优缺点...

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情