主流网站开发语言ASP、PHP、ASP.NET、JSP的优缺点及开发注意事项详解
另一个博客详细:

如今,主流网站开发语言不过是ASP,PHP,ASP.NET,JSP等。
从简单的HMTL到复杂的服务语言,经过10多年的历史,各种技术接连出现,并且单个主流技术不断翻新。现在,让我们分析各种语言的差异,优势,缺点和发展的关注。事情!
HTML:当然,这是网页最基本的语言。每个服务器语言都需要支持。要学习,这绝对是一个开始,我将不再谈论它了。
ASP,一种主流网站开发语言:ASP是Microsoft开发的后端脚本语言。它的语法类似于Visual Basic。它可以将背景脚本代码嵌入到SSI(服务器端)之类的HTML页面中。尽管ASP简单易用,但它具有许多缺点,最重要的是安全问题。目前,新近推出的Microsoft .NET策略中的ASP.NET借鉴了Java技术的优势,并将C Sharp(C#)语言用作ASP.NET的推荐语言,同时改善了先前ASPS(例如较差的安全性)的缺点。但是,使用ASP/ASP.NET仍然存在一些局限性,因为从某种意义上说,它们只能在Microsoft的Windows NT/2000/XP+IIS服务器平台上运行良好(尽管就像Chillisoft一样,Chillisoft在Unix/solution上提供了在Linux上运行ASP,但是可以说,UNIX/Linux上的当前ASP应用程序几乎为0)。因此,平台的局限性和ASP的安全性本身限制了ASP的广泛应用。
执行ASP后,IIS调用程序引擎,解释并执行HTML中嵌入的ASP代码,最后将结果与原始HTML一起发送给客户端。
主流网站开发语言PHP:PHP的全名非常有趣。它是巢状的缩写名称 - “ PHP:超文本预处理程序”,缩写或缩写。 PHP是一种HTML嵌入式语言(如上所述)。 PHP的独特语法混合了C,Java,Perl和PHP的新语法。它可以比CGI或PERL更快地执行动态网页。
PHP的源代码是完全公开的,如今,当开源的意识不断提高时,它是该领域的主要阶段。连续添加新功能库和连续更新使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 Engine,并引入了对全新PECL模块的支持。 PHP5的最大特征是它引入了所有面向对象的机制并保持向下兼容性。程序员不再需要编写缺乏功能的类,并且可以通过多种方式实现类保护。此外,对象集成中没有更多问题。 PHP5引入了一种提示和异常处理机制,该机制可以更有效地处理和避免错误。
在不断更新的同时,PHP5仍然保留了在没有重大问题的PHP5平台上运行的旧PHP4程序的可能性。随着MySQL数据库的开发,PHP5还绑定了新的MySQLI扩展模块和PDO扩展模块。 MySQLI提供了一些更有效的方法和实用工具来处理数据库操作,而PDO则可以统一各种数据库链接。 ,与PHP4不同,如果更改数据库,则必须重写整个站点的代码。这些方法中的大多数都是以面向对象的方式实现的,它还大大提高了基于数据库的Web项目的执行速度。
此外,PHP5还改善了创建动态图片的功能,目前可以支持各种图片格式(例如PNG,GIF,TTIF,JPGE等)。 PHP5和对GD2库的内置支持,因此安装GD2库(主要在UNIX系统中)不再是一项艰巨的任务,这使得处理图像非常简单且高效。
大多数Web程序开发人员仍将XML用作完全简单的数据库。 PHP5还采用了一系列简单易用且强大的方法来处理XML文档。
如今,包括Yahoo和Amazon在内的数百万网站以及众多开发人员和编程爱好者都在使用PHP。从原始的PHP/FI到当前的PHP5,PHP的发展非常迅速,其未来的发展前景肯定会引人注目。
作为最成熟的开源系统灯(Linux,Apache,MySQL,PHP)的重要成员,PHP受到越来越多的Web程序员的欢迎,其简单性,开放性,低成本,安全性和适用性。和爱。
PHP将所有基本功能作为编码语言提供。此外,它还提供了许多实用功能,使PHP比其他编程语言更适合动态Web开发。对于企业级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合作启动Eclipse软件,该软件集成了Zend IDE的功能供所有人使用。
PHP还具有出色的平台兼容性。 PHP源自UNIX系统平台,尤其是PHP,MySQL,Apache和Linux的组合,在PHP爱好者中非常受欢迎。不仅如此,PHP在Windows系列操作系统上还表现良好。它的良好程序接口和语言易用性吸引了Microsoft开发人员。目前,有报道称未来的Windows.NET开发环境将集成PHP,这也意味着PHP用户群将增长。
PHP是一种广泛而常见的脚本语言,特别适合Web开发。 PHP是世界上主要的网络开发语言之一,它以世界服务器的三分之一运行。它是从Yahoo到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框架。开发人员可以轻松获得这些技术的优势,包括托管通用语言运行时环境,类型安全,继承等。 ASP.NET与Wysiwyg HTML编辑器和其他编程工具(包括Microsoft Visual Studio .NET)无缝工作。这不仅使Web开发更加方便,而且还提供了这些工具必须提供的所有好处,包括开发人员可以用来将服务器控件拖放到网页上的GUI和完全集成的调试支持。微软已经为ASP.NET设计了一些策略:很容易编写清晰的结构化代码,易于重复使用和共享代码,并且可以用编译语言等编写。目的是使程序员更容易开发Web Web。应用程序并满足计算到网络的传输。战略需求。
主流网站开发语言JSP:JSP和Servlet应该放在一起,因为它们都是Sun的J2EE(Java 2 Platform Enterprise Edition)应用程序系统的一部分。
servlet的形式与前面提到的CGI相似。它与HTML代码和背景程序分开。他们的启动原则是相似的,并且服务器在收到客户端请求后做出响应。不同之处在于,CGI为每个客户端请求打开一个过程,但是在响应第一个请求时加载了servlet。一旦加载了servlet,就处于执行状态。对于其他用户的将来的请求,它不会打开该过程,而是打开线程(线程)并将结果发送给客户端。由于该线程可以生成自己的父线程(父程线程)来实现资源共享,从而减轻了服务器上的负担,因此Java Servlet可用于提供大规模的应用程序服务。
尽管JSP和ASP或PHP的形式看起来相似 - 两者都可以嵌入到HTML代码中。但是,它的执行方式与ASP或PHP完全不同。执行JSP后,JSP文件将由JSP解释器(JSP Parser)转换为Servlet代码,并且Servlet代码由Java编译器编译为.Class Byte文件,以便生成的Servlet响应客户端。因此,可以将JSP视为Servlet的脚本语言版本。
由于JSP/Servlet都基于Java,因此它们也具有Java语言的最大优势 - 平台无关,该平台无关紧要,即所谓的“ Wora-写一次,在任何地方运行”。除了这一优势之外,JSP/Servlet的效率和安全性也很棒。因此,尽管JSP/Servlet并未在中国广泛使用,但其未来是无限的。
调试JSP代码时,如果程序错误,JSP服务器将返回错误消息并将其显示在浏览器中。目前,由于JSP在运行前将JSP转换为Servlet,因此在浏览器中显示代码错误的行数不是JSP源代码中的行数,而是指转换后的Servlet中的行数程序代码。 。这给调试代码带来了一些困难。因此,当故障排除错误时,您可以采用分割排除的方法(导出可能错误的代码之前和之后的某些字符串,并使用字符串是否输出来确定代码段开始错误的位置),并逐渐缩小范围错误代码段的范围。最终确定错误代码的位置。
今天的主流Web服务器软件主要由IIS或Apache组成。 IIS支持ASP,只能在Windows平台上运行。 Apache支持PHP,CGI,JSP,并且可以在多个平台上运行。尽管Apache是世界上排名第一的Web服务器平台,但众所周知,Windows以其易用性而闻名。因此,它占据了许多服务器市场。
我们常用的开发组合:
在IIS环境中
1.ASP+访问
2. ASP+SQL Server
3.ASP.NET+访问
4.ASP.NET+SQL Server
在Apache环境下
5.JSP+Oracale
6.JSP+mysql
7.php+mysql
可以说,ASP确实几乎已经过时了,将来,PHP,JSP和ASP.NET将具有巨大的潜力。
VB通常是指传统Win32编程的VB6.0。 VB.NET和ASP.NET是基于Microsoft .NET平台的语言。 Java良好的主要原因是Java的J2EE部分在企业级开发和跨平台中非常强大。 C#是.NET平台上最好的语言,现在只能在Windows系统上运行。在网络开发方面,.NET和J2EE之间的竞争非常激烈,很难说谁将在未来获胜。如今,大多数网站是ASP.NET或JSP。 ASP.NET易于使用,并且更受欢迎,但是该平台是单个的。尽管JSP难以使用,但它是跨平台,并且具有很高的安全性。
这是ASP,ASP.NET,JSP和PHP的一些优点和缺点:
ASP的优势:
1。不需要编译
2。易于生成
3。独立于浏览器
4。面向对象
5。与任何Activex脚本语言兼容
6。源程序代码不会泄漏
缺点:
1。Windows本身中的所有问题都将保持不变并在其上积累。由于与NT的结合,安全,稳定性和跨平台形式都将被揭示。
2。ASP将变得非常强大,因为它使用了COM组件,但是由于Windows NT系统的初始设计问题,这种功能将引起很多安全问题。只要您在此类组件或操作中不小心,外部攻击就会获得很高的权限,从而导致网站瘫痪或数据丢失。
3。由于ASP仍然是一种脚本语言,因此除了使用大量组件外,没有办法提高其工作效率。它必须面对即时精致时间的考验,我们仍然不知道其背后的组成部分是什么。
4。不可能实施跨操作系统应用程序。当然,这也是微软的原因之一。只有这样,我们才能使用最佳的ASP功能。但是我认为是窗口限制了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那样安全和稳定。