ASP与JSP的比较从微软推出了ASP(ActiveServerPage)后,它以其强大的功能,简单易学的特点而受到广大WEB开发人员的喜欢。但是它却有微软产品的通
病,只能在Windows平台下使用,虽然它可以通过增加控件而在LINUX下使用,但是其功能最强大的DCOM控件却不能使用。而SUN公司在JAVA的
基础下开发出的JSP(Java ServerPages)实现了动态页面与静态页面的分离,脱离了硬件平台的束缚,以及编译后运行等方式大大提高了其
执行效率而逐渐成为因特网上的主流开发工具。为了使用广大应用ASP的程序员们能近快的学会JSP。现把其异同对比如下:一、结构 JSP和ASP在结构上类似,都是以“”作为标计符,不同的是在标计符之间的代码ASP为JavaScript或VBScript脚本,而JSP为JAVA代码。
JSP将网页的表现形式和服务器端的代码逻辑分开。作为服务器进程的JSP页面,首先被转换成servlet(一种服务器端运行的java程序)。
Servlet支持HTTP协议的请求和响应。当JSP被转换成纯JAVA代码。多个用户同时请求一个jsp页面时,应用实例化线程来响应请求。
这些线程由WEB服务器进程来管理,和ASP的线程管理器功能类似。同CGI为每个请求创建一个进程的模式比较,这种方式效率高的多。 二、性能和平台无关性 与C++、VB等语言比较,JAVA被看作是个效率不太高的语言,但它以牺牲效率换来了平台无关性使JAVA可以在大多数操作系统上运行而
不需要重新编译--许多人愿意为此而付出代价。JAVA的编译代码是一种字节代码,在运行时由操作系统上的一个Java VirtualMachine
(JVM)虚拟机解释。字节代码可以在所有平台上迁移,而不需要任何改动。交叉平台编程倾向于采用所有操作系统的“最小公分母“,尤其是
使用图形化界面时(servlets不需要任何图形界面)。Servlets比传统的java程序(applets, javaapp)要快,因为它们在服务器端运行,
不需要加载沉重的GUI(HTML的GUI是非常少的)。另外,servlets的字节代码只有在客户请求时才执行,所以尽管当首次调用servlets时
会有几秒钟的加载时间,但后续的请求相应非常迅速,因为服务器已经缓存了运行的servlets。当前的jsp服务器,都带有java 即时编译器
(JIT),因此,JSP的执行比每次都要解释执行的ASP代码要快,尤其是在代码中存在循环操作时,JSP的速度要快1到2个数量级。 三、Session管理 为了跟踪用户的操作状态,ASP应用SESSION对象。JSP使用一个叫HttpSession的对象实现同样的功能。Session的信息保存在服务器端,
Session的id保存在客户机的cookie中。如果客户机禁止cookie,Session Id就必须带在url后面。Session一般在服务器上设置了一个30分
钟的过期时间,当客户停止活动后自动失效。Session 中保存和检索的信息不能是基本数据类型(primitivedatatypes)如(int, double)
等,而必须是java的相应的object(对象)如(Integer,Double)。 HttpSessionsession=request.getSession();//得到一个session对象或创建一个 session.getId()//得到sessionID数 Integerid=(Integer)session.getValue(“id“)//检索出session的值并转化为整型 session.putValue(“ItemValue“,itemName);
//ItemValue必须不是must简单类型 四、Application管理 有时服务器需要管理面向整个应用的参数,使得每个客户都能获得同样的参数值。和Session一样,ASP使用Application对象而JSP使用
ServletContext对象,操作的方法和Session一样。 getServletContext().setAttribute(“Item“,ItemValue);//设置一个应用变量 Integeri=(Integer)getServletContext().getAttribute(“ItemName“);//得到//item
五、ServerSideIncludes 在服务器端引用上ASP和JSP有着相同之处。ASP和JSP都可以支持此功能的服务器(IIS,APACHE)上实现服务器端包含虚文件。但JSP是将
动态页面的结果包含进来,而不是包含文件的代码本身。当你包含的文件在另一个服务器上时,不包含任何代码和对象是一个非常有效的功能。 ASP: JSP:<!--#include file="subfile.asp" -->六、JAVA组件:JavaBeans JavaBeans是一些完成预定义功能的封装的对象数据。JavaBeans和JSP接合与COM和ASP相比如下: COM对象常用来封装商业逻辑和为ASP页面完成高强度计算。重用的组件使得页面简单快速,因为组件由编译语言(C++,VB)构成,而不是
解释型的scripting语言(VBScript, JScript)。 JavaBeans只能用java语言开发,com可以由符合标准对象模型的任何语言开发(包括Visual J++)。另一方面,JavaBeans更容易开发,
因为一旦掌握了java,了解JavaBeans的结构非常容易。由于com的复杂性,需要大量的学习和培训才能掌握--即使你具有c++和vb的基础也需
要额外的努力。Com 组件需要在服务器上注册,如果你修改了一个现有的组件,服务器需要重新启动才能使用它。JavaBeans不需要重新注册,
如果开发者不需要得到对服务器的完全访问权限,这是其一个巨大的优点。 可以创建满足商业逻辑的完整的JavaBeans库,让非编程人员使用库来开发动态网站。 Beans可以在服务器端管理数据库连接。 JavaBeans符合结构化对象模型:每个Bean由一个不带参数的构造函数,控制它的servlet可以使用内省(introspection)来设置其属性
。要设置Bean的内置属性,必须使用带有属性名的setProperty标签。如果一个属性可以设置,Bean需要有一个setXxxx方法,Xxxx用实际的
属性名来代替。 七、JSP和数据库 ASP使用ODBC通过ADO连接数据库,而JAVA通过一个叫JDBC的技术联接数据库。目标数据库需要一个JDBC驱动程序--一个数据库与JAVA的接
口,使得JAVA可以用标准的方式访问数据库。JDBC不使用服务器端的数据源。只要有JDBC驱动程序,JAVA就可以访问数据库了。如果一个特
定的数据库没有JDBC驱动程序,而只有ODBC驱动程序,JAVA提供一个JDBC-ODBC桥来将JDBC调用转化为ODBC调用。所有的JAVA编译器都带有
一个免费的JDBC-ODBC桥。理论上,桥可以访问任何常见的数据库产品。 结论:JSP模型是在ASP之后定义的,它借用了ASP的许多优点,如Session,Application等对象。同时JSP使用灵活而强大的JAVA语言,
而不是低效的Scripting语言。ASP开发者只能使用基于windows平台的技术,而java和jsp是跨平台的。从微软推出了ASP(ActiveServerPage)后,它以其强大的功能,简单易学的特点而受到广大WEB开发人员的喜欢。但是它却有微软产品的通病,只能在Windows平台下使用,虽然它可以通过增加控件而在LINUX下使用,但是其功能最强大的DCOM控件却不能使用。而SUN公司在JAVA的基础下开发出的JSP(Java ServerPages)实现了动态页面与静态页面的分离,脱离了硬件平台的束缚,以及编译后运行等方式大大提高了其执行效率而逐渐成为因特网上的主流开发工具。为了使用广大应用ASP的程序员们能近快的学会JSP。现把其异同对比如下:一、结构 JSP和ASP在结构上类似,都是以“”作为标计符,不同的是在标计符之间的代码ASP为JavaScript或VBScript脚本,而JSP为JAVA代码。JSP将网页的表现形式和服务器端的代码逻辑分开。作为服务器进程的JSP页面,首先被转换成servlet(一种服务器端运行的java程序)。Servlet支持HTTP协议的请求和响应。当JSP被转换成纯JAVA代码。多个用户同时请求一个jsp页面时,应用实例化线程来响应请求。这些线程由WEB服务器进程来管理,和ASP的线程管理器功能类似。同CGI为每个请求创建一个进程的模式比较,这种方式效率高的多。 二、性能和平台无关性 与C++、VB等语言比较,JAVA被看作是个效率不太高的语言,但它以牺牲效率换来了平台无关性使JAVA可以在大多数操作系统上运行而不需要重新编译--许多人愿意为此而付出代价。JAVA的编译代码是一种字节代码,在运行时由操作系统上的一个Java VirtualMachine(JVM)虚拟机解释。字节代码可以在所有平台上迁移,而不需要任何改动。交叉平台编程倾向于采用所有操作系统的“最小公分母“,尤其是使用图形化界面时(servlets不需要任何图形界面)。Servlets比传统的java程序(applets, javaapp)要快,因为它们在服务器端运行,不需要加载沉重的GUI(HTML的GUI是非常少的)。另外,servlets的字节代码只有在客户请求时才执行,所以尽管当首次调用servlets时会有几秒钟的加载时间,但后续的请求相应非常迅速,因为服务器已经缓存了运行的servlets。当前的jsp服务器,都带有java 即时编译器(JIT),因此,JSP的执行比每次都要解释执行的ASP代码要快,尤其是在代码中存在循环操作时,JSP的速度要快1到2个数量级。 三、Session管理 为了跟踪用户的操作状态,ASP应用SESSION对象。JSP使用一个叫HttpSession的对象实现同样的功能。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。如果客户机禁止cookie,Session Id就必须带在url后面。Session一般在服务器上设置了一个30分钟的过期时间,当客户停止活动后自动失效。Session 中保存和检索的信息不能是基本数据类型(primitivedatatypes)如(int, double)等,而必须是java的相应的object(对象)如(Integer,Double)。 HttpSessionsession=request.getSession();//得到一个session对象或创建一个 session.getId()//得到sessionID数 Integerid=(Integer)session.getValue(“id“)//检索出session的值并转化为整型 session.putValue(“ItemValue“,itemName);//ItemValue必须不是must简单类型 四、Application管理 有时服务器需要管理面向整个应用的参数,使得每个客户都能获得同样的参数值。和Session一样,ASP使用Application对象而JSP使用ServletContext对象,操作的方法和Session一样。 getServletContext().setAttribute(“Item“,ItemValue);//设置一个应用变量 Integeri=(Integer)getServletContext().getAttribute(“ItemName“);//得到//item
五、ServerSideIncludes 在服务器端引用上ASP和JSP有着相同之处。ASP和JSP都可以支持此功能的服务器(IIS,APACHE)上实现服务器端包含虚文件。但JSP是将动态页面的结果包含进来,而不是包含文件的代码本身。当你包含的文件在另一个服务器上时,不包含任何代码和对象是一个非常有效的功能。 ASP: JSP:<!--#include file="subfile.asp" -->六、JAVA组件:JavaBeans JavaBeans是一些完成预定义功能的封装的对象数据。JavaBeans和JSP接合与COM和ASP相比如下: COM对象常用来封装商业逻辑和为ASP页面完成高强度计算。重用的组件使得页面简单快速,因为组件由编译语言(C++,VB)构成,而不是解释型的scripting语言(VBScript, JScript)。 JavaBeans只能用java语言开发,com可以由符合标准对象模型的任何语言开发(包括Visual J++)。另一方面,JavaBeans更容易开发,因为一旦掌握了java,了解JavaBeans的结构非常容易。由于com的复杂性,需要大量的学习和培训才能掌握--即使你具有c++和vb的基础也需要额外的努力。Com 组件需要在服务器上注册,如果你修改了一个现有的组件,服务器需要重新启动才能使用它。JavaBeans不需要重新注册,如果开发者不需要得到对服务器的完全访问权限,这是其一个巨大的优点。 可以创建满足商业逻辑的完整的JavaBeans库,让非编程人员使用库来开发动态网站。 Beans可以在服务器端管理数据库连接。 JavaBeans符合结构化对象模型:每个Bean由一个不带参数的构造函数,控制它的servlet可以使用内省(introspection)来设置其属性。要设置Bean的内置属性,必须使用带有属性名的setProperty标签。如果一个属性可以设置,Bean需要有一个setXxxx方法,Xxxx用实际的属性名来代替。 七、JSP和数据库 ASP使用ODBC通过ADO连接数据库,而JAVA通过一个叫JDBC的技术联接数据库。目标数据库需要一个JDBC驱动程序--一个数据库与JAVA的接口,使得JAVA可以用标准的方式访问数据库。JDBC不使用服务器端的数据源。只要有JDBC驱动程序,JAVA就可以访问数据库了。如果一个特定的数据库没有JDBC驱动程序,而只有ODBC驱动程序,JAVA提供一个JDBC-ODBC桥来将JDBC调用转化为ODBC调用。所有的JAVA编译器都带有一个免费的JDBC-ODBC桥。理论上,桥可以访问任何常见的数据库产品。 结论:JSP模型是在ASP之后定义的,它借用了ASP的许多优点,如Session,Application等对象。同时JSP使用灵活而强大的JAVA语言,而不是低效的Scripting语言。ASP开发者只能使用基于windows平台的技术,而java和jsp是跨平台的。

