论ASP_asp报告
论ASP由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“asp报告”。
论ASP.NET/JHP/PHP
对于这三项web技术,刚上大学时我也只是听说过,对它们并没有实质性的理解和运用。后来就自己开始慢慢探索和学习ASP.NET、JSPPHP技术,因为它是用于构建动态web应用程序的技术,是基于web服务器的技术。作为一名计算机专业的学生,对于这些技术我们一定要掌握的。Asp.net、jsp、php是目前Web开发的两大主流技术。asp.net功能强大,编程容易;jsp跨平台性能好,安全性能高。PHP(Hypertext Preproceor)是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语法,并结合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。它们各有所长,在技术方面既有相似点也有不同之处。下面我就论述这三种技术下应用程序的运行机制及其特点,并对两种技术从运行平台、开发环境、Web服务器和对数据库的操作技术等方面进行了比较。
1.主流动态网页技术原理介绍
目前在Internet上广泛使用的后台技术种类繁多,目前流行的三种动态技术有PHP、JSP及ASP.NET等,每种技术都有各自的特点,均是为动态网页而设计。
1.1 ASP.NET
ASP最新的版本ASP.NET是对ASP进行了完全重写,ASP.NET是用于构建Web应用程序的一个完整的框架。这个模型的主要特性之一是选择编程语言的灵活性,ASP.NET可以使用脚本语言。asp.net是Microsoft公司研发的新一代的ActiveServer Page,它是Microsoft公司.NET系列中的一个重要组成部分。.NET Framework是一种托管、类型安全的代码执行环境,它包括公共语言运行库(CLR)和.NETFramework类库,其中公共语言运行库为用.NET语言编写的代码提供了一个运行环境,.NET Framework类库是一个与公共语言运行库紧密集成的可重用的类型集合,第3方组件可以与.NET Framework中的类无缝集成。asp.net是建立在通用语言运行库(CLR)上的应用程序框架,能在Web服务器上建立功能强大的Web应用程序。
asp.net应用程序编译成运行时环境的通用语言即中间语言MSIL,当程序执行MSIL代码时,即时编译器(JIT)将在执行前编译它并且将它作为本地二进制代码存储在内存中,不需要运行的代码不会被编译,执行过的代码不需要再次编译,因此提高了整个应用程序的执行效率。asp.net有很好的适应性、可生成伸缩性和稳定性,为Web应用程序开发人员提供了一种新的编程模型和技术。1.2 JSP JSP(Java Server Page)是由Sun Microsystems公司倡导,众多公司共同参与,建立的一种动态网页技术标准。jsp页面由html代码和嵌入其中的java代码所组成。Web服务器在页面被客户端请求后,执行其中的java代码,然后将生成的html页面返回给客户端的浏览器。
sp页面在第一次加载时,jsp引擎将jsp页面转换为servlet文件,然后由java虚拟机(JVM)编译成字节码文件,Servlet容器加载转换后的servlet类,实例化一个对象处理客户端的请求,在请求处理完成后,响应对象被jsp容器接收,容器将HTML格式的响应信息发送到客户端。所以,第一次加载jsp页面时,因为要将jsp文件转换为Servlet类,所以响应速度较慢。当页面被再次请求时,jsp引擎就会直接执行第一次请求时产生的Servlet,这样就会大大提高整个应用程序的工作效率。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。
jsp技术是一种开放的跨平台结构,可扩展性好且安全性能高。1.3 PHP
PHP(Hypertext Preproceor)是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语法,并结合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。
PHP是完全免费的开源产品,不用花钱,Apache和MYSQL也是用样免费开源,在国外非常流行,PHP和MYSQL搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的APACHE+PHP+MYSQL。通常认为这种搭配的执行效率比IIS+ASP+ACCESS要高,而后者的使用还必须另外交钱给微软。
PHP的语法和Perl很相似,但是PHP所包含的函数却远远多于Perl,PHP没有命名空间,编程时候必须努力避免模块的名称冲突。一个开源的语言虽然需要简单的语法和丰富的函数,但PHP内部结构的天生缺陷导致了PHP不适合于编写比中小型业余网站更大的网站。
PHP开发的成功案例:
MediaWiki — 著名的维基百科(Wiki)程序,如此庞大的条目居然只用PHP+MYSQL就能够支持,真是不可思议。
WordPre — 著名的Blog系统,功能上丝毫不输于Movable Type,不少用户都纷纷从Movable Type转移到了WordPre。2.三者的比较
2.1 前景分析
这三种技术相对来说,JSP是一种较新的技术,国外比国内流行,尤其是电子商务类网站,多采用JSP.JSP是基于平台和服务器的相互独立的,JSP标签可扩展性和JSP跨平台组件的重要性将使JSP为WEB数据库应用退出更具竞争力的解决防范。
在企业应用方面到底选.NET平台还是J2EE平台呢?从体系结构和技术细节讲,J2EE和.NET都是采用虚拟技术,两名对前端HTTP进程内通信,后端数据库处理技术都发展到极致。而两者在现阶段的主要区别,在功能方面J2EE比.NET更丰富,在使用方面.NET比J2EE在这一点上具有优势,在风格差异而言,J2EE继承了大型主机和Unix 的风格,各个部件之间相对松散独立,需要一定组合过程,而.NET的风格更像Window系统,所有组件都紧密地集成在一起。
在PHPS中,oo体系几乎是COPY的Java的,这样一来既保证了PHP高阶用户不流失,也使他们能方便地使用最新的技术体系来架构自己的应用,同时也为Java程序员使用PHP具备了真正进入方便,在完善体系后,PHP具备了真正进入企业级市场的能力。因此,在未来相当长时期内,PHP一方面会和Java之间建立更为紧密的关系用来粘合JavaBeans和Servlet。同时PHP会争取在某一些方面取代JSP,另一方面是java和.NET间的集成。
2.2 应用范围
ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上、通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。
PHP3可在Windows,Unix,Linux的Web服务器上正常执行,还支持IIS,Apache等一般的Web服务器,用户更换时无需变换PHP3代码,可即享即用。
JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用”的特性,JSP几乎可以执行于Win NT,如JRUN就能支持JSP。由于广泛应用在NT,Unix和Linux上的Web服务器Apache就能够支持JSP,因此JSP有更广泛的执行平台,Win NT,Linux,Unix这三种平台各有各的优势,但Java字节码都是标准的与平台无关的,因此从一个平台移植到另一个平台不用重新编译。
2.3 安全性比较
对于ASP.NET来说内建的validows验证和每一个应用程序的独立配置,可以确保源程序的绝对安全。
JSP要先编译成字节码然后再有Java虚拟机,源码相对不易被下载,尤其在JavaBean后安全性更高,Java还能通过异常处理机制来有效防止系统的崩溃。
PHP的运行时靠它的语言解释器来完成,在NT或PHP1EXE下是一个解释器,它的作用是解释后缀为1PHP,1PHP3,1PHTML或其它的文件,根据里面定义的程序来访问数据库,读写文件或执行外部命令,并将执行的结果组织成STRING返回给WEB SERVER然后当作HTML格式的文件发送给浏览器读取文件和执行外部命令,PHP的另外一特性是执行外部命令,在UNIX下比较多见.ls,echo等,这些都是安全隐患之所在。
2.4 技术比较
ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护,ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言创作应用程序。另外,任何ASP.NET应用程序都可以使用整个Microsoft.NET Framework,ASP.NET可以无缝地与WYSIWYG HTML编译器和其他编程工具一起工作,这不仅使得Web开发更具方便,而且还能提供这些工具必须提供的所有优点。
JSP虽然在形式上与ASP或PHP很相似,都可以被内嵌在HTML代码中,但执行方式却完全不同,在执行时,JSP文件被JSP解释器转换成Servlet代码,然后代码再被Java编译器编译成.cla字节文件,由生成的Servlet来客户端应答,所以JSP可以看做是Servlet的脚本语言。
PHP是一种在服务器端运行,嵌入在HTML,并由服务器解释脚本语言,PHP独特的语法混合了C,、java、perl以及PHP创新的语法,容易被初学者掌握,这种语言可以让Web开发人员快速高校地写出动态生成的页面。
2.5 连接数据库比较
(1)ASP.NET通过ADO技术可以访问数据库系统,ADO提供额DataGrid等数据库元件可以直接和数据库联系,把数据库中的内容显示出来。
(2)PHP支持多种主流的与非主流的数据库,如Interbase,Msql等,其中,PHP与Mysql是现在绝佳组合,是可跨平台运行的,PHP可以编译具有与许多数据库相连接的函数,web页面开发人员可以编写外围函数去间接存取数据库,通过这样的途径,当更换使用的数据库时,可以轻松地修改编码以适应这样的变化,PHPL.JB就是最常用的可以提供一般事务需要的一系列数据可。目前,PHP提供的数据库接口支持彼此不相同,这是PHP的一个弱点。(3)JSP使用JSP标识或者小脚本来生产页面上的动态内容,产生内容的逻辑被封装至标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器执行,在服务器端,JSP引擎解释JSP标识,产生所请求的内容,并且将数据库操作结果以HTML或XML页面的形式发送回浏览器,还有助于作者保护自己的代码。
通过以上论述可以看出ASP.NET、JSP、PHP这三种技术的优缺点。不过,正因为ASP很简单,所以单纯使用ASP所能完成的功能也是有限的,好在COM(Component Object Model)技术拯救了ASP,微软提供了COM/DCOM技术,极大拓宽了ASP的应用范围,使得ASP几乎具有无限可扩充性。和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。
对于JSP ,不少国外的大型企业系统和商务系统都使用以上的MVC架构,能够支持高度复杂的基于Web的大型应用。SP对于网站开发来讲不像PHP和ASP那样易学易用,支持JAVA的主机也少于支持PHP的主机,这从一定程度上限制了Java技术在网站上的发展,不过在企业软件应用上来讲,MVC还是拥有相当大的优势的,虽然其配置和部署相对其他脚本语言来说要复杂一些,但对于跨平台的中大型企业应用系统来讲,基于JAVA技术的MVC架构几乎成为唯一的选择。
现在PHP也是应用极为广泛,PHP语法简单,非常易学易用,很利于快速开发各种功能不同的定制网站,PHP因为结构上的缺陷,使的PHP在复杂的大型项目上的开发和维护都比较困难。3.结论
经过这几年的学习,我对这三项web技术,有了自己了一定的理解。对ASP.NET,我现在只会点基础性的东西,还需要不断的实践。JSP是用Java语言开发,因为我现在刚学习一点Java 语言,对它还不没有全面掌握。PHP我了解的少点,我会继续学习的。asp.net是微软的产品,它提供的visual studio.net开发环境为用户可视化的开发环境和大量的帮助文档,方便用户使用和学习。jsp是开放的、跨平台的技术。PHP是一种易于学习,有良好数据库交互能力,跨平台的服务器端得嵌入式脚本语言,它与HTML语言具有非常好的兼容性,可以直接在脚本代码中加入HTML标签,也可以在HTML标签中加入脚本代码从而更好地实现页面抑制。这三种技术都为基于Web应用提供了技术的支持,在技术上各有所长,我们在使用时选择一门最适合自己的技术或产品才是最好的,希望以后会不断努力,争取掌握这三项主流web技术。