對JavaScript、JSP、Java及javaEE之間區別的理解
JavaScript和Java名字極為類似,相信不少的初學者或者準備學這些知識的人對於JavaScript、JSP、Java及JavaEE這幾個感念理解都會混淆,有所疑惑。曾經的我也是常常把這幾個感念混淆。後來查了很多資料,也對JavaScript、JSP及Java學習了一段時間。下面就他們之間的區別談一下我的看法吧。
JSP(全稱Java Server Pages)是由Sun Microsystems公司倡導和許多公司參與共同建立的一種使軟體開發人員可以響應用戶端請求,而動態產生HTML、XML或其他格式文檔的Web網頁的技術標準。JSP可以嵌套在html中。 簡單地說就是java伺服器端頁面,控制各種頁面的跳轉和資料的輸入輸出。
JavaScript與Java
JavaScript是用戶端指令碼語言。而Java則相當於JSP的伺服器端指令碼語言。伺服器端指令碼語言與用戶端指令碼語言的不同點在於他們被執行的時間不同。JSP頁面中的java代碼,首先被解析成對應的Servlet,然後被編譯並運行,在伺服器端就被執行了;而用戶端指令碼語言如JavaScript,在JSP被編譯的時候,就像普通的HTML代碼一樣,作為列印資訊存在於Servlet中,只有它混合著HTML被傳送到用戶端瀏覽器是,才最終被瀏覽器執行。
JavaScript語言雖然名稱中包含java,但其實與Java沒有什麼本質的聯絡,當初取這個名字也只是為了吸引更多眼球。JavaScript是一種動態、弱類型、基於原型的語言,結構較為自由鬆散;而Java是物件導向的程式設計語言,必須先進行編繹和串連等動作才可執行,結構較為嚴謹。在javaScript中,變數的定義和java不一樣,java裡面要詳細指明變數的類型,如:int a; int b = 10;而JavaScript中沒有這麼嚴格的申明要求,比較隨意,如var a; var b = 3; c = 8;等。熟悉java的人特別容易犯的錯誤是在JavaScript中寫for迴圈,寫成:for(int i=0; i<10; i++){} 這樣是不能被執行的,要去掉變數申明int,改成:for(i=0; i<10; i++){}。
總結如下:
指令碼語言 |
類型 |
被執行的位置 |
語言特點 |
主要用途 |
Java |
伺服器端指令碼語言 |
伺服器 |
結構自由鬆散 |
在用戶端對錶單輸入格式的校正 |
JavaScript |
用戶端指令碼語言 |
瀏覽器 |
結構較為嚴謹 |
進行商務邏輯的校正和控制 |
Java EE,又稱J2 EE(Java 2 Platform Enterprise Edition java平台企業版)。J2EEJ2EE是一系列技術標準所組成的平台 ,不僅僅是指一種標準平台,它更多的表達著一種軟體架構和設計思想。它包含了HTML,Java,JSP,JavaScript等各種網頁開發技術。