偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP與JSP的七個主要區(qū)別

開發(fā) 后端
本文向您介紹ASP與JSP的區(qū)別,包括程序的結(jié)構(gòu)、性能、Session管理、數(shù)據(jù)庫等七個主要方面。JSP模型是在ASP之后定義的,它借用了ASP的許多優(yōu)點,同時JSP使用靈活而強(qiáng)大的Java語言。

ASP與JSP的區(qū)別之結(jié)構(gòu)  

在"<%"和"%>"標(biāo)記里面, asp使用JavaScript或VBScript腳本,而JSP為JAVA代碼 ;JSP將網(wǎng)頁的表現(xiàn)形式和服務(wù)器端的代碼邏輯分開。作為服務(wù)器進(jìn)程的JSP頁面,首先被轉(zhuǎn)換成servlet(一種服務(wù)器端運行的java程序)。 Servlet支持HTTP協(xié)議的請求和響應(yīng)。當(dāng)JSP被轉(zhuǎn)換成純JAVA代碼。多個用戶同時請求一個jsp頁面時,應(yīng)用實例化線程來響應(yīng)請求。這些線程由WEB服務(wù)器進(jìn)程來管理,和ASP的線程管理器功能類似。

ASP與JSP的區(qū)別之性能和平臺無關(guān)性
 
與C++、VB等語言比較,JAVA被看作是個效率不太高的語言,但它以犧牲效率換來了平臺無關(guān)性使JAVA可以在大多數(shù)操作系統(tǒng)上運行而不需要重新編譯 --許多人愿意為此而付出代價。JAVA的編譯代碼是一種字節(jié)代碼,在運行時由操作系統(tǒng)上的一個Java VirtualMachine(JVM)虛擬機(jī)解釋。字節(jié)代碼可以在所有平臺上遷移,而不需要任何改動。交叉平臺編程傾向于采用所有操作系統(tǒng)的"最小公分母",尤其是使用圖形化界面時(servlets不需要任何圖形界面)。Servlets比傳統(tǒng)的java程序(applets, javaapp)要快,因為它們在服務(wù)器端運行,不需要加載沉重的GUI(HTML的GUI是非常少的)。

另外, Servlets的字節(jié)代碼只有在客戶請求時才執(zhí)行,所以盡管當(dāng)首次調(diào)用servlets時會有幾秒鐘的加載時間,但后續(xù)的請求相應(yīng)非常迅速,因為服務(wù)器已經(jīng)緩存了運行的Servlets。當(dāng)前的JSP服務(wù)器,都帶有java 即時編譯器(JIT),因此,JSP的執(zhí)行比每次都要解釋執(zhí)行的ASP代碼要快,尤其是在代碼中存在循環(huán)操作時,JSP的速度要快1到2個數(shù)量級。

ASP與JSP的區(qū)別之Session管理

為了跟蹤用戶的操作狀態(tài),ASP應(yīng)用SESSION對象。 JSP使用一個叫HttpSession的對象實現(xiàn)同樣的功能。Session 信息保存在服務(wù)器端,Session的id保存在客戶機(jī)的cookie中。如果客戶機(jī)禁止cookie,Session Id就必須帶在url后面。 Session一般在服務(wù)器上設(shè)置了一個 30分鐘 的過期時間,當(dāng)客戶停止活動后自動失效。 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簡單類型

ASP與JSP的區(qū)別之Application管理

有時服務(wù)器需要管理面向整個應(yīng)用的參數(shù),使得每個客戶都能獲得同樣的參數(shù)值。和Session一樣,ASP使用Application對象而JSP使用ServletContext對象,操作的方法和Session一樣。

getServletContext().setAttribute("Item",ItemValue);//設(shè)置一個應(yīng)用變量
Integer i=(Integer)getServletContext().getAttribute("ItemName");//得到//item

ASP與JSP的區(qū)別之ServerSideIncludes

在服務(wù)器端引用上ASP和JSP有著相同之處。ASP和JSP都可以支持此功能的服務(wù)器(IIS,APACHE)上實現(xiàn)服務(wù)器端包含虛文件。但JSP是將動態(tài)頁面的結(jié)果包含進(jìn)來,而不是包含文件的代碼本身。當(dāng)你包含的文件在另一個服務(wù)器上時,不包含任何代碼和對象是一個非常有效的功能。

ASP:<!--#includefile="subfile.asp"-->
JSP:< %@includefile="subfile.jsp"-->

ASP與JSP的區(qū)別之JAVA組件:JavaBeans

JavaBeans是一些完成預(yù)定義功能的封裝的對象數(shù)據(jù)。JavaBeans和JSP接合與COM和ASP相比如下:
 
1.COM對象常用來封裝商業(yè)邏輯和為ASP頁面完成高強(qiáng)度計算。重用的組件使得頁面簡單快速,因為組件由編譯語言(C++,VB)構(gòu)成,而不是解釋型的scripting語言(VBScript, JScript)。

