名字:
JS:JavaScript
JSP:Java Server Pages
執行過程:JSP先翻譯,翻譯成Servlet執行
如: test.jsp 要變成 test_jsp.java 然后編譯成 test_jsp.class
而 test_jsp.java 本身就是一個servlet.
所以 jsp只是servlet的一個變種,方便書寫html內容才出現的。
servlet是根本,所有jsp能做的,servlet全能做。
JS:是一種基於對象的客戶端腳本語言。目的是解決服務器端語言。
如:Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。
JS可以直接嵌入到html代碼中進行解析執行,
非常簡單易學,可以產生很多動態的效果。
形象比較:JS是在客戶端執行的,需要瀏覽器支持JavaScript。JSP是在服務器端執行的,
需要服務器上部署支持Servlet的服務器程序。JS代碼能夠直接從服務器
上download得到,對外是可見的,jsp(和翻譯后的Servlet代碼)是對外不可見的。
JS和JSP相比較:雖然JS可以再客戶端動態生成HTML,但是很難與服務器交互,因此不能提供復雜
的服務。
如:訪問數據庫和圖像處理等等。
JSP在HTML中用<% %>里面實現。JS在HTML中用<Scrippt></Script>實現。
執行過程:
JSP:
1、JSP文件在用戶第一次請求時,會被編譯成Servlet,然后由這個Servlet處理
用戶的請求,所以Servlet可以看成是運行時的Servlet。
2、JSP容器也就是Servlet容器管理JSP頁面生命周期分為兩個階段,即轉換階段和執行階段。
3、轉換階段:當有一個對JSP頁面的請求到來時,JSP容器檢查JSP頁面的語法是否正確,將JSP頁面
轉換為Servlet源文件,然后調用javac命令編譯Servlet源文件生成字節碼文件。
4、執行階段:Servlet容器加載轉換后的Servlet類。
JS:
JavaScript 通常是運行在前台,即運行於用戶瀏覽器的,通常不需要服務器的后台支持(AJAX交
互例外),混合在HTML中的JavaScript腳本程序直接被瀏覽器解釋執行,以提高頁面的美觀性和
UI操作響應速度為基本目標。(運行位置的不同)
運行位置不同:
JSP運行在后台服務器上,混合在HTML中的java程序段用於控制HTML的動態生成,並且通常負責調用后台
數據庫中的數據,形成能夠根據使用情況的變化的,具有豐富數據交互效果的頁面。