CGI ASP PHP JSP ASP.net 比较

http://www.wangyeba.com/Article/web01/web01srv/200811/20081107085107.shtml/

http://eelab.gxu.edu.cn/list.asp?unid=540

http://www.jb51.net/article/2973.htm

良多SOHOER皆盼望有个本人的网站,而对于网站建设全无所闻,或许博古通今.今天人先道程序方面的区别,置信许多己遇到了有些公司说php比Asp,Asp.Net都要好,或者Asp比其他语言皆要佳。实在,程序的优详与网站开发职员的经验\技术程度相干,而语言自身并出有什么优详之分.经验少的程序员,不论使用的哪类语言,都能够开收回一套十分优良的程序.Php能做到的,Asp也能做到,Asp能做到的,Php一样能够做到.能不能做到,重要望程序员的才能。
纲前海内用得对比少的仍是Asp,为什么呢?一方里,Asp对比轻易上手,也比拟轻易入止启收;另外一方面,Windows体系正在内天用得比拟普及.而并不是由于asp比php要佳.而Html是每个网站修设职员的基本学问,不会Html,便没有要来做网站,由于程序最后输出的仍是Html内容.
下面人分离把各语言的优点,缺陷逐个列出,假如哪位同行望到哪里出缺漏,请和帖弥补。
实词订义:
数据库交互:实在就是程序去数据库写数据或许自数据库读数据的进程。 //本阐明: 是指网页里的程序足原,读与数据库内容,然后显示到前台页里。或者者用户正在前台降接内容,网页足本则把那些数据写进、更新到数据库里面相当的内容。
数据库:用来保留数据的软件系统
Access:微软Office带的小型数据库系统,一般与Asp,拉丁舞服装,Asp.Net配合使用。那个数据库极度合适小型企业的网站,关于数据质低于10万条的网站来说,完整没有答题.能够参考http://www.cheerbb.cn网站数据超功三万条,而速度仍然不缓!采纳的就是Access数据库.
Mysql:一类收费的中型数据库体系,一般与Php配合使用. 关于PHP程序员来说,mysql是最好的挑选.
MSSQL(Sql Server):微软公司的大型数据库系统,一般Asp,Asp.Net使用,纲前比较淌行的版本有2000,400电话,2005. 假若你的网站数据质超过了十万\两十万,那就改用MSSQL数据库吧.
1、Html,Html是一个网站修设者的基础学问,正如人前里道的,出有Html基本的职员,便算您会Asp或许Php,或者者其他语行,你也没有要来启收网站程序除非您觅到熟习Html的好农协作,由于a、不论什么言语,最后输出的是Html代码,b、Html代码规没有规范,影响搜寻引擎的收录后果。
长处:无须经由效劳器说明运转,该造访者翻开一个HTML网页,效劳器立即将当页发送给拜访者的电脑里。走访快度速,平安。
缺陷:有数据库交互才能,因为不是一个可施行的网站语言,因而你没措施通过Html降接数据,由Html写进数据库。
  分辨:普通情形下,网址前面的是.htm,.html的便是html动态网页
2、Php,Php是一类开流的网站程序言语运止于Apache,Php一般取MySql数据库合作使用。
优面:易开发,可使用Zend Encoder进行编译,运行速度比止Asp说明型语行要速,且代码无法被其别人查望。因为邦外Linux平台比较广泛,因而对比轻易觅到便宜的空间。
毛病:取Mysql的合作使用,使得数据库与网站程序分离位于两台服务器,网站的整体快度遭到了web效劳器与db服务器之间的接互速度及web服务器运行速度及反映速度的限制。经由编译的程序,除了编译者,别人很难入止拓铺。
鉴别:文件一般以.php解尾
3、Asp,Asp是微软的产品,运转于IIS,普通取Access或者Mssql合作使用。
长处:易启收,可通功农具入路程序加稀,采取Access数据库的体系,正在数据质小(普通10万以下)的情形下,快度要优于其他类型程序。
缺陷:在数据量大(10万以上)的情形下,采纳Access数据库速度要缓,须要采用Mssql数据库。一般邦外Windows空间价钱要绝对高面。
  鉴别:文件一般以.asp解尾
  4、Jsp,Jsp是采取Java为程序言语,运转于Tomcat
  长处:听道平安性要高
  毛病:Jsp空间在海内外,皆比拟少,价钱也相对照较高.
