1.ASP全称:Microsoft Active Server Pages , 是一套微软开发的服务器端脚本环境.
2.ASP 内含于 IIS 3.0 和 4.0 之间 , 通过 ASP 我们可以结合 HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高效的WEB服务器应用程序。
Asp(Active Server Pages)优点:
1.ASP具备管理不同语言脚本程序的能力;
具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置函数。
2. ASP在国内具有很强的影响力
ASP可以根据不同的用户,在不同的时间向用户显示不同的内容,也因此在国内掀起了一股学习ASP的热潮。自从ASP(Active Server Pages)问世以来,因其可以创建健壮易于维护、与平台无关的应用系统,ASP技术受到了越来越多网络程序员的喜爱,使用ASP从事WEB开发的人也越来越多。但ASP只是一种非编译型的、在服务端运行的脚本语言,采用明文(plain text)方式来编写,即使
3. ASP的脚本程序运行方便
有了 ASP 你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度
Asp(Active Server Pages) 所独具的一些特征:
1. Asp的语言容易编写;
无须 compile 编译,容易编写,可在服务器端直接执行
2. Asp的脚本语言运用简单快速性;
使用 VBScript 、 JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序。
3.使用文本编辑器的普通性
使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。
4.Asp所设计网页内容的可浏览性
与浏览器无关 (Browser Independence), 用户端只要使用可执行 HTML 码的浏览器,即可浏览 Active Server Pages 所设计的网页内容。 Active Server Pages 所使用的脚本语言 (VBScript 、 Jscript) 均在 WEB 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。
5. Asp的脚本语言的可容性
Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript 或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言,譬如 REXX 、 Perl 、 Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Model) 物件。
6. Asp的原程序的安全性;
Active Server Pages 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
Asp发展-----Asp.net
1..执行效率的大幅提高
ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
2.世界级的工具支持
ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。
3..强大性和适应性
因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript ,等。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。
4.简单性和易学性
ASP.net是运行一些很平常的任务如表单的提交,使客户端的身份验证,分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。
5.多处理器环境的可靠性
ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能。
6.自定义性,和可扩展性
ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的任何组件。网站程序的开发从来没有这么简单过。
7.安全性
基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。(但是Asp的经验告诉我们,不能这么自信,M$老是会出Bug的)
8.高效可管理性
ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝必须得文件,不需要系统的重新启动,一切就是这么简单。
JSP
JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。
JSP网页主要提供了一种建立servlet的高水平方法,它还带来了其他的优点。即使你已经为web应用程序编写了servlet,使用JSP仍然有很多优势:
JSP网页可以非常容易的与静态模板结合,包括HTML 或XML 片段,以及生成动态内容的代码。
JSP网页可以在被请求的时候动态的编译成servlet,所以网页的设计人员可以非常容易的对表述代码进行更新。如果需要的话,JSP网页还可以进行预编译。
为了调用JavaBean组件,JSP标签可以完全管理这些组件,避免网页设计人员复杂化应用程序。
开发人员可以提供定制化的JSP标签库。
网页设计人员能够改变和编辑网页的固定模板部分而不影响应用程序。同样,开发人员也无须一个个编辑页面而只须对组件进行合理的改变。
通常,JSP允许开发人员向许多网页设计人员分发功能性应用程序。这些设计人员也不必知道Java编程语言或任何servlet代码,所以他们能够集中精力去编写HTML代码,而编程人员就可以集中精力去建立对象和应用程序。
ASP与JSP的比较
一、结构
JSP和ASP在结构上类似,都是以““作为标计符,不同的是在标计符之间的代码ASP为JavaScript或VBScript脚本,而JSP为JAVA代码。JSP将网页的表现形式和服务器端的代码逻辑分开。作为服务器进程的JSP页面,首先被转换成servlet(一种服务器端运行的java程序)。Servlet支持HTTP协议的请求和响应。当JSP被转换成纯JAVA代码。多个用户同时请求一个jsp页面时,应用实例化线程来响应请求。这些线程由WEB服务器进程来管理,和ASP的线程管理器功能类似。同CGI为每个请求创建一个进程的模式比较,这种方式效率高的多。
二、性能和平台无关性
与C++、VB等语言比较,JAVA被看作是个效率不太高的语言,但它以牺牲效率换来了平台无关性使JAVA可以在大多数操作系统上运行而不需要重新编译--许多人愿意为此而付出代价。JAVA的编译代码是一种字节代码,在运行时由操作系统上的一个Java VirtualMachine(JVM)虚拟机解释。字节代码可以在所有平台上迁移,而不需要任何改动。交叉平台编程倾向于采用所有操作系统的“最小公分母“,尤其是使用图形化界面时(servlets不需要任何图形界面)。Servlets比传统的java程序(applets, javaapp)要快,因为它们在服务器端运行,不需要加载沉重的GUI(HTML的GUI是非常少的)。另外,servlets的字节代码只有在客户请求时才执行,所以尽管当首次调用servlets时会有几秒钟的加载时间,但后续的请求相应非常迅速,因为服务器已经缓存了运行的servlets。当前的jsp服务器,都带有java 即时编译器(JIT),因此,JSP的执行比每次都要解释执行的ASP代码要快,尤其是在代码中存在循环操作时,JSP的速度要快1到2个数量级。
三、ServerSideIncludes
在服务器端引用上ASP和JSP有着相同之处。ASP和JSP都可以支持此功能的服务器(IIS,APACHE)上实现服务器端包含虚文件。但JSP是将动态页面的结果包含进来,而不是包含文件的代码本身。当你包含的文件在另一个服务器上时,不包含任何代码和对象是一个非常有效的功能。
四、JAVA组件:JavaBeans
JavaBeans是一些完成预定义功能的封装的对象数据。JavaBeans和JSP接合与COM和ASP相比如下:
COM对象常用来封装商业逻辑和为ASP页面完成高强度计算。重用的组件使得页面简单快速,因为组件由编译语言(C++,VB)构成,而不是解释型的scripting语言(VBScript, JScript)。
JavaBeans只能用java语言开发,com可以由符合标准对象模型的任何语言开发(包括Visual J++)。另一方面,JavaBeans更容易开发,因为一旦掌握了java,了解JavaBeans的结构非常容易。由于com的复杂性,需要大量的学习和培训才能掌握--即使你具有c++和vb的基础也需要额外的努力。Com 组件需要在服务器上注册,如果你修改了一个现有的组件,服务器需要重新启动才能使用它。JavaBeans不需要重新注册,如果开发者不需要得到对服务器的完全访问权限,这是其一个巨大的优点。
可以创建满足商业逻辑的完整的JavaBeans库,让非编程人员使用库来开发动态网站。
Beans可以在服务器端管理数据库连接。
JavaBeans符合结构化对象模型:每个Bean由一个不带参数的构造函数,控制它的servlet可以使用内省(introspection)来设置其属性。要设置Bean的内置属性,必须使用带有属性名的setProperty标签。如果一个属性可以设置,Bean需要有一个setXxxx方法,Xxxx用实际的属性名来代替。
五、JSP和数据库
ASP使用ODBC通过ADO连接数据库,而JAVA通过一个叫JDBC的技术联接数据库。目标数据库需要一个JDBC驱动程序--一个数据库与JAVA的借口,使得JAVA可以用标准的方式访问数据库。JDBC不使用服务器端的数据源。只要有JDBC驱动程序,JAVA就可以访问数据库了。如果一个特定的数据库没有JDBC驱动程序,而只有ODBC驱动程序,JAVA提供一个JDBC-ODBC桥来将JDBC调用转化为ODBC调用。所有的JAVA编译器都带有一个免费的JDBC-ODBC桥。理论上,桥可以访问任何常见的数据库产品。
六、企业产品的多样性
JAVA2平台即企业版(J2EE)是适用于多企业应用程序的JAVA结构,作为J2EE的部分,JSP网页可访问所有J2EE的组件,包括Javabeans,企业级Javabeans及JAVA Servlets。JSP网页都能完全编译成为Servlets,所以它们都享有灵活性的特点和为服务器端JAVA应用程序。J2EE平台内容不仅包括管理复杂的企业应用程序而且包括事务管理技术和Pooling资源管理技术。
JSP网页可以访问标准的J2EE服务,包括:
? JAVA名称和目录界面API
? JDBCTM API(与关联的数据库通讯)
? JavaMailTM(支持基于JAVA邮件和消息应用程序的类)
? JAVATM 消息服务
通过J2EE,JSP网页能够用许多方式同企业系统交互访问。J2EE支持两种CORBA规范的技术:JAVA IDL和RMI-IIOP。在企业级JAVABEANS技术支持下,JSP网页通过运用高级的,对象映射的方式访问数据库。
最终,因为JSP技术是基于JAVA的开放性过程的产品,因此它能够广泛支持不同提供商提供的工具,WEB服务器和应用程序的服务,这样能够使用户选择最佳的开发方法,选择最适应他们的应用程序开发的工具包,同时,有效地保护用户在代码和人员培训上的投资。
结论:尽管JavaSever Pages 技术和微软的Active Sever Pages在许多方面都有相似的,但仍然存在很多不同之处,其中最本质上的区别在于:两者是来源于不同的技术规范组织,其实现的基础:WEB服务器平台要求不相同。
python
一. Python的历史
1. Python于1989年诞生于阿姆斯特丹。
2. Python的中文名叫大蟒蛇。
3. Python的创始人Guido van Rossum。
Python是ABC语言的继承,它克服了ABC的非开放这一错误,能够与c,c++和java很好的结合。
Python最初是在MAC机上实现的。
Python是大蟒蛇的意思,因为它的缔造者Guido van Rossum是一个Monty马戏团的爱好者。
二. Python 的特点
a) 面向对象的,具有动态语义的程序设计语言
Python是一个真正的面向对象语言。它甚至支持异常的处理。这使得程序的编写更加清晰,而不需要许多的错误检查了。
b) 快速开发
c) 具有优秀的可读性
Guido认为Python的语法是非常优美的。其中一点就是,块语句的表示不是C语言常用的{}对,或其它符号对,而是采用缩近表示法!首先,使用缩近表示法减少了视觉上的混乱。其次,它减少了程序员的自由度,更有利于统一风格,使得阅读别人的程序更容易。
d) 模块和包的概念
对于Java的支持, JPython是用Java写的Python,它完全支持Java,在这个环境下使用Python可以随意地使用Java的类库。
e) 各种主流平台,并具有很好的跨平台性
f) 容易地包装C/C++的代码供Python使用
可以用C、C++或Java为Python编写新的新言模块,如函数。或者与Python直接编译在一起,或者采用动态库装入方式实现。
三. Python企业运用的优缺点
优点
1. 免费(像perl一样,python也是开放源代码的软件)。
2. 稳定。
3. 良好的支持对象,模块和其他可重用机制。
4. 采用c/c++语言的集成方便性和扩展性。
缺点
1. 相比其他语言,比如java的开发人员少的多。
2. 缺乏真正的多处理支持。
3. 缺乏商业支持。
4. 软件性能。
四. Python的应用
1. 软件类
a. 开发快,直接用记事本或Kwrite编写代码保存,运行就可以了。
b. 易维护,python代码简洁。
c. 节省开发资金,python的代码是公开的。
2. 网络类
Python能够实现从服务器软件到服务器脚本的所有功能,支持一些大规模数据库。
3. 教育类
Python 是为教育而开发的语言
Ruby
Ruby 的诞生:
Ruby 诞生于1993 年的 2 月 24号
Ruby 是一种珍贵宝石的名字(红宝石)
Ruby 创始人——Yukihiro Matsumoto(网上被称为 Matz)
Ruby 是一种珍贵宝石的名字(红宝石)。觉得这个语言项目以一个宝石的名字来命名(比如 Perl语言就是用的珍珠pearl的简称),后来想出了“Ruby”,它最终成为了这个语言的官方名字。
Ruby的特点:
解释性脚本语言:
有直接呼叫系统调用的能力
强大的字符串操作和正则表达式
开发中快速回馈
迅速和简便:
无需变量声明
变量无类型
语法简单而坚实
自动内存管理
面向对象编程:
任何事物都是一个对象
类,继承,方法,等等
单态方法
模块糅合
迭代器和闭包(closures)
总之:ruby吸取了所有语言精华
perl的正则表达式
python的语言的简单性可读性、最容易的扩展能力,强大的可移植性。
php的嵌入功能和多种客户端
smalltalk的纯面向对象语法和单继承
lisp的无穷嵌套的语法,也就是函数式的语法。
用“块”来实现更快捷的数据结构的处理。不知道是不是scheme的宏功能。用块能更清楚的实现python的表处理功能。
java和ada的线程编程
java的安全编程
不得不承认ruby确实是个精彩的语言,它完全学会了lisp的所有编程都是函数的思想,smalltalk的所有东西都是对象的思想,perl的一个目的多种手段的方法,python的简单化的“最少惊喜”的原则,java的多线程和安全控制的功能,tcl的容易扩展的功能,
php的嵌入功能和强大客户端的功能,最方便的shell命令的调用。
Ruby的应用:
如果不在乎商业机密,应用目标也不是太苛刻的话,编写大型跨平台程序可以选择ruby脚本语言,它具有全面的库的支持,有和c语言方便的交互能力。他们和java相比,编程效率更高。同时因为没有编译,程序更方便修改。因为他们的库都是用c实现的,也比java有更高性能。同时,他是开源的,方便定制。也是不满意java的不可控制的越来越庞大的库的又一个选择。
作为简单应用的工具语言,由于Ruby的跨平台移植性好,应用也比较广泛。Ruby也是对python不满意的另一个选择,它提供了很多额外的功能。
作为程序的嵌入语言,原来有lisp、basic、java和python现在可以选择Ruby。
PERL
一起源
看看Perl的创造者
Perl(Practical Extraction and Report Language),是一种脚本语言。 最初的设计者为拉里•沃尔(Larry Wall),它於1987年12月18日发表。Perl借取了C、sed、awk、shell scripting以及很多其他程式语言的特性。Perl原名pearl。在这个语言官方发表前,拉里•沃尔发现已经有个程式语言“pearl”,便改变将这个程式语言的名字改成Perl。无大写字母(perl)时就指它的直译器。将Perl写成”PERL”是不适当的,所以它并非一个缩写字。
PERL从面世以来的1.0版本到现今的5.6版本,一直都有编译程序.主要因为国内的中文资料很少,大多数人不愿意去看或者不懂得英文资料,所造成不知道其编译方法.即使是很多PERL界高手也同样有此类问题. PERL编译方法五花八门,各种编译方法都有其重要的意义和弱点.另一方面PERL编译方法不能流行的原因 是,本身PERL就是一个免费的东西,人们不希望PERL成为编译的商品,但是在国内也就因此而拖累了PERL的发展步伐. PERL编译有些局限性,虽然可以完成所有任务,但想要达成良好的编译效果,就需要高超的编程技术和相关经验,重要的是对OOP(面向对象的确程序设计)的了解,将会使得你的PERL程序更加易于编译,运行速度更快,兼容性更广等特性.
PERL在可嵌入式技术方面:它的优势在于比其它嵌入语言有着无法比拟的兼容性, PERL不但拥有PHP的可嵌入HTML技术,也同样支持用PRELSCRIPT写ASP的.但是如果你希望你的程序可以编译执行那么可嵌入式方法显然是不可能的.把eprel mod_prel等可嵌入式PERL HTML页,或者把HTML置入程序之中,这两种方法都有其好处以及坏处.