ASP与JSP的比较相关推荐

  1. ASP、JSP、PHP 三种技术比较

    目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor). 简 介 ASP ...

  2. asp.net_php_jsp,对ASP、JSP、PHP、ASP.NET进行实际应用%统计

    对ASP.JSP.PHP.ASP.NET进行实际应用%统计 各大网络编程语言的10年奋战,各有所长.各领千秋.今日对于我们的网站编程语言:ASP.JSP.PHP.ASP.NET进行实际应用统计: AS ...

  3. Asp,PHP,JSP,.Net几种网站开发语言比较

    导读: ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的.互动的.高性能的WEB服务应用程序.ASP采用脚本语言VBScript(Java ...

  4. 主流网站开发语言 ASP ASP.NET JSP PHP CGI

    主流网站开发语言之ASP: ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码 ...

  5. ASP,php,jsp,ASP.net四种web平台语言的区别与前景

    ASP,PHP,JSP,ASP.NET 这是当前比较流行的四种WEB网站编程语言 现在做网站大部分都是使用这几种语言中的其一 ASP是基于WINDOWS平台的,简单易用,由于是运行在WINDOWS平台 ...

  6. ASP和JSP的内置对象

    ASP和JSP是对同一种功能的不同实现,既然如此,它们之间肯定有类似的东西.这里分别看一下它们的内置对象. asp中的六大内置对象 JSP中的九大内置对象 学习完asp,再接触jsp的时候,感觉好多熟 ...

  7. ASP+和JSP大比拚 (转)

    ASP+和JSP大比拚 (转)[@more@] 作者:Casey Kochmer 因为我同时是ASP和JSP的程序员,所以正开始写一系列的文章来比较两者的差别,当我写到一半时,ASP+被宣布了,所以我 ...

  8. 渗透测试:ASP/ASPX/JSP/JBoss攻防环境搭建

    ASP/ASPX/JSP/JBoss攻防环境搭建 IIS搭建ASP攻防环境 IIS+mssql搭建ASPX攻防环境 Tomcat+study攻防环境搭建 JBoss网站攻防环境搭建 IIS搭建ASP攻 ...

  9. Java的ASP与JSP有什么区别_asp与jsp的区别汇总

    首先,asp与jsp都是现今比较常用的动态网页开发技术,但是2者的区别也是非常大的,下面我们从几方面来比较一下asp和jsp的区别主要有哪些: 1.从安全角度:ASP使用Windows NT的安全结构 ...

  10. 兔子--html,js,php,ASP,ASP.NET,JSP的关系

    html是超文本链接语言.是静态的.显示在client.仅仅用HTML做出来的网页是静态网页.没不论什么交互功能. JS是一种基于对象和事件驱动的脚本语言,执行在client.是一种比較简单的编程语言 ...

最新文章

  1. MNA-CNN: 如何在美学质量评估中储存照片原始信息
  2. java数组深拷贝和浅拷贝_java中的深拷贝与浅拷贝(值类型 vs 引用类型)
  3. python静态变量和静态方法_python的静态成员变量、实例成员变量、静态方法、类方法、实例方法...
  4. 物联网技术在智慧消防中的应用
  5. 职场新人的入门法则:少想、多做、立即执行!
  6. qt实现QLabel上显示的文字有描边
  7. 计算机的iscsi配置,我们将了解如何设置自己的支持iscsi配置的存储节点
  8. python2转python3代码_Python2代码转成Python3代码
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的企业计划管理系统
  10. SharePoint列表下拉框优化
  11. 作为一个程序员需要学多少技能?
  12. Idea ctrl shift r全局搜索搜索指定不到文件
  13. Word——目录显示和标题样式设置
  14. 英尺英寸和厘米的换算_英尺米换算(英尺英寸与厘米换算器)
  15. 活动回顾 | Mini XMan线上快闪活动圆满结束!
  16. HTML字体颜色对照表
  17. 计算机基础是公共必修课,计算机公共必修课《大学计算机基础》课程教学大纲.doc...
  18. 学习ios(必看经典)牛人40天精通iOS开发的学习方法
  19. 面试笔记(网易-Java开发实习)
  20. 中国科学院大学计算机研究生拟录取名单,中国科学院大学2017年硕士研究生公开招考拟录取名单公示(46)...

热门文章

  1. 虚拟机下修改hosts文件
  2. xp系统如何开启ftp服务器,xp系统怎么开ftp服务器
  3. (转载)yocto相关class总结
  4. 使用tkinter打造一个小说下载器,想看什么小说,就下什么
  5. C++和数据结构考试总结
  6. QDU首届易途杯大赛-kk与cillyb的荣誉之战
  7. python贴吧签到多账号版本最新可用
  8. 计算机英语词汇汇总,计算机英语词汇汇总
  9. RL基础算法优缺点总结
  10. verilog 实战 与非门