ASP,PHP,JSP,ASP.NET 比较


HTML:网页最基本的语言,每一个服务器语言都需要他的支持,是学习的开始。



简单来说:速度jsp>php>asp.net,jsp内容繁多,体系庞大,但是性能最强。




ASP是基于WINDOWS平台的,简单易用,由于是运行在WINDOWS平台上,所以移植性不好,不能跨平台运行.但是国内现在大部分的网站都是使用它来开发的.

PHP是当前兴起备受推崇的一种WEB编程语言,开源且跨平台,在欧美都比较的流行,最近在国内也很受许多网站开发者的欢迎.开发效率高,成本低!

JSP是了SUN公司推出的一种网络编程语言,比较难学(是网上公认的),跨平台运行.安全性比较高,运行效率也比较的快.备受企业级的公司及银行金融机构使用.

ASP.NET从某种意义上说应该是ASP版本的升级,但是它又不完全是从ASP上升级来的,ASP.NET的推出是微软为了与SUN公司的JSP在网络 上的迅猛发展抵抗的,.NET架构现在有许多人都在学习,主要是开发的效率比较的高.但是还是基于WIN平台运行,不能跨平台.





ASP简介
ASP,英文全称为 Active Server Pages。ASP 是一种动态网页 ,文件后缀名为.asp。

ASP 网页是包含有服务器端脚本 (server-side script ) 的 HTML 网页。Web 服务器会处理这些脚本,将其转换成 HTML 格式,再传到客户的浏览器端。

由于是运行在WINDOWS平台上,不能跨平台运行,自身存在着许多缺陷,最重要的就是安全性。在大型项目开发和维护上非常困难。



PHP介绍

PHP 是作为一个小开放源码,随着越来越多的人意识到它的实用性从而逐渐发展起来。Rasmus Lerdorf 在 1994 年发布了 PHP 的第一个版本。

总体来说,PHP 非常适合 Web 上的工作。但它并不是唯一的方法;如 Perl、Java、JavaScript、ASP、Python、Tcl、CGI 以及其它许多方法都可以生成动态的内容。但是,PHP 的优点是:它是专为基于 Web 的问题而设计的以及它是开放源码。

如早些时候所提到的,PHP 是嵌入在 HTML 中的。(可能您的文件几乎没有包含 HTML,但是通常这个文件是 PHP 与 HTML 的混合体。)这意味着在您正常的 HTML 中(或 XHTML,如果您处在比较前沿的位置),会有类似这样的 PHP 语句:

<body bgcolor="white">

<strong>How to say "Hello, World!"</strong>
<?php echo "Hello, World!";?>
<br>
Simple, huh?
</body>


PHP 代码是以标记 <?php 开始并以 ?> 结束的。这就告诉服务器在 <?php 和 ?> 之间的所有内容需要用 PHP 指令进行语法分析,如果发现它们,就需要执行它们。请注意,当处理和服务您的文件时,客户机会收到普通的 HTML 文件。浏览您站点的人看不到任何一个的 PHP 指令。


JSP简介


jsp(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其网址为 http://www.javasoft.com/prodUCts/jsp 。JSP规范是Web服务器、应用服务器、 交易 系 统、以及开发工具供应商间广泛合作的结果。在传统的网页Html文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标 记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返 回给客户。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无 Plugin,无ActiveX,无Java Applet,甚至无Frame。

JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java 2 platform Enterprise Edition)应用体系中的一部分。
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process),而Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(Parent Thread)来实现资源共享,这样就减轻了服务器的负担,所以,Java Servlet可以用来做大规模的应用服务。
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在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程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错),逐步缩小出错代码段的范围,最终确定错误代码的位置。


ASP.NET
 ASP最新的版本ASP.NET 并不完全与 ASP 早期的版本后向兼容,因为该软件进行了完全重写。ASP.NET的优势很明显在于它简洁的设计和实施。语言灵活,可以使用脚本语言(如 VBscript、Jscript、Perlscript 和 Python)以及编译语言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp);并支持复杂的面向对象特性。而且有良好的开发环境支持。




我们常用的开发组合:

IIS环境下
1.ASP.NET+ACCESS
2.ASP.NET+SQL SERVER
APACHE环境下
1.JSP+Oracale
2.JSP+MYSQL
3.PHP+MYSQL




----------------------------------------------------------------------------------------------------------------------------------


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、还无法完全实现一些企业级的功能:完全的集群、负载均横。
 

ASP.NET优点:
1. 简洁的设计和实施。
2. 语言灵活,并支持复杂的面向对象特性。
3. 开发环境。

缺点:
1.数据库的连接复杂。
2.不具有跨平台性,只支持windows平台。
 

JSP优点:
1、  一处编写随处运行。
2、  系统的多台平支持。
3、  强大的的可伸缩性。
4、  多样化和功能强大的开发工具支持。

缺点:
1、  与ASP一样,Java的一些优势正是它致命的问题所在。
2、  缺少系统性的资料。
3、  开发速度超慢
 

PHP优点:
1、  一种能快速学习、跨平台、有良好数据库交互能力的开发语言。
2、  简单轻便,易学易用。
3、  与Apache及其它扩展库结合紧密。
4、  良好的安全性。

缺点:
1、  在windows平台运行的安全性和稳定性不如Linux/Unix。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值