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

ASP
关于释放session的两篇文章(一)
关于释放session的两篇文章(二)
表单填写时用回车代替TAB的实现方式
DateDiff的用法
加快DHTML的一组技巧
全面考察“禁用浏览器后退按钮”
XML加ASP实现网页“本地化”
透过ASP修改NT使用者的密码
方便购买的电子商务站点设计技巧
使用ASPMail组件发送数字卡片
聊天室关键技术[用户断线]处理
生成类似Windows资源管理器
如何将代码生成的文件设为只读
ASP中巧用存储过程
拦截表单的另外一种写法
ASP实现OICQ式的信息收发功能
怎样用HtmlEncode显示Unicode?
ASP出错集成处理
ASP.NET中处理datetime的一些通用函数
ASP.NET实现HTTP方式获取功能

ASP与JSP的区别和联系


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 256 ::
收藏到网摘: 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"--