分辨:一般网址中包括了servlet字样
  5、Asp.Net,是微软公司最近几年着力推行的一种新型利用,你可以采纳C#,VB.Net,J#.Net,c++.Net进行语言开发。纲前有1.1,2.0,3.5等多个版本。
  优面:主倡程序与界面分别,程序直交编译成dll文件,实际上在服务器开动后,第一个人第一次造访当站的人和.net页面,系统就将各dll白件载进运行区,运行速度会比较缓,而以后其他走访者拜访程序速度速.
  毛病:开发比较烦琐,版原比较少.
  分辨:一般以Aspx、Ashx解尾
网站程序语行另外有Cgi,由于不常用,所以不引见了。
  另外说下如今良多己道的采取动态前台技术的答题,实在就是通功动态程序读与预设佳的模版替代相当数据后,天生Html白件.
闭于首页Flash片头:良多人喜欢那个西西,由于他美丽,但是对于Soho一族,个己以为没有必要。由于这西西除了增添您的破费外,出有其他做用。
闭于Flash导航条,个人不倡议,因为搜寻引擎很难读与到Flash里面的衔接疑作。
原白停止,欢送同行发表看法,也喜欢对于寻觅网站修设的弟兄姐姊有辅助。
嘿嘿。。转载搜集以上材料,求自己一同进修分享,菜鸟站长们,加油! 相关的主题文章:

=================================================================================================================================

目前在Internet上广泛使用的后台技术种类繁多,应用比较广泛的有CGIASPPHPJSP/JavaServletColdFusion等。在这一节里,主要介绍几种在国内应用比较广泛的后台语言。

CGI,全称为Common Gateway Interface

CGI就是公共网关接口 (Common Gateway Interface) 的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如CC++JavaPascal等,但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi 

CGI程序在运行的时候,首先是客户向 服务器 上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。

ASP,全称为Active Server Pages

ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSIServer Side Include)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。目前在微软的 .net 战略中新推出的ASP.net 借鉴了Java技术的优点,使用C Sharp (C#) 语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的 Windows NT/2000/XP + IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP解决方案 ,但是目前ASPUNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。

PHP,全称为PHP: Hypertext Preprocessor

PHP 的全名非常有趣,它是一个巢状的缩写名称——“PHP: Hypertext Preprocessor”,打开缩写还是缩写。PHP是一种HTML 内嵌式的语言 (就像上面讲的ASP那样)。而 PHP 独特的语法混合了CJavaPerl以及 PHP 式的新语法。它可以比 CGI 或者 Perl 更快速地执行动态网页。

PHP的源代码完全公开,在 Open Source 意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得 PHP 无论在 UNIX 或是 Win32 的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1 ,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统 CGI 或者 ASP 等技术有了更好的表现。

平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话, 使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。

JSP,全称为Java Server Pages / Servlet

JSPServlet要放在一起讲,是因为它们都是Sun公司的J2EEJava 2 platform Enterprise Edition)应用体系中的一部分。

Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process),而Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(Parent Thread)来实现资源共享,这样就减轻了服务器的负担,所以,Java Servlet可以用来做大规模的应用服务。

虽然在形式上JSPASPPHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASPPHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSP Parser)转换成Servlet代码,然后Servlet代码被Java编译器编译成 .class 字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(Script Language)版。

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA – Write Once, Run Anywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。因此,JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

  在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数,而是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错),逐步缩小出错代码段的范围,最终确定错误代码的位置。

各种后台语言的比较

上面分别讲了四种应用比较广泛的后台语言,下面就让我们来看看表8-1,对这四种后台语言的各种性能做一个比较。