2.JavaBeans只能用java語言開發(fā),com可以由符合標(biāo)準(zhǔn)對象模型的任何語言開發(fā)(包括Visual J++)。另一方面,JavaBeans更容易開發(fā),因為一旦掌握了java,了解JavaBeans的結(jié)構(gòu)非常容易。由于com的復(fù)雜性,需要大量的學(xué)習(xí)和培訓(xùn)才能掌握--即使你具有c++和vb的基礎(chǔ)也需要額外的努力。Com 組件需要在服務(wù)器上注冊,如果你修改了一個現(xiàn)有的組件,服務(wù)器需要重新啟動才能使用它。JavaBeans不需要重新注冊,如果開發(fā)者不需要得到對服務(wù)器的完全訪問權(quán)限,這是其一個巨大的優(yōu)點。

3.可以創(chuàng)建滿足商業(yè)邏輯的完整的JavaBeans庫,讓非編程人員使用庫來開發(fā)動態(tài)網(wǎng)站。

4.Beans可以在服務(wù)器端管理數(shù)據(jù)庫連接。

5.JavaBeans符合結(jié)構(gòu)化對象模型:每個Bean由一個不帶參數(shù)的構(gòu)造函數(shù),控制它的servlet可以使用內(nèi)?。╥ntrospection)來設(shè)置其屬性。要設(shè)置Bean的內(nèi)置屬性,必須使用帶有屬性名的setProperty標(biāo)簽。如果一個屬性可以設(shè)置,Bean需要有一個setXxxx方法,Xxxx用實際的屬性名來代替。

ASP與JSP的區(qū)別之JSP和數(shù)據(jù)庫

ASP使用ODBC通過ADO連接數(shù)據(jù)庫,而JAVA通過一個叫JDBC的技術(shù)聯(lián)接數(shù)據(jù)庫。目標(biāo)數(shù)據(jù)庫需要一個JDBC驅(qū)動程序--一個數(shù)據(jù)庫與JAVA 的接口,使得JAVA可以用標(biāo)準(zhǔn)的方式訪問數(shù)據(jù)庫。JDBC不使用服務(wù)器端的數(shù)據(jù)源。只要有JDBC驅(qū)動程序,JAVA就可以訪問數(shù)據(jù)庫了。如果一個特定的數(shù)據(jù)庫沒有JDBC驅(qū)動程序,而只有ODBC驅(qū)動程序,JAVA提供一個JDBC-ODBC橋來將JDBC調(diào)用轉(zhuǎn)化為ODBC調(diào)用。所有的JAVA編譯器都帶有一個免費的JDBC-ODBC橋。理論上,橋可以訪問任何常見的數(shù)據(jù)庫產(chǎn)品。

結(jié)論:JSP模型是在ASP之后定義的,它借用了ASP的許多優(yōu)點,如Session,Application等對象。同時JSP使用靈活而強(qiáng)大的JAVA語言,而不是低效的Scripting語言。ASP開發(fā)者只能使用基于Windows平臺的技術(shù),而Java和JSP是跨平臺的。

 

【編輯推薦】

  1. 在JSP中獲取數(shù)據(jù)庫連接
  2. JSP換行問題解決辦法一覽
  3. JSP頁面跳轉(zhuǎn)的五種方法
  4. 淺析JSP頁面翻譯的原理
  5. Servlet/JSP配置問題的詳解
責(zé)任編輯:佚名 來源: JavaEye
相關(guān)推薦

2023-04-09 15:15:27

云計算混合云數(shù)字化轉(zhuǎn)型

2009-07-10 11:07:00

Webork與Stru

2015-07-21 10:49:11

2024-04-30 10:35:36

數(shù)據(jù)中心數(shù)據(jù)保護(hù)

2015-04-20 15:27:53

EPONGPON光網(wǎng)絡(luò)

2022-05-24 15:02:04

CIOCTOIT領(lǐng)導(dǎo)者

2010-08-17 16:27:40

UPSEPS

2021-03-13 07:49:27

OLTPOLAP數(shù)據(jù)庫

2010-03-11 09:46:27

無線交換機(jī)

2023-09-04 11:00:54

CC++語言

2023-03-27 16:36:50

邊緣計算云計算

2023-05-04 17:20:54

AWS ECSAWS Lambda云計算

2023-11-29 08:00:00

人工智能機(jī)器學(xué)習(xí)

2010-03-19 14:38:44

SWITCH交換機(jī)

2023-03-14 13:25:24

ChatGPT人工智能

2010-03-31 11:06:07

Oracle 基礎(chǔ)知識

2009-10-10 17:06:09

VB和VB.NET

2023-07-20 17:19:57

2022-05-16 14:13:45

5G4G通信

2022-11-21 08:54:25

IT對接業(yè)務(wù)
點贊
收藏

51CTO技術(shù)棧公眾號