• asp.net

    其基于通用语言的编译运行的程序,完全依赖于虚拟机,所以他拥有跨平台的能力,只不过微软暂时仅支持在windows平台下运行,不过国外很多第三方已经开发出应用与类Unix下的虚拟机(比如Mono),使其同样可以运行在类Unix平台下。asp.net也是第一次运行时编译,提高程序运行速度,且微软为其封装了很多控件使其在开发时有点像WinForm开发,所以上手容易,易学功能强大,不过因其界面展现跟业务逻辑没有完全的分离,对应也就产生了asp.net MCV开发框架,近几年也十分流行,其均适合构建大型网络应用,不过鉴于对高并发,大用户群的处理能力的缺陷,缓存依赖的不稳定性,负载均衡能力不足,使其在构建大型网络应用时需要借助于其他辅助技术。具体在之后的博文中会加以阐述。

  • php

    一种嵌入式脚本语言,类似asp,其大量借用C和Perl的语法,使开发者能够快速上手,且相对于Perl,php有更多的函数可供调用,使Web开发者能够快速的搭建出一套不错的动态网站系统,因此国外大多数主机都配有Linux+Apache+php+mysql(注意都是开源免费的,这些组合又有个别称lamp--〉Linux+Apache+Mysql+Perl/PHP/Python)。但因其内部结构的先天性缺陷,导致了其不适合编写中大型网站,php本身没有命名空间(这点非常郁闷),而且其运行时是由语言引擎解释执行程序代码,这在网站响应效率上会有所折扣。因此php在开发大型项目和后期维护上非常困难

  • jsp

    Sun(已被甲骨文收购)公司推出的一种动态网页技术,以java语言作为脚本语言,使开发者能快速上手,虽然其本身也是脚本语言,但和php有本质的差别,jsp的代码被编译成Servlet并有java虚拟机执行,这种编译操作仅在jsp页面第一次请求时发生,因为其执行效率远高于php(除非你对php做深层优化,毕竟淘宝,facebook还是用php写的,事情需要相对而言)。但因其业务逻辑跟界面代码混为一潭,不能满足大型应用的要求,取而代之的是基于MVC的Web架构,其降低了各个部分的耦合关系,界面与业务逻辑进行分离,因其更适合构建大型网络应用。

详细的另一篇博客:

现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。

从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!

HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.

主流网站开发语言之ASP: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 的全名非常有趣,它是一个巢状的缩写名称——“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的优点还是异常明显的。

php5:2004年7月,PHP5正式版本的发布,标志着一个全新的PHP时代的到来。它的核心是第二代Zend引擎,并引入了对全新的PECL模块的支持。PHP5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。另外,在对象的集成等方面也不再存在问题。使用PHP5引进了类型提示和异常处理机制,能更有效的处理和避免错误的发生。
  在不断更新的同时,PHP5依然保留对旧有的PHP4程序可以运行于PHP5的平台上而不会出现较大问题。随着MySQL数据库的发展,PHP5还绑定了新的MySQLi扩展模块和PDO扩展模块,MySQLi提供了一些更加有效的方法和实用工具用于处理数据库操作,而PDO使各种数据库链接变得统一化,不像php4那样换个数据库就要重写整站的代码。这些方法大都以面向对象的方式实现,同时也极大地提高了基于数据库的Web项目的执行速度。
  另外,PHP5中还改进了创建动态图片的功能,目前能够支持多种图片格式(如PNG、GIF、TTIF、JPGE等)。PHP5以及内置了对GD2库的支持,因此安装GD2库(主要指UNIX系统中)也不再是件难事,这使得处理图像十分简单和高效。
  大多数Web程序开发者依然将XML作为一个彻底的简单数据库使用。PHP5中也采用了一系列简单易用、功能强大的方法处理XML文档。
  今天,已经有包括雅虎和亚马逊等在内的数百万网站,以及众多的开发人员和编程爱好者正在使用PHP。从最初的PHP/FI到现在的PHP5,PHP的发展是及其迅猛的,其未来的发展前景也必定令人瞩目。
 