8-1  四种后台语言的性能比较

后台界面

CGI

ASP(不含ASP.net

PHP

JSP/Servlet

操作系统

几乎所有

Win32

几乎所有

几乎所有


(续表)

后台界面

CGI

ASP(不含ASP.net

PHP

JSP/Servlet

服务器

几乎所有

IIS

非常多

非常多

执行效率

很快

极快

稳定性

中等

非常高

开发时间

中等

修改时间

中等

程序语言

不限,几乎所有

VB

PHP

目前仅支持Java

网页结合

学习门槛

较高

函数支持

不定

系统安全

极佳

使用网站

超多

目前一般

更新速度

较慢


      JSP同样是实现动态网页的一个利器。由于他的脚本语言是 JAVA,所以继承了 JAVA诸多优点。那么与 ASP相比,应该可以说 ASPJSP基本不是一个档次上的。那么 ASP.NETJAVA却是可以抗衡的。 

JSP和ASP相比较:


运行速度、运行开销、运行平台、扩展性、安全性、函数支持、厂商支持、对XML的支持等等,ASP都不是JSP的对手。COM组件的复杂性实 编程 实现有一定的难度。而JAVABeans和JAVA的结合却是天衣无缝的。


JSP和ASP.NET相比较:


1.相对C#,JSP的脚本语言JAVA也是面向对象的、分布式的、解释的语言。


2.C#相似JAVA同样去掉了难以理解的指针等概念,取而代之的是类和对象。


3.  JSP有一项全新的技术――Servlet(服务器端程序)很好的节约了服务器资源。


4JAVABeans是针对ASP.NETServer Control的技术。只要会JAVA  JavaBeans就很容易写出。


5.再有就是JAVAJDBC数据库连接技术。


6JSPXML同样有十分广泛的支持。


 1)    面向对象性
    ASP+
C#作为一种面向对象语言,在很多方面来看,C#将成为微软的与Java相似的语言。 
    C#
另一个有趣的地方是所有对象都自动变成为COM对象。如果C#能取得很大的市场份额,那么它将给ASP+带来类似于Java的功能,并且具备更快的性能,因为它可以和Windows环境紧密集成。 
    C# 
ASP+开发中一个最重要的功能,微软会将C#发展成为Java的强劲对手。这也是他们.Net框架的一个重要组成部分。我认为C#是微软在编程市场上击败对手的主要工具。我期待着微软能在这个产品后面倾注全力,这样,C#可以成为许多程序员的又一种选择。C#产生的结果是将进一步加固微软和Sun产品的战线。这对用户是有利的,他们可以选择两者之一来开发新的应用。


2)      数据库连接: 
    ASP
另一个亮点是它使用ADO对象,ODBC, OLE-DB和事务处理管理器。因此ASP Web数据库应用开发特别简单。ASP+发展了更多的功能,因为有了ADO+ADO+带来了更强大更快速的功能。JSPJDBC目前在易用性和性能上同ASP/ADO相比已有些落后,当新版本ASP+/ADO+出现后这样的差别会更明显。我个人希望SUN应尽快能花大力气来追赶ASP+/ADO+的组合。


3)      大型站点应用: 
    ASP+
将对大型站点(web farms)有更好的支持。事实上,微软在这方面付出了巨大的努力。 ASP+可以让你考虑到多服务器(multiple servers)的场合,当你需要更强大的功能时,仅仅只需要增加一台服务器。整个.Net框架已经充分地提供了这个方法。ASP+提供了外部会话状态(external session state)来提供内置式web farm的支持。另外,由于请求的各组件相互间经过了充分的优化,所以速度很快。 
于是ASP+现在可以在大型项目方面与JSP一样具有等同的能力。 而ASP+还有价格方面的优势,因为所有的组件将是服务器操作系统的一部分。对于JSP,你需要购买昂贵的应用服务器群来达到同样的目的。


