JavaWeb js與jsp的區別

最近很多同學在糾結於名詞縮寫之間的相似性,因此本人也來寫一篇,講講JS和JSP的區別。


SUN首先發展出SERVLET,其功能比較強勁,體系設計也很先進,只是,它輸出HTML語句還是採用了老的CGI方式,是一句一句輸出,所以,編寫和修改HTML非常不方便。 後來SUN推出了類似於ASP的鑲嵌型的JSP,把JSP TAG鑲嵌到HTML語句中,這樣,就大大簡化和方便了網頁的設計和修改。


JSP全名爲Java Server Pages,其根本是一個簡化的Servlet設計,他實現了Html語法中的java擴張(以 <%, %>形式)。JSP與Servlet一樣,是在服務器端執行的。通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然後將執行結果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數據庫、重新定向網頁等,以實現建立動態網頁所需要的功能。


JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以後對這些Java代碼進行處理,然後將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點。


jsp 要先翻譯,注意是翻譯成servlet才能執行:
比如 test.jsp 要變成 test_jsp.java 然後編譯成 test_jsp.class
而 test_jsp.java 本身就是一個servlet.
所以 jsp只是servlet的一個變種,方便書寫html內容纔出現的。
servlet是根本,所有jsp能做的,servlet全能做。

servlet的運行機制和Applet類似,只不過它運行在服務器端。一個servlet是javax.servlet包中HttpServlet類的子類,由支持servlet的服務器完成該子類的對象,即servlet的初始化。

擴展閱讀0:jsp轉化爲servlet的過程:

http://www.w3cschool.cc/jsp/jsp-architecture.html

擴展閱讀1:servlet版的Helloworld(需要裝tomcat,我通常使用XAMPP集成的tomcat)

http://blog.163.com/adoom_2010/blog/static/1820326362011710102719527/

擴展閱讀2:servlet程序中的各部分的作用、調用順序

http://wenku.baidu.com/link?url=U2B6Gx_C1X702ppIFJdXR23MyY85lZzJeneIDZSFCuA3bZ-ynwDFx9oYm4pNcpa4ZjmlUPnkrtwkHg0skxdo3mqOY-IAvXzzYqaCOc7DVmW


JS是Java Script 的縮寫,是一種基於對象的客戶端腳本語言。主要目的是爲了解決服務器端語言,比如Perl,遺留的速度問題,爲客戶提供更流暢的瀏覽效果。JS可以直接嵌入到html代碼中進行解析執行,非常簡單易學,可以產生很多動態的效果。

擴展閱讀:http://www.w3school.com.cn/js/


簡單地說——JS是在客戶端執行的,需要瀏覽器支持Javascript。JSP是在服務器端執行的,需要服務器上部署支持Servlet的服務器程序。JS代碼是能夠直接從服務器上download得到,對外是可見的,jsp(和翻譯後的servlet)代碼是對外不可見的。

JS與JavaScript相比:雖然JavaScript可以在客戶端動態生成HTML,但是很難與服務器交互,因此不能提供複雜的服務,比如訪問數據庫和圖像處理等等。JSP在HTML中用<%%>裏面實現。JS在html中用<Script></Script>實現
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章