热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jsp和cgi,jsp和cgi的区别

本文目录一览:1、什么是ASP,PHP,CGI,JSP?

本文目录一览:


  • 1、什么是ASP,PHP,CGI,JSP?


  • 2、CGI 、ASP、JSP有什么区别


  • 3、asp jsp cgi php之间的区别

什么是ASP,PHP,CGI,JSP?

与HTML相比,ASP网页具有6大特点。
ASP是Active Server Page的缩写,意为“活动服务器网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。
CGI(Common Gateway Interface)是一种共用网关接口,它可以称之为一种机制.因此您可以使用不同的程序编写适合的CGI程序,这些程序语言包括Visual Basic、Delphi或C/C++等,您将已经写好的程序放在WEB服务器的计算机上运行,再将其运行结果通过WEB服务器传输到客户端的浏览器上。事实上,这样的编制方式比较困难而且效率低下,因为你每一次修改程序都必须重新将CGI程序编译成可执行文件。而ASP与Script(脚本)的编写方式非常类似,它完全不需要重新编译成可执行文件就可以直接运行,再者ASP内置的ADO组件,允许用户通过客户端浏览器存取各种各样的数据库。此外,ASP与CGI最大的不同在于对象向导和组件重用,ASP除了内置的Request对象、Response对象、Server对象、Session对象、Application对象、ObjectContext对象等基本对象外,另外可以允许用户以外挂的方式使用ActiveX控件。当然,ASP本身也提供了多个ActiveX控件供使用,这些组件包括广告轮显组件、文件存取组件、文件连接组件几数据库存取组件等,这些大量扩充且重复使用的组件使ASP的功能远大于CGI。
PHP是一种服务器端HTML-嵌入式脚本描述语言。 其最强大和最重要的特征是其数据库集成层,使用它完成一个含有数据库功能的网页是不可置信的简单。在HTML文件中, PHP脚本程序(语法类似于Perl或者c语言)可以使用特别的PHP标签进行引用, 这样网页制作者也不必完全依赖HTML生成网页了。由于PHP是在服务器端执行的, 客户端是看不到PHP代码的。 PHP可以完成任何CGI脚本可以完成的任务,但它的功能的发挥取决于它和各种数据库的兼容性。 PHP除了可以使用HTTP进行通信,也可以使用IMAP, SNMP, NNTP, POP3协议。
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

CGI 、ASP、JSP有什么区别

JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page.JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序. ASP.net 是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序.ASP.net提供许多比现在的Web开发模式强大的的优势. 三者都提供在 HTML代码中混合某种程序代码,由语言引擎解释执行程序代码的能力.但JSP代码被编译成 Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生.在ASP ,PHP,JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑.普通的 HTML页面只依赖于Web服务器,而ASP ,PHP,JSP页面需要附加的语言引擎分析和执行程序代码.程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器.ASP ,PHP,JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持. JSP: 1 将内容的产生和显示进行分离 使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面.使用JSP标识或者小脚本来产生页面上的动态内容.产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行.如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生.在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器.这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性. 2 强调可重用的群组件 绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理.开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用.基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡. 3 采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的程序设计人员.JavaServer Page技术封装了许多功能,这些功能是在易用的,与JSP相关的XML标识中进行动态内容产生所需要的.标准的JSP标识能够存取和实例化 JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能. 由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性. 作为Java平台的一部分,JSP拥有Java程序设计语言"一次编写,各处执行"的特点.随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用. ASP.NET 1.增强的性能.ASP.NET 是在服务器上运行的编译好的公共语言运行库代码.与被解释的前辈不同,ASP.NET 可利用早期绑定,实时编译,本机优化和盒外缓存服务.这相当于在编写代码行之前便显著提高了性能. 2.世界级的工具支持.ASP.NET Framework 补充了 Visual Studio 集成开发环境中的大量工具箱和设计器.WYSIWYG 编辑,拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种. 3.简易性和可管理性.ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置.另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发.ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序.由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置.此"零本地管理"哲学也扩展到了 ASP.NET Framework 应用程序的部署.即使是在部署或替换运行的编译代码时. 4.可缩放性和可用性.ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能.另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏,死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求. 5.自定义性和扩展性.ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别"插入"代码.实际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件.实现自定义身份验证或状态服务一直没有变得更容易. 应用范围 ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上.Unix下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,Unix下的COM实现起来非常困难. PHP3可在Windows,Unix,Linux的Web服务器上正常执行,还支持IIS,Apache等一般的Web服务器,用户更换平台时,无需变换PHP3代码,可即拿即用. JSP同PHP3类似,几乎可以执行于所有平台.如Win NT,Linux,Unix.在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP.知名的Web服务器Apache已经能够支持JSP.由于Apache广泛应用在NT,Unix和Linux上,因此JSP有更广泛的执行平台.虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小.从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的. ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性..NET Framework 类库,消息处理和数据访问解决方案都可从 Web 无缝访问.ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序.另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资.

asp jsp cgi php之间的区别

就我个人的意见,PHP只适合做小型的网站开发,大型的站点就很困难了(能做,但是很痛苦!)

扩充性:

1、PHP用光了自己的一堆函数以后,要扩充似乎是很困难的。据我一位玩PHP和c比较好的朋友说,“可以扩充,要用c来写,然后编译进PHP里面去”。请问,用PHP的朋友中有多少能达到这个水平的?

2、ASP。如果你认为asp只是那几个response/request等对象,那你错了。

个人认为,ASP只是一种技术,如果没有MS的com/com+,asp就什么都没有了。说得过份一点,asp本身连一个赋值语句,连一个if都没有!

正是基于此,ASP拥有很强的扩充性。你不熟悉vbs,你可以用jscript,你可以用perlscript,你可以通过安装xscript来使用你熟悉的脚本语言。你会vb/delphi/vc/bcb..吗?那你可以写自己的组件,然后用asp来使用它。

3、java

同asp一样,java通过不断增多的(公司发布的或是自己编译的)class来扩展自已。而且jsp与asp相比有一个大的优点:jsp是基于java的,拥有强大的程序语法和天然的平台无关性。

执行效率:

1、PHP是基于解释型的。

“因为不用编译而且高阶,所以这类语言的程序效率通常很差,又因为原始程序代码暴露在外,所以拿它来写写工具程序自己用可以,但是拿来开发软件产品比较不恰当(除非你不在乎原始码外流)。”(此段引用蔡学墉文章“你该学什么程序语言?”)。

虽然PHP可以通过使用第三方的zend(我对PHP不是太熟悉)来弥补这个缺陷,但是似乎Zend是收费的,而且使用第三方的东西已经不是PHP本身的讨论了。

2、ASP

asp发展较早,因此早期的asp1.0、asp2.0、asp3.0都是基于解释的,有同PHP相同的问题。不过自MS的.net以后,asp.net在第一次加载时进行编译,并加载于内存中,因此第一次以后的执行效率已经是相当快速了。

3、JSP。

java本身就是属于编译的语言,目前的jsp服务器产品大多是做JIT编译的,JSP在第一次加载时被编译,因而与PHP相比在执行效率上有明显的提高。


推荐阅读
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 1.Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时 ... [详细]
author-avatar
会说话的鱼911
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有