4)      ASP+还提供更多的其它方面的新特性,例如: 
*
内置的对象缓存和页面结果缓存。 
*
内置的XML支持,可用于XML数据集的简单处理。 
*
服务器控制提供了更充分的交互式控制。 
ASP+
确实对ASP进行了较大的发展。


JSP同样是实现动态网页的一个利器。由于他的脚本语言是JAVA,所以继承了JAVA诸多优点。那么与ASP相比,应该可以说ASPJSP基本不是一个档次上的。那么ASP.NETJAVA却是可以抗衡的。


    刚说到了ASP和ASP.NET的不同,那我再来说说PHP与ASP.NET的比较吧.

    如今当提到 Web 开发时,您有许多选择。这些方法中许多都涉及到预处理 — 即,利用特定的标记将代码嵌入到 HTML 页面中,这些标记告诉预处理器,它们包含代码,并且应对它们作出处理。与 CGI 非常相似,这些代码在服务器上运行,并返回一些内容,这些内容表现为发回给浏览器的结果 HTML 页面的部分外观。开放源代码脚本语言 PHP 和 Microsoft 的 ASP.NET 框架中的语言都属于这种类型;JavaServer Pages (JSP) 和 Perl/Mason 也以这种方式运行。 

    在本文中,我将重点讲述 PHP — Oracle 已选择合并到其产品中的技术 — 和 ASP.NET。我将概述两者的各种优势和弱点,并着重讨论那些将帮助您决定开发项目应选择哪种技术的因素。有很多因素需要考虑,不同的项目可能诉诸于不同的技术。总之,您将看到在价格、速度和效率、安全性、跨平台支持等方面的逐项比较,以及开放源代码解决方案的优势。

什么是 ASP.NET?

    ASP最新的版本 ASP.NET 并不完全与 ASP 早期的版本后向兼容,因为该软件进行了完全重写。早期的 ASP 技术实际上与 PHP 的共同之处比与 ASP.NET 的共同之处多得多,ASP.NET 是用于构建 Web 应用程序的一个完整的框架。这个模型的主要特性之一是选择编程语言的灵活性。ASP.NET 可以使用脚本语言(如 VBscript、Jscript、Perlscript 和 Python)以及编译语言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp)。新框架使用通用语言运行环境 (CLR);先将您语言的源代码编译成 Microsoft 中间语言代码,然后 CLR 执行这些代码。 

    这个框架还提供真正的面向对象编程 (OOP),并支持真正的继承、多态和封装。.NET 类库根据特定的任务(例如,使用 XML 或图像处理)组织成可继承的类。 

    除了编程语言和方法之外,数据库访问也是要着重关心的一个因素。当您用 ASP.NET 编程时,可以用 ODBC 来集成数据库;ODBC 提供了一组一致的调用函数来访问您的目标数据库。 

优势和弱点 

    ASP.NET的优势很明显在于它简洁的设计和实施。这是面向对象的编程人员的梦想:语言灵活,并支持复杂的面向对象特性。在这种意义下,它真正能够与编程人员现有的技能进行互操作。 

    ASP.NET的另一个优势是其开发环境。例如,开发人员可以使用 WebMatrix(一个社区支持的工具)、Visual Studio .NET 或各种 Borland 工具(如 Delphi 和 C++ Builder)。例如,Visual Studio 允许设置断点、跟踪代码段和查看调用堆栈。总而言之,它是一个复杂的调试环境。许多其他第三方的 ASP.NET IDE 解决方案也将必然出现。 

    但您得到了强健性,就将以损失效率为代价。ASP.NET 在内存使用和执行时间方面耗费非常大,这大部分归因于较长的代码路径。对基于 Web 的应用程序,这些局限可能是一个严重的问题,因为在 Web 上,您的应用程序可能扩展为每秒成千上万的用户。内存使用率还可能成为 Web 服务器上的一个问题。 

什么是 PHP? 

    PHP是基于预处理 HTML 页面模型的一种脚本语言。当 Web 服务器中的 PHP 预处理器发现像下面这样的 PHP 语言标记时,将调用 PHP 引擎来执行该代码: 


