1,嵌入到页面中2,使用cscript.exe执行3,hta也可以最简单的方法是用浏览器,通过html的onload事件去调用,当然也可以用其他方法。js是解释型语言不用编译。
找源码,创建于2006年1月,是一个专注于收集精品源码的网站,致力于为广大源码爱好者提供完整的asp、php、.net等源码。
asp,全称为active server pages
asp是微软(microsoft)所开发的一种后台脚本语言,它的语法和visual basic类似,可以像ssi(server 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的解决方案,但是目前asp在unix/linux上的应用可以说几乎为0)。所以平台的局限性和asp自身的安全性限制了asp的广泛应用。
asp在执行的时候,是由iis调用程序引擎,解释执行嵌在html中的asp代码,最终将结果和原来的html一同送往客户端。
php,全称为php: hypertext preprocessor
php 的全名非常有趣,它是一个巢状的缩写名称——“php: hypertext preprocessor”,打开缩写还是缩写。php是一种html 内嵌式的语言 (就像上面讲的asp那样)。而 php 独特的语法混合了c,java,perl以及 php 式的新语法。它可以比 cgi 或者 perl 更快速地执行动态网页。
php的源代码完全公开,在 open source 意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得 php 无论在 unix 或是 win32 的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前php的最新版本为4.1.1 ,它可以在win32以及unix/linux等几乎所有的平台上良好工作。php在4.0版后使用了全新的zend引擎,其在最佳化之后的效率,比较传统 cgi 或者 asp 等技术有了更好的表现。
平台无关性是php的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在php中不使用odbc,而用其自带的数据库函数(这样的效率要比使用odbc高)来连接数据库的话, 使用不同的数据库,php的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,php的优点还是异常明显的。
jsp,全称为java server pages / servlet
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程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错),逐步缩小出错代码段的范围,最终确定错误代码的位置。
jsp和asp相比较:
运行速度、运行开销、运行平台、扩展性、安全性、函数支持、厂商支持、对xml的支持等等,asp都不是jsp的对手。com组件的复杂性实编程实现有一定的难度。而javabeans和java的结合却是天衣无缝的。
jsp和asp.net相比较:
1.相对c#,jsp的脚本语言java也是面向对象的、分布式的、解释的语言。
2.与c#相似java同样去掉了难以理解的指针等概念,取而代之的是类和对象。
3. jsp有一项全新的技术――servlet(服务器端程序)很好的节约了服务器资源。
4.javabeans是针对asp.net的server control的技术。只要会java, javabeans就很容易写出。
5.再有就是java的jdbc数据库连接技术。
6.jsp对xml同样有十分广泛的支持。
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+带来了更强大更快速的功能。jsp和jdbc目前在易用性和性能上同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进行了较大的发展。
php即“超文本预处理器”,是一种通用开源脚本语言。
php是在服务器端执行的脚本语言,与c语言类似,是常用的网站编程语言。php独特的语法混合了c、java、perl以及 php 自创的语法。利于学习,使用广泛,主要适用于web开发领域。
php特点
(一)开源性和免费性
由于php的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改php的解释程序。另外,php 运行环境的使用也是免费的。
(二)快捷性
php是的语法特点类似于c语言,加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。
(三)数据库连接的广泛性
php可以与很多主流的数据库建立起连接,如mysql、odbc、oracle等
(四)面向过程和面向对象并用
asp网站:先安装iis,然后去网上下一套源码,比如南方数据,aspcms之类的放到iis的目录下,运行网站,修改代码测试。
php网站:安装wamp,然后去网上下一套源码,论坛类型discuz。门户类型dedecms。商城类型ecshop,解压到wamp的www目录下,浏览器输入localhost开始安装完毕即可。