asp,php,JSP三者分析
目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(Java Server Pages),PHP (Hypertext Preprocessor)。
I y ft'KT j7Oi
简 介 t| W5EnlZZ
ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运 vSk[\;mt
行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script &DV:yS&k(m!V {m [!H q
)作为自己的开发语言。 GI"]Xjr
6R5I'V/n8r5tp2VMWol8K
PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法
, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数 A@ B!e/O3O V$Z
据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点([url=http://www.php.ne/][color=#0000ff]http://www.php.ne[/color][/url]
t)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。 %AW4V,pPhH
h5S&gwd*[~
JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--
脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Jav IK&Q.P/t^)vxd3]L
a 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Js -Nz{!ZZ,x#{s
p--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点 7SA2I} K7xn;?H
程序。
三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。 *nr#tLpFDE C
但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的
第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式 [.}({ yzu
,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PH 4?v HD$c J2zc v
P、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 j{3?tfF
HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术 6Z8JD,w+gj-o
,客户端浏览器不需要任何附加的软件支持。
技术特点
M*]/?`6f?g%} k/v7Tz
ASP: $ZL@q3j)yo&o.D#t
1. 使用 VBScript 、 JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成 4yHc9tlq8B` W
网站的应用程序。
2. 无须 compile 编译,容易编写,可在服务器端直接执行。
3. 使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。 U*u}I+r S
4. 与浏览器无关 (Browser Independence), 用户端只要使用可执行 HTML 码的浏览器,即
可浏览 Active Server Pages 所设计的网页内容。 Active Server Pages 所使用的脚本语
言 (VBScript 、 Jscript) 均在 WEB 服务器端执行,用户端的浏览器不需要能够执行这些
脚本语言。
5.Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript :tBMOo4kQ C
或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言
,譬如 REXX 、 Perl 、 Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Mod si}l,bf Y CP g
el) 物件。
6. 可使用服务器端的脚本来产生客户端的脚本。 R5IdA]8Rpa7UT
7.ActiveX Server Components(ActiveX 服务器元件 ) 具有无限可扩充性。可以使用 Vi YH3z| SYF#A&n
sual Basic 、 Java 、 Visual C++ 、 COBOL 等编程语言来编写你所需要的ActiveX Se _3ytqg1_h
rver Component 。
cU#BggI
PHP:
1.数据库连接
PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可 )C9d/D0F{b
以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以 fv"l:o8W{4C%n
轻松地更改编码以适应这样的变。PHPLIB就是最常用的可以提供一般事务需要的一系列基库
。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL, Sybase的接口,彼此 f&N9Q5{ cg_:l
都不一样。这也是PHP的一个弱点。
2.面向对象编程 !D+H?p7G%}6d+^ kG
PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、
提取类等。
JSP: C)]/TLbB.^
1.将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使
用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans 7x!y}%t5CB|J
组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和 v"@;X!~&K7V#X1m
Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内
容的生成。
在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问Java
Beans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)
页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览
器的完全可用性。
2.强调可重用的组件 i%`3Q:fj!e4]5?
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBea w\QM'GUmNUi
nsTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操
作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了
总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3.采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多
功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JS *R y*s$zds_
P标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用 .[ @3nh,l_.v
其他方法更难于编码和耗时的功能。 I0k;m6|!U1K6~I
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以
为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样
的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够
支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构
)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为
Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。