JSP(Java Server Pages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
ASP 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。指 Active Server Pages(动态服务器页面),运行于 IIS 之中的程序。
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支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用.
1.增强的性能.ASP.NET 是在服务器上运行的编译好的公共语言运行库代码.与被解释的前辈不同,ASP.NET 可利用早期绑定,实时编译,本机优化和盒外缓存服务.这相当于在编写代码行之前便显著提高了性能.
2.世界级的工具支持.ASP.NETFramework 补充了 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(InternetInformation Server) (windows NT)和PWS(Personal Web Server)(windows 98)上.Unix下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,Unix下的COM实现起来非常困难.
JSP同PHP3类似,几乎可以执行于所有平台.如WinNT,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 的开发中的现有投资.
JSP(Java Server Page)与ASP(ActiveServer Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:
1.Web服务器的支持:大多数通用的 Web服务器如:Apache、Netscape和MicrosoftIIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。
2.平台的支持:JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于移植到其它平台上。
3.组件模型:JSP是建立在可重用的、跨平台的组件(如:JavaBeans、Enterprises JavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。
4.脚本语言:JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。
5.安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全结构。
6.与Access数据库的连接:JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用DataActive Objects。
7.用户定制的标签:JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。
每种语言都有他存在的合理性,java不一定适应每一个地方,VB也不是没有用处,如果一种语言完全不如另一种语言好,那么这种语言将不复存在,所以,我们需要做的是找出他们的异同,在不同的情况下学习和使用不同的语言。