some code here
?>


    任何使用过命令式编程语言的编程人员都会对 PHP 非常熟悉;您会发现它与 Perl、C 和 Java 在语法上的相似处。严格来讲,Java 是一种命令式编程语言,但它也利用了面向对象的结构和概念。PHP 在适宜的时候借鉴了这种结构,但它不是一种纯粹的 OOP 语言。 

    在上面对 ASP.NET 的讨论中,我提到了 ODBC 驱动程序,以及在考虑数据库抽象的情况下如何构建应用程序。在 PHP 中,您也可以使用 ODBC 与数据库对话,因此您已经有了一系列支持的数据库可供选择。也有 MySQL、Oracle 和 Postgres 的原生驱动程序。此外,如果要使用 Oracle,则有一个特殊的 OCI8 库将提供对 Oracle 更多访问功能,从而允许您使用诸如 LOB、BLOB、CLOB 和 BFILE 之类的特性。 

    这时您可能会问“为什么与数据库相关的资料库被称为 PHP 的特性?”数据库抽象或独立性是您在设法构建使用多种数据库或需要在数据库间移植(例如,从开发到投产时的移植)的应用程序时所要考虑的一个因素。而这些确实是应该关心和考虑的。 

    但正如 Tom Kyte 在他的新书 — Effective Oracle by Design (Oracle 出版社) — 中指出的那样,数据库相关性将成为您真正的目标,因为这将使您在该技术中的投资最大化。如果您对 Oracle 进行一般的访问 — 无论通过 ODBC 或 Perl 的 DBI 库,那么您将无法使用其他数据库所不具有的特性。此外,优化查询在各个数据库中各不相同。 

    Zend Technologies 是一家商业软件公司,它对 PHP 作出了重大贡献。它创建了一个称为 Zend Studio 的商业开发环境,这个环境包含了一个复杂的调试器、一个监测器和其他特性。该公司还构建了免费的 Zend Optimizer,它与 Zend Encoder 结合使用来编译 PHP 代码,以提升性能。还有其他商业产品,如 Zend Performance Suite,它可以缓存预编译的 PHP 页面,从而进一步显著提升总体性能。 

优势和弱点 

    到测试版 4 为止,PHP 5 仍然有一些缺点,包括缺少异常和基于事件的错误处理例程 — 它们能够中断正常的程序流,并将代码跳转到一个特殊的错误处理部分。Java 也提供了用于错误处理的异常,而 C++ 通过 try、catch 和 throw 语法提供异常处理。当然,您仍然可以在 PHP 中管理错误,但其结构不是标准化的,因而使得编程人员必须使用自己的工具来决定执行错误处理的方式,这将导致更低的一致性并往往导致推倒重来。 

    另一个弱点是 PHP 的函数名是不区分大小写的。虽然这不是一个严重的缺点,但有些程序员可能会觉得这一特性很讨厌。 

    不过,我的确对 PHP 的对象模型心存疑虑。PHP 不是专门设计为一种面向对象的语言。这些特性中的一部分是后来添加的 — 尽管注意了保持与 PHP 3 的后向兼容性,因此两种模型的特性都留有一些。实际上,在 PHP 5 中这些弱点中的许多都得到了解决。请留心关注。 

    PHP在一些领域中缺少什么,它就会在擅长的领域中迅速地弥补什么。价格合理,因此您不需要担心许可问题。它也是开放源代码的,因此整个社区将密切关注开发过程:发现错误并将其修复。如果有一个特性您不喜欢,那么您可以修改代码。此外,PHP 可与 Apache 自然结合:它可以作为一个模块编译,或直接编译成 Apache 二进制文件。 

    但在 Apache 上运行意味着,利用 PHP,您能够利用您已经在任意服务器投资,这是因为 Apache 能够运行在 Windows、Linux、Solaris 和各种其他 Unix 平台上。此外,使用拥有 Apache 的跟踪记录的 web 服务器意味着安全性能够保持在最高的优先级上。最后,PHP 拥有更小的代码路径,这意味着更少的分析和执行 PHP 页面服务器端代码,这将带来更高效的内存和使用率以及更快的运行。


