asp,php 和 jsp 比较 之我见
作者:佚名 发布时间:2007-08-10 13:35:00
内容摘要:现在InterNet 越来越成为生活中不可或缺的一部分,制作网页的动态语言也越来越多,主要流行的有以下几种,ASP,PHP 和 JSP,他们之间互有优缺点,笔者在工作实践中对他们作了一下比较浅显的比较。
ASP 由于其简单功能实用等方面受到广大朋友的喜欢,再加上MS的强有力支持,可以说是时下作站点最为流行的语言,他借助MS的Com+ 技术,几乎可以实现在C/S 能够实现的所有功能,可以说确实具有相当的竞争力。ASp的代码实现也很简单,MS 提供的InterDev 在RAD 的基础上,使Asp 的开发一夜之间火遍了大江南北。但是他的缺点是,由于MS 长久以来的霸道作风,他只能运行在MS 的平台上,因此在关键性的应用上使人难以轻易接受。
PHP 则市秉承Linux 的GNU 风格,借助与源码公开,使他迅速成为世界上目前应用最为广泛的站点制作语言之一。借助与C++的形式,引用类的概念,使得代码的可重复性应用便的异常简单。加上他和Linux,Apache 和MySql 的紧密配合,关键性的应用也没有问题(有名的Sina就是采用Php)。但是他有一个比较大的麻烦,就是没有一个非常有实力的公司专门给他做支持,因此相关的学习资料比较少,目前在国内使用他的站点比较多,但是专门讲解他的站点就比较少。给初学者带来了很多的麻烦。
JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
我在实际工作中,就这三种语言的性能进行了比较 首先进行的是循环性能测试首先测试的是Jsp测试采用 20000*20000 次循环运算(有没有搞错,这么多),测试结果另人不可思议,该程序只用了不到 4 秒的时间就运行结束了。(没有搞错吧),程序代码如下:
<jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar"/>
<jsp:getProperty name="clock" property="time" />
<%
int i=0;
int j=0;
int k=0;
for(i=0;i<20000;i++){
for(j=0;j<20000;j++){
}
}
%>
<jsp:useBean id='clock1' scope='page' class='dates.JspCalendar' type="dates.JspCalendar"/>
<jsp:getProperty name="clock1" property="time" />
下一步测试的是 PHP,最初也准备测试 20000*20000次,但是不管把程序最大运行时间调的再大,也无法运行结束,因此改为 2000*2000 ,运行时间竟然达到 84 秒,程序代码如下:
<?
$TTime=date("Y-n-d"). " " . date("H:i:s");
echo $TTime;
echo "<br>";
for($i=0;$i<1000;$i++){
for($j=0;$j<1000;$j++){
}
}
$TTime=date("Y-n-d"). " " . date("H:i:s");
echo $TTime;
?>
最后进行的是Asp 的测试,测试的循环也是 2000*2000(几个0可要看清楚),运行时间是 63 秒,程序代码如下:
<%
response.write now
response.write "<br>"
for i=0 to 2000
for j=0 to 2000
next
next
response.write now
%>
(asp之家注:不知道作者电脑的配置怎么样,我测试了一下上面的asp程序,2000*2000只花了1秒的时间,没有63秒那么夸张:
20000*20000花了97秒:
)
另外,我也对数据库连接作了测试,由于Jsp 在连接数据库时需要通过 JDBC,因此必须专门为此作一个连接数据库的JavaBean,为了简单起见,我只把测试结果写出来,想要代码的朋友,和我联系!
对 Oracle 8 进行 1000 次 Insert,Update,Select,和Delete
Jsp 需要 13 秒
Php 需要 69 秒
ASP 需要 73 秒
猜你喜欢
- 首先这个是7米当时问我一个问题,不过可惜我不知道怎么解决,后来知道解决方法很简单,只是添加了一个margin-top:-1em就
- 毫无疑问,JavaScript 是一种非常灵活的脚本语言,有时候它像一只难以驯服的野马——你受益于它的灵活性的同时,也要时刻提防它变得失去控
- 1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数
- 万众瞩目的 Firefox 3 从昨天开始可以下载了,用“铺天盖地”四个字来形容她的宣传一点都不为过。大多数的广告还是她的fans自发进行的
- 在SQL Server 中,如果给表的一个字段设置了默认值,就会在系统表sysobjects中生成一个默认约束。如果想删除这个设置了默认值的
- FileUpload上传图片(图片不变形) 的实现方法,需要的朋友可以参考下。<style type="text/css&q
- 以下是SQL连接代码: 代码如下:Function Open_conn() dim Conn,Strconn&
- 我们可以用鼠标把Dreamweaver的层在页面内拖动,但要全屏拖动就困难了,下面是一种实现的方法:制作步骤:一、准备图片,取名/file/
- 我们以用户查询语句为 https://www.aspxhome.com/chunfeng.asp为例来查询用户资料将从数据库Contact1
- 如何在线创建新表?下面我们以建立一个数码相机库用表为例,看看在ASP程序代码中使用 [CREATE TABLE 相机 (品牌 TEXT(10
- Microsoft SQL Server 2000复制的概念:在数据库之间对数据和数据库对象进行复制和分发并进行同步以确保其一致性的一组技术
- 下面继续为大家带来XHTML与HTML兼容的16条指引!1.避免将页面声明为XML类型,页面使用UTF-8或者UTF-16字符集。2.在空元
- 当你连接到MySQL服务器时,你应使用一个密码。密码不以明文在上传输。客户端连接序列中的密码处理在MySQL 4.1.1中已经升级,很安全。
- ASP * 页制作中连接Oracle数据库的例子,下面这段代码能够显示,当前用户所能够看到的所有的用户和表,有兴趣的, 可以把每个表的内容上
- 随着互联网的飞速发展,很多主页都是越做越漂亮、越来越有个性。如果你是一个资深的网虫不会没有自己的主页吧!下面小弟就来谈谈如何使你的网上“小窝
- 前段时间冷空气突袭的时候,据说郊区密云的雪积得挺厚,但北京城内除了飘了一点小雪粒,毫无动静。应该是气温过高所致,我在慈云寺桥附近拍下的照片可
- 网页设计是由很多个不同的元素构成的,而这些元素的重要性都不同,并且有些元素还需要尤为的突出.有些元素彼此之间存在着联系,而另外的元素之间则一
- 内容摘要:ASP开发人员为了在他们的设计项目中获得更好的性能和可扩展性而不断努力。幸运地是,有许多书籍和站点在这方面提供了很好的建议。但是这
- 在SQL查询分析器执行以下代码就可以了。01.declare @t varchar(255),@c varchar(255) 02.decl
- 如何制作一个文本文件编辑器?我们也来做一个:newdoc.asp<%@ Language=VBScript %&g