ASP與JSP的區(qū)別和聯(lián)系_ASP教程
推薦:ASP優(yōu)化:幾招提高ASP性能的最佳選擇ASP開發(fā)人員為了在他們的設(shè)計項目中獲得更好的性能和可擴展性而不斷努力。幸運地是,有許多書籍和站點在這方面提供了很好的建議。但是這些建議的基礎(chǔ)都是從ASP平臺工作的結(jié)構(gòu)上所得出的結(jié)論,對
今天上論壇看了看,有一個網(wǎng)友bluesky提出問題說“ASP與JSP哪個好,他們有什么區(qū)別?”ASP好像不存在線程安全問題,而JSP是存在線程安全問題。這不是說ASP好,恰恰相反說明ASP不如JSP好。
對于ASP:每次請求都要解釋執(zhí)行服務(wù)器端代碼,執(zhí)行完除了Session和Application在,其他的都沒了,這樣的話ASP就無法實現(xiàn)靜態(tài)變量,不知道是不是真的沒有辦法實現(xiàn),請高手指點。
而在JSP中,Servlet(JSP也會變成Servlet)是多線程的,執(zhí)行完后不但Session和Application還在,而且Servlet實例還在內(nèi)存,以后請求的話就可以直接用它了,正是這個提高了效率。
我總感覺Servlet模型比ASP先進,而且Java語言使它很專業(yè)!這點真的是ASP遠遠無法比的。
JSP和ASP的幾點區(qū)別
Session管理
為了跟蹤用戶的操作狀態(tài),ASP應(yīng)用SESSION對象。JSP使用一個叫HttpSession的對象實現(xiàn)同樣的功能。Session的信息保存在服務(wù)器端,Session的id保存在客戶機的cookie中。如果客戶機禁止cookie,Session Id就必須帶在url后面。Session一般在服務(wù)器上設(shè)置了一個30分鐘的過期時間,當客戶停止活動后自動失效。Session 中保存和檢索的信息不能是基本數(shù)據(jù)類型(primitivedatatypes)如(int, double)等,而必須是java的相應(yīng)的object(對象)如(Integer,Double)。
HttpSessionsession=request.getSession();//得到一個session對象或創(chuàng)建一個session.getId()//得到sessionID數(shù)Integerid=(Integer)session.getValue("id")//檢索出session的值并轉(zhuǎn)化為整型 session.putValue("ItemValue",itemName);//ItemValue必須不是must簡單類型
Application管理
有時服務(wù)器需要管理面向整個應(yīng)用的參數(shù),使得每個客戶都能獲得同樣的參數(shù)值。和Session一樣,ASP使用Application對象而JSP使用ServletContext對象,操作的方法和Session一樣。
getServletContext().setAttribute("Item",ItemValue);//設(shè)置一個應(yīng)用變量
Integeri=(Integer)getServletContext().getAttribute("ItemName");//得到//item
ServerSideIncludes
在服務(wù)器端引用上ASP和JSP有著相同之處。ASP和JSP都可以支持此功能的服務(wù)器(IIS,APACHE)上實現(xiàn)服務(wù)器端包含虛文件。但JSP是將動態(tài)頁面的結(jié)果包含進來,而不是包含文件的代碼本身。當你包含的文件在另一個服務(wù)器上時,不包含任何代碼和對象是一個非常有效的功能。
ASP:<!--#includefile="subfile.asp"-->
JSP:%@includefile="subfile.jsp"--
分享:馬克斯電影站生成Rss Feed的代碼前段時間為了給本人的電影站增加Rss訂閱功能,動手寫了個動態(tài)生成Rss Feed的ASP代碼,沒法上傳附件,就直接貼代碼吧,反正也不長,用馬克斯做電影站的朋友直接拿去用吧,其它類型的站點修改一下
- 相關(guān)鏈接:
- 教程說明:
ASP教程-ASP與JSP的區(qū)別和聯(lián)系
。