ASP.NET、ASP、PHP、JSP之间有什么区别?
Asp:
首先说Asp,它是属于脚本语言,一般连接的数据库为 Access 和 MsSql(SqlServer).当我们开发一个一般的小型数据库网站的时候,一般在3万条记录以下的,一般用Access数据库。
Access数据库的优势就是一般的服务器都支持。
SqlServer数据库的优势就是速度快,比如当记录集在10万以上,可以推荐用Sql的数据库。
这两种数据库在Asp中都是用Sql语法,但Access数据库和SqlServer数据库的使用语法有一定的不同。
在制作网站的时候,Asp语言和Html语言是混编的,这里说一下,Asp语言属于后台语言,也就是说,他是在服务器上进行运算的,前台脚本分为两种 VbScript 和 JavaScript 。一般情况,Asp和VbScript配合使用。
Vbscript属于前台脚本语言,在客户端运行。当然JavaScript也是前台脚本语言。
最后解释下ASP的全称:ASP的全称是Active(活动) Server(服务器) Pages(页面),即活动服务器页面。
Php:
Php和Asp一样也是,也是属于脚本语言,一般连接的数据库为MySql数据库,当然它也能和Access数据库和MsSql(SqlServer)数据库等其他数据库连接。
再来说下,PHP属于免费软件,也就是说他的资源是free的,当然其实Asp在现在中国环境的话,也是免费的,从这点来说没有什么不同。
Php从安全性上比Asp要好,当然这里说的是相对而言,一个好的程序员把安全性做好的话,都差不多,不过Php的安全性要比Asp要好,为什么这么说呢。这里主要原因是这样的,PHP的搭建服务器环境相对复杂(需要安装Apache + MySql + PHP),而Asp的搭建环境比较简单(只需要安装IIS就可以了),所以学PHP的门槛比Asp的门槛要高,所以很多人就偏向Asp学习的人就多了,自然研究Asp漏洞的人就多了,而PHP会的人就少,所以研究漏洞的人就更少了,从这点来说PHP的安全性比ASP的安全性要高些。
而且还有一点就是 Apache 的环境最好是Unix,当然Windows下也是可以安装的。(Apache 是PHP的支持环境)
还有再说一点,就是MySql的效率问题,他比Access好很多倍,但是比MsSql(SqlServer)要差点。
Asp.net:
首先来说,Asp.net 和 Asp 没什么关系,看着像是升级版本什么的,其实没什么联系。
Asp 是脚本编程,用的是 ASP语言,而ASP.net 用的是C#语言,完全不同的东西。
现在的 ASP.net 分为两个版本:1.1 和 2.0
Asp.net 1.1 用 VS2003 (visual studio 2003)编程。
Asp.net 2.0 用 VS2005 (visual studio 2005)编程。
现在一般开发用的是 VS2003 。
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。
Asp.net 1.1 的就装 Framework 1.1,Asp.net 2.0 的就装 Framework 2.0。
ASP.net 1.1 和 2.0 在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。
Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。
Asp.net属于编译语言,和ASP的最大不同(ASP属于解释语言)。
ASP.net 的速度 是 ASP不能比拟的。下面我来说下为什么ASP.net 比 ASP 快:
ASP.net 是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括 worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0,而ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
JSP:
(JSP 是 copy 的,还没有太研究。总体上来说JSP的工程量巨大,任何工程都可以做到,当然是一个团队开发,3个人以上的一个团队开发,他的工期耗时也是最常的。)
1 将内容的产生和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面.使用JSP标识或者小脚本来产生页面上的动态内容.产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行.如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生.在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器.这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性.
2 强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理.开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用.基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡.
四者中,.NET和JSP应该是未来发展的趋势.世界上一些大的电子商务解决方案提供商都采用JSP/Servlet和.NET框价模式.