当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP与JSP的区别和联系

ASP
ASP制作迅雷看看电影人气指数
Request.ServerVariables参数
rs.open和conn.execute
Rs.Open参数
什么是会话ID和如何使用会话ID
Service Unavailable问题
一些关于购物车的想法
几种常见的保护数据库的方法
验证码不正确,该如何解决?
ASP教程:过滤HTML代码并截取
IIS7中HTTP 500错误
学习ASP基础教程
ASP教程:ASP基础语法
学习ASP获取HTML表单提交信息的实例
301重定向全面认识
介绍一些常见的ASP平台的CMS
正则表达式简单学习
ASP教程:server.transfer方法实例
ASP实例教程代码实现禁止外部提交数据
ASP简单入门教程(1):认识ASP

ASP与JSP的区别和联系


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 199 ::
收藏到网摘: n/a

今天上论坛看了看,有一个网友bluesky提出问题说“ASP与JSP哪个好,他们有什么区别?”

ASP好像不存在线程安全问题,而JSP是存在线程安全问题。这不是说ASP好,恰恰相反说明ASP不如JSP好。

对于ASP:每次请求都要解释执行服务器端代码,执行完除了Session和Application在,其他的都没了,这样的话ASP就无法实现静态变量,不知道是不是真的没有办法实现,请高手指点。

而在JSP中,Servlet(JSP也会变成Servlet)是多线程的,执行完后不但Session和Application还在,而且Servlet实例还在内存,以后请求的话就可以直接用它了,正是这个提高了效率。

我总感觉Servlet模型比ASP先进,而且Java语言使它很专业!这点真的是ASP远远无法比的。

JSP和ASP的几点区别

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:<!--#includefile="subfile.asp"-->
JSP:%@includefile="subfile.jsp"--