PHP作为最成熟的开源体系LAMP(Linux,Apache,MySQL,PHP)的重要一员,以其简单性、开放性、低成本、安全性和适用性,受到越来越多的Web程序员的欢迎和喜爱。
  PHP中提供了作为编码语言所有的基本功能。此外,它还提供许多实用的功能,使得PHP比其他编程语言更适合动态网页的开发。针对企业级Web应用,PHP也不断地完善和增加新的功能。
  PHP是源码开放的,这意味着其代码的核心部分可以被免费使用。所有源码、文档可以在PHP官方网站上获得。用户可以自由复制、编译、分发其拷贝。任何一个用PHP编写的程序都属于用户自己,并且可以自行处理。
  正式由于这种开源精神,才使PHP社区可以聚集众多的爱好者,也使得PHP有如此迅猛的发展。PHP的更新速度,以及发现和修正错误的速度是非常迅速的。可以看到,几乎每周都有一个新版本的PHP程序包发布。
  目前,PHP的官方维护者和推动者Zend公司已经加快了PHP企业级应用的步伐。随着PHP5的应用不断扩大,Zend公司还将推出一个标准的PHP开发框架Zend Framework。通过这一框架,PHP开发者可以快速地构建Web应用。
  如同ASP具有Windows自己的开发平台一样,Zend也为PHP设计了全新的开发环境 Zend Studio。这是一款集程序调试、系统发布以及开发环境为一体的PHP开发软件。这将大大简化PHP开发过程,并且缩短相应的测试周期。另外,Zend 还将与IBM公司合作推出集成Zend IDE特性的Eclipse软件供大家使用。
  PHP还具有优秀的平台兼容性。PHP源于UNIX系统平台,尤其是PHP、MySQL、 Apache和Linux组合,备受PHP爱好者的欢迎。不仅如此,PHP在Windows系列操作系统上也有出色的表现。其良好的程序界面、语言易用性等特点吸引了微软的开发人员。目前,有消息称未来的Windows.NET开发环境将集成PHP,这也意味着PHP的用户群将日益壮大。
  PHP是广泛及通用的脚本语言,它尤其适合于Web开发。PHP是世界上主要的网络开发语言之一,运行在世界三分之一的服务器上。它是从雅虎到Facebook等公司的平台选择,也是共享主机上最广泛的开发平台,为世界上数百万的网站提供动力。
  随着PHP5版本性能的提升,以及面向对象功能的完善,PHP也逐渐开始于面向企业级应用。PHP的发展前景将无限广阔。

ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。

主流网站开发语言之JSP: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程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错),逐步缩小出错代码段的范围,最终确定错误代码的位置。

如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台,但是众所周知,Windows以易用而出名,也因此占据不少的服务器市场。

我们常用的开发组合:

IIS环境下
1.ASP+ACCESS
2.ASP+SQL SERVER
3.ASP.NET+ACCESS
4.ASP.NET+SQL SERVER
APACHE环境下
5.JSP+Oracale
6.JSP+MYSQL
7.PHP+MYSQL

可以说,asp确实快过时了,在未来php,jsp和asp.net将会有巨大的潜力。

vb一般指vb6.0,是传统的win32编程。vb.net和asp.net是基于微软.net平台的语言。说java好主要是因为java的j2ee部分做企业级开发很强大,而且跨平台。c#是.net平台上最好用的语言,现在只能运行在windows系统。 web开发方面.net和j2ee的竞争很激烈,难说以后鹿死谁手。 现在做网站大部分都是asp.net或jsp的,asp.net容易上手,比较普及,但是平台单一,jsp虽然上手难,但是跨平台,安全性高。

下面比较一下ASP、ASP.net、JSP和PHP的优点和缺点:

ASP优点:
1. 无需编译
2. 易于生成
3. 独立于浏览器
4. 面向对象
5. 与任何ActiveX scripting 语言兼容
6. 源程序码不会外漏

缺点:
1、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来。
2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。
3、由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。
4、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。
5、还无法完全实现一些企业级的功能:完全的集群、负载均横。

ASP.NET优点:
1. 简洁的设计和实施。
2. 语言灵活,并支持复杂的面向对象特性。
3. 开发环境。

缺点:
1.数据库的连接复杂。
2.不具有跨平台性,只支持windows平台。

JSP优点:
1、  一处编写随处运行。
2、  系统的多台平支持。
3、  强大的的可伸缩性。
4、  多样化和功能强大的开发工具支持。

缺点:
1、  与ASP一样,Java的一些优势正是它致命的问题所在。
2、  缺少系统性的资料。
3、  开发速度超慢

PHP优点:
1、  一种能快速学习、跨平台、有良好数据库交互能力的开发语言。
2、  简单轻便,易学易用。
3、  与Apache及其它扩展库结合紧密。
4、  良好的安全性。

缺点:
1、  在windows平台运行的安全性和稳定性不如Linux/Unix。