===========================================================================================================

Asp: 
首先说Asp,它是属于脚本语言,一般连接的数据库为 Access 和 MsSql(SqlServer).当我们开发一个一般的小型数据库网站的时候,一般在3万条记录以下的,一般用Access数据库。 
Access数据库的优势就是一般的服务器都支持。 
SqlServer数据库的优势就是速度快,比如当记录集在10万以上,可以推荐用Sql的数据库。 

这两种数据库在Asp中都是用Sql语法,但Access数据库和SqlServer数据库的使用语法有一定的不同。

在制作网站的时候,Asp语言和Html语言是混编的,这里说一下,Asp语言属于后台语言,也就是说,他是在服务器上进行运算的,前台脚本分为两种 VbScript 和 JavaScript 。一般情况,Asp和VbScript配合使用。 
Vbscript属于前台脚本语言,在客户端运行。当然JavaScript也是前台脚本语言。 
最后解释下ASP的全称:ASP的全称是Active(活动) Server(服务器) Pages(页面),即活动服务器页面。 

Php: 
Php和Asp一样也是,也是属于脚本语言,一般连接的数据库为MySql数据库,当然它也能和Access数据库和MsSql(SqlServer)数据库等其他数据库连接。 
再来说下,PHP属于免费软件,也就是说他的资源是free的,当然其实Asp在现在中国环境的话,也是免费的,从这点来说没有什么不同。 
Php从安全性上比Asp要好,当然这里说的是相对而言,一个好的程序员把安全性做好的话,都差不多,不过Php的安全性要比Asp要好,为什么这么说呢。这里主要原因是这样的,PHP的搭建服务器环境相对复杂(需要安装Apache + MySql + PHP),而Asp的搭建环境比较简单(只需要安装IIS就可以了),所以学PHP的门槛比Asp的门槛要高,所以很多人就偏向Asp学习的人就多了,自然研究Asp漏洞的人就多了,而PHP会的人就少,所以研究漏洞的人就更少了,从这点来说PHP的安全性比ASP的安全性要高些。 
而且还有一点就是 Apache 的环境最好是Unix,当然Windows下也是可以安装的。(Apache 是PHP的支持环境) 

还有再说一点,就是MySql的效率问题,他比Access好很多倍,但是比MsSql(SqlServer)要差点。 

Asp.net: 
首先来说,Asp.net 和 Asp 没什么关系,看着像是升级版本什么的,其实没什么联系。 
Asp 是脚本编程,用的是 ASP语言,而ASP.net 用的是C#语言,完全不同的东西。 
现在的 ASP.net 分为两个版本:1.1 和 2.0 
Asp.net 1.1 用 VS2003 (visual studio 2003)编程。 
Asp.net 2.0 用 VS2005 (visual studio 2005)编程。 
现在一般开发用的是 VS2003 。 

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。 
Asp.net 1.1 的就装 Framework 1.1,Asp.net 2.0 的就装 Framework 2.0。 
ASP.net 1.1 和 2.0 在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。 
Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。 
Asp.net属于编译语言,和ASP的最大不同(ASP属于解释语言)。 

ASP.net 的速度 是 ASP不能比拟的。下面我来说下为什么ASP.net 比 ASP 快: 

ASP.net 是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括 worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0,而ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 


JSP: 
(JSP 是 copy 的,还没有太研究。总体上来说JSP的工程量巨大,任何工程都可以做到,当然是一个团队开发,3个人以上的一个团队开发,他的工期耗时也是最常的。) 
1 将内容的产生和显示进行分离 
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面.使用JSP标识或者小脚本来产生页面上的动态内容.产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行.如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生.在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器.这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性. 

2 强调可重用的群组件 
绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理.开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用.基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡. 

四者中,.NET和JSP应该是未来发展的趋势.世界上一些大的电子商务解决方案提供商都采用JSP/Servlet和.NET框价模式. 



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值