- 热门文章:
- · 有关微软新一代开发技术ASP+的介绍
- · ASP的技术特点与使用方法
- · ASP集合使用
- · 动态网页制作技术JSP与ASP的比较
- · 用ASP建立站内搜索
- · 规划Web开发战略
- · 控制对网站的访问
- · FrontPage服务器扩展
- · ASP数据库服务器SQL Server
- · InterDev系统要求
- · 创建对象
- · 使用Visual InterDev进行小组开发
上一篇:ASP与JSP的比较(二) >>
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
下一篇:有关微软新一代开发技术ASP+的介绍 >>
相关文章:
- · 在Visual InterDev中对服务器端及客户端除错
- · 使用数据绑定控件显示数据
- · 连接到数据及创建可重用的Data Command
- · 新增一个Web页面
- · 用Visual InterDev规划站点
- · 建立Web站点
- · Visual InterDev的概念
- · VBScript 编码约定
- · VBScript 过程
- · 使用循环语句
- · 使用条件语句
- · VBScript 运算符
- · VBScript 常数
- · VBScript 变量
- · VBScript 数据类型
- · 什么是 VBScript?
- · IIS的使用
- · IIS的软件要求
- · IIS提供的服务
- · IIS体系架构
- · IIS服务器的特性
- · IIS 的 概 念
- · 其它的ASP常用组件
- · 常用的 ASP ActiveX 组件
- · ActiveX 组件
- · 数据库查询语言(2)
- · 数据库查询语言(1)
- · ASP内建对象Server
- · Global.asa文件的使用及Chat程序
- · ASP内建对象Application 和 Session
- · ASP内建对象Response
- · ASP内建对象Request
- · ASP脚本循环语句
- · ASP脚本变量、函数、过程和条件语句
- · ASP脚本基础
- · ASP基础
- · ASP简介
- · 如何令你的网站“动感十足”