asp、php、asp.net、jsp介绍及优缺点比较相关推荐

  1. Asp.net(asp,jsp)+JavaScript动态实现添加数据行

    在应用程序的开发中,有些输入信息是动态的,比如我们要注册一个员工的工作经历,比如下图 如果做成死的,只能填写三个,如果是四个呢?或者更多呢,那不是添加不上去了吗,所以这样固然不好,我们可以用动态添加表 ...

  2. (转)网站建设的程序语言,Asp,Php,Jsp,Asp.Net优势比较

    网站建设的程序语言,Asp,Php,Jsp,Asp.Net优势比较 [青云科技编辑] 很多SOHOER都希望有个自己的网站,而对网站建设一无所知,或者一知半解.今天我先讲程序方面的区别,相信很多人碰到 ...

  3. Asp.Net 构架(Http Handler 介绍) - Part.2

    Asp.Net 构架(Http Handler 介绍) - Part.2 引言 在 Part.1 Http请求处理流程 一文中,我们了解了Http请求的处理过程以及其它一些运作原理.我们知道Http管 ...

  4. ASP.NET页生命周期介绍:阶段,事件及其他

    ASP.NET页生命周期介绍:阶段,事件及其他 本文概述了asp.net的页生命周期.在页生命周期的每个阶段中,页将引发可运行您自己的代码进行处理的事件. asp.net 页运行时,此页将经历一个生命 ...

  5. LayIM 3.9.1与ASP.NET SignalR实现Web聊天室快速入门(四)之ASP.NET SignalR核心功能介绍

    前言 本系列文章特点:使用ASP.NET SignalR和LayIM快速入门对接,实现一对一聊天,群聊,添加聊天群组,查找聊天记录等功能.源代码不包含LayIM的源代码,因为官方并没开源属于收费资源, ...

  6. ASP.Net 4.0 --- 宏观介绍(一)

    ASP.Net 4.0 - 宏观介绍(一) 不得不讲的 .Net Framework       差不多10年前,微软发布了.NetFramework的第一个版本,它是软件设计新趋势的起点.受到Jav ...

  7. jsp php动态网站开发,动态网站开发技术ASP、PHP与JSP的比较

    龙源期刊网 http://www.doczj.com/doc/4d5157a89a89680203d8ce2f0066f5335b816746.html 动态网站开发技术ASP.PHP与JSP的比较 ...

  8. Apache支持ASP.Net+ASP+JSP

    Apache支持ASP.Net+ASP+JSP 2008年07月23日 星期三 14:58 作者:greathack 网址:blog.greathack.com Email:greathack@3ja ...

  9. ASP内置对象详细介绍

    请求对象-Request 对象是一种复杂的数据类型,是由属性和方法构成的具有特定功能的集合,脚本语言一般都是基于对象的语言,都提供了功能强大的对象,其中有两个最为重要的对象就是Request请求对象和 ...

  10. 关于学好asp及asp.net的经历

    对于一个想学好ASP及asp.net的过来人来说,学习的过程是有趣及折磨人的,当你做出第一个实验的时候你的心情是激动的,我是毕业以来一步一步的自学过程中总结了一些好的经验让看到这篇文章的人少走一些弯路 ...

最新文章

  1. python程序实例教程基础-Python程序设计实例教程
  2. webpack+react多页面开发架构
  3. Codeforces Gym 100187M M. Heaviside Function two pointer
  4. css3 定义选择器
  5. OpenCV-数字图像处理之中值滤波
  6. JavaScript基础之'script'Tag的使用
  7. RegistryHelper-注册表辅助类
  8. Fragment控件初始化
  9. 框架学习 Spring之概念
  10. 分子动力学软件LAMMPS学习--常见错误运行
  11. 2023长安大学物流管理专硕考研成功经验分享
  12. Objective-C 入门篇
  13. 最大堆(创建、删除、插入和堆排序)图文详解
  14. 图片热点map area
  15. API文档工具knife4j使用详解
  16. C# 25. 获取windows串口号对应的串口(设备)名称
  17. 考研逻辑整理 - 选言判断和选言推理
  18. 机器学习期末简答总结
  19. mac上的pdf编辑器怎么才能直接修改PDF文档上的字体大小
  20. python老是提醒双引号错误_避免最常见的python语法错误,建议收藏!

热门文章

  1. matlab 0x000007b,windows应用程序无法正常启动(0x000007b)怎么办_windows应用程序无法正常启动(0x000007b)解决办法_飞翔教程...
  2. c#中Debug和Release的区别实验
  3. feedsky官网访问异常
  4. 番薯借阅--图书管理系统(小程序)
  5. smtplib 抄送邮件_Smtp发送及抄送邮件
  6. c语言int转为dint,【转】IQMATH使用
  7. 最简单的人脸识别系统搭建
  8. 从苏宁电器到卡巴斯基第17篇:曲折考研路(上)
  9. excel文件被写保护怎么解除_实用解除常用文件word、excel的写保护
  10. 学英语《每日一歌》之brave