A. jsp是什麼干什麼的
JSP是由Sun Microsystems公司主導創建的一種動態網頁技術標准。
通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。
當有人請求JSP時,伺服器內部會經歷一次動態資源(JSP)到靜態資源(HTML)的轉化,伺服器會自動幫我們把JSP中的HTML片段和數據拼接成靜態資源響應給瀏覽器。也就是說JSP運行在伺服器端,但最終發給客戶端的都已經是轉換好的HTML靜態頁面(在響應體里)。伺服器並沒有把JSP文件發給瀏覽器。
(1)webjsp最終被運行的是擴展閱讀:
能以模板化的方式簡單、高效地添加動態網頁內容。可利用JavaBean和標簽庫技術復用常用的功能代碼。
標簽庫不僅帶有通用的內置標簽(JSTL),而且支持可擴展功能的自定義標簽。有良好的工具支持。繼承了Java語言的相對易用性。
B. JSP 頁面的執行過程包括哪些步驟
JSP執行過程,
1. 用戶請求JSP頁面(HTTP請求)
2. web server中的servlet容器發現URL中有JSP後綴, 就調用JSP容器來處理
3. 如果此頁面是第一次被請求, JSP容器要定位JSP頁面文件並解釋它,
解釋的過程包括: 將JSP源文件處理成servlet代碼(java), 以及編譯java文件生成servlet的call文件.
說明: JSP解釋器生成的servlet類是實現了java.servlet.jsp.HttpJspPate介面的類(由JSP容器提供)的一個子類, 這個servlet類叫做頁面實現類(JSP頁面實例);
4. JSP容器運行頁JSP頁面實例, 此時servlet(即JSP頁面實例)就會出來HTTP請求, 生成對於的HTTP響應並傳回給客戶端. 如果此頁面不是第一次被請求, 則跳過3, 直接跳到4.
5. 結束
C. JSP頁面是怎麼被執行的
關於JSP頁面的執行,有以下幾個步驟:
創建jsp頁面,將jsp頁面部署在tomcat/webapps目錄下或者tomcat/webapps子目錄下,並且啟動伺服器;
當客戶在第一次請求JSP頁面時JSP Engine(JSP引擎)將JSP網頁轉譯為Servlet,生成的文件保存在tomcat/work/Catalina/localhost下;
JSPC(jspc編譯器)對轉譯生成的Servlet編譯成Servlet.class,文件和Servlet在同一個文件夾下;
由伺服器訪問Servlet.class並且將對應內容響應給客戶
D. JSP頁面是在web伺服器上運行嗎
是的,JSP頁面顯示轉譯成servlet,然後再編譯成位元組碼文件(*.class),最後在java虛擬機上運行,而轉譯靠的是web伺服器.
第一次訪問JSP是比較慢的,就是因為jsp頁面先要轉譯成servlet,再編譯成class文件,最後虛擬機運行,而 第二次訪問同一jsp頁面就比較快了,省略了轉譯和編譯的過程,上一次編譯好的class文件直接在虛擬機上運行就可以了.
E. 請問JSP是什麼JSP與ASP有什麼區別
總的來講,JavaSever PagesTM(JSP)和 微軟的Active Sever Pages(ASP)在技術方面有許多相似之處。兩者都是為基於WEB應用實現動態交互網頁製作提供的技術環境支持。同等程度上來講,兩者都能夠為程序開發人員提供實現應用程序的編制與自帶組件設計網頁從邏輯上分離的技術。而且兩者都能夠替代CGI使網站建設與發展變的較為簡單與快捷。
盡管JavaSever Pages 技術和微軟的Active Sever Pages在許多方面都有相似的,但仍然存在很多不同之處,其中最本質上的區別在於:兩者是來源於不同的技術規范組織,其實現的基礎:WEB伺服器平台要求不相同。
一、 JSP 技術:開放的技術
JSP和ASP技術明顯的不同點:開發人員在對兩者各自軟體體系設計的深入了解的方式不同。JSP技術基於平台和伺服器的互相獨立,輸入支持來自廣泛的,專門的,各種工具包,伺服器的組件和資料庫產品開發商所提供。相比之下,ASP技術主要依賴微軟的技術支持。
1、 平台和伺服器的獨立性
JSP技術依附於一次寫入,之後,可以運行在任何具有符合JavaTM語法結構的環境。取而代之過去依附於單一平台或開發商,JSP技術能夠運行在任何WEB伺服器上並且支持來自多家開發商提供的各種各樣工具包。
由於ASP是基於Activex控制項技術提供客戶端和伺服器端的開發組件,因此ASP技術基本上是局限於微軟的操作系統平台之上。ASP主要工作環境是微軟的IIS應用程序結構,又因Activex對象具有平台特性,所以ASP技術不能很容易地實現在跨平台的WEB伺服器的工作。盡管ASP技術通過第三方提供的產品能夠得到組件和服務實現跨平台的應用程序,但是Activex對象必須事先放置於所選擇的平台中。
2、 開放的開發過程,開放的原代碼
SUN應用JAVA社團性過程開發JSP技術。自從1995年,SUN已經用這種開放過程方法同國際JAVA組織合作開發和修改了JAVA技術與規范。針對JSP的產品,SUN授權了工具提供商(如Macromedia),結盟公司(如Apache,Netscape),最終用戶,協作商及其他。最近,SUN將最新版本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET 2.2)的原代碼發放給Apache,以求JSP與Apache緊密的相互發展。Apache,SUN和許多其他的公司及個人公開成立一個健壯的咨詢機構以便任何公司和個人都能免費取得信息。(詳見:http://jakarta.apache.org)
JSP應用程序界面(API)毫無疑問已經取得成功,並將隨JAVA組織不斷開放擴大繼續完善。相反,ASP技術僅依靠微軟本身的推動,其發展是建立在獨占的,封閉的開發過程基礎之上。
ASP技術 JSP技術
WEB伺服器 微軟的IIS或個人WEB伺服器 任何WEB伺服器包括Apache,Netscape,和IIS
操作系統平台 微軟的視窗系統 絕大多數的流行平台,包括solaris操作系統,微軟的視窗系統,MAC OS,Linux,及其他UNIX系列平台產品
跨平台訪問 需要第三方ASP的引入產品 支持WEB信息機構環境中不同系列的計算機群即保證用戶在當前軟硬體及人力資源上的投資完全兼容,JSP技術提供靈活,開放選擇:可以使用各種各樣的工具提供商提供的工具,高度體現工業化標准輸入與配置
3、從開發人員的角度來看:ASP和JSP技術都能使開發者實現通過點擊網頁中的組件製作互動式的,動態的內容和應用程序的WEB站點。ASP僅支持組件對象模型COM,而JSP技術提供的組件都是基於JavabeansTM技術或JSP標簽庫。由此可以看出兩者雖有相同之處,但其區別是很明顯的。
1) JSP標簽可擴充性
盡管ASP和JSP都使用標簽與腳本技術來製作動態WEB網頁,JSP技術能夠使開發者擴展JSP標簽得以應用,JSP開發者能定製標簽庫,所以網頁製作者充分利用與XML兼容的標簽技術強大的功能,大大減少對腳本語言的依賴。由於定製標簽技術,使網頁製作者降低了製作網頁和向多個網頁擴充關鍵功能的復雜程度。
2) JSP跨平台的可重用性
JSP的開發人員在開發過程中一直關注可重用性。JSP組件(企業JavabeansTM,Javabeans,或定製的JSP標簽)都是跨平台可重用的。企業Javabeans組件可以訪問傳統的資料庫,並能以分布式系統模式工作於UNIX和WINDOWS平台。JSP技術的標簽可擴充功能為開發人員提供簡便的,與XML兼容的介面即共享網頁的打包功能使其完全的工業標准化。
這種基於組件的模式很有效提高應用程序的開發效率,因為這種模式能夠使開發人員利用快捷的子組件快速創建模板應用程序,然後再整合一些附加功能以後便可使用。象這樣有效的方法在JSP中無處不在,並可將其打包成一個Javabean或一個工業標准化的Javabean組件。
二、 JAVA的優越性
JSP技術是用JAVA語言作為腳本語言的,而ASP網頁使用微軟的VBScrip或Jscrip。JAVA是成熟的,強大的,易擴充的編程語言,遠優於基於BASIC的腳本語言。如:JAVA的可執行性優於VBScript或Jscript語言。因為它們利用JAVA技術並且都被編譯為JAVA Servlets,JSP網頁為整個伺服器端的JAVA庫單元提供了一個介面來服務於HTTP的應用程序。
JAVA使開發人員的工作在其他方面也變的一樣容易,簡單。例如,當ASP應用程序在WINDOWS NT系統被懷疑可能會崩潰時,JAVA能有效的防止系統的崩潰。JAVA語言通過提供防止內存的泄漏的方法,在內存管理方面也能大顯身手。加之,JSP為應用提供了健壯的意外事件處理機制。
1、 易於維護性
基於JSP技術的應用程序比基於ASP的應用程序易於維護和管理。
腳本語言都能很好服務於小的應用程序,但不能適應大型的,復雜的應用程序。因為,JAVA是結構化的,它比較容易創建和維護龐大的,組件化的應用程序。
JSP突出的組件技術使修改內容而不影響邏輯或修改邏輯而不影響內容變得很容易實現。
企業級的Javabeans結構整合了企業邏輯,例如資料庫的訪問,安全,事務完整性,及獨立性即獨立於應用程序。
因為JSP技術是一種開放的,跨平台的結構,因此,WEB伺服器,平台,及其他的組件能很容易升級或切換,且不會影響JSP基本的應用程序。這一特點使JSP能夠適用現實世界的各種WEB應用程序不斷的變化和發展。
ASP技術 JSP技術
可重用,跨平台組件 沒有JAVABEANS 企業級JAVABEANS,定製JSP標簽
安全:防範系統崩潰 沒有 有
內存泄露保護 沒有 有
腳本語言 VBSCRIPT,JSCRIPT JAVA
定製標簽 沒有 有
2、企業產品的多樣性
JAVA2平台即企業版(J2EE)是適用於多企業應用程序的JAVA結構,作為J2EE的部分,JSP網頁可訪問所有J2EE的組件,包括Javabeans,企業級Javabeans及JAVA Servlets。JSP網頁都能完全編譯成為Servlets,所以它們都享有靈活性的特點和為伺服器端JAVA應用程序。J2EE平台內容不僅包括管理復雜的企業應用程序而且包括事務管理技術和Pooling資源管理技術。
JSP網頁可以訪問標準的J2EE服務,包括:
? JAVA名稱和目錄界面API
? JDBCTM API(與關聯的資料庫通訊)
? JavaMailTM(支持基於JAVA郵件和消息應用程序的類)
? JAVATM 消息服務
通過J2EE,JSP網頁能夠用許多方式同企業系統交互訪問。J2EE支持兩種CORBA規范的技術:JAVA IDL和RMI-IIOP。在企業級JAVABEANS技術支持下,JSP網頁通過運用高級的,對象映射的方式訪問資料庫。
最終,因為JSP技術是基於JAVA的開放性過程的產品,因此它能夠廣泛支持不同提供商提供的工具,WEB伺服器和應用程序的服務,這樣能夠使用戶選擇最佳的開發方法,選擇最適應他們的應用程序開發的工具包,同時,有效地保護用戶在代碼和人員培訓上的投資。
ASP技術 JSP技術
兼容傳統的資料庫 可以(COM) 可以(用JDBC API)
集成數據源的能力 能工作在任何符合ODBC規范的資料庫 能工作在任何符合ODBC規范的資料庫,而且能訪問符合JDBC技術規范資料庫
組件 COM組件 JAVABEANS,企業級JAVABEANS或擴展的JSP標簽
擴展工具支持 有 有
---全文結束---
F. jsp文件最終被執行的是什麼文件
java,可以看伺服器,伺服器將他編譯成servlet了,可以給po主看一下
G. jsp的執行過程是怎樣的
JSP的執行過程
JSP的執行過程主要可以分為以下幾點:
客戶端發出請求。
Web容器將JSP轉譯成Servlet源代碼。
Web容器將產生的源代碼進行編譯。
Web容器載入編譯後的代碼並執行。
把執行結果響應至客戶端。
過程介紹
客戶端發出請求,請求為JSP,web容器就會找出相應的servlet進行處理。
將servlet轉成位元組碼文件。
將位元組碼文件載入到web容器里。
這時會在web容器里建立實例。
進行初始化。
通過service接受請求。
然後web容器會自動產生兩個對象servlet和service最後進行銷毀。
(7)webjsp最終被運行的是擴展閱讀:
JSP的運行原理
WEB容器(Servlet引擎)接收到以。jsp為擴展名的URL的訪問請求時,它將把該訪問請求交給JSP引擎去處理。Tomcat中的JSP引擎就是一個Servlet程序,它負責解釋和執行JSP頁面。
每個JSP頁面在第一次被訪問時,JSP引擎將它翻譯成一個Servlet源程序,接著再把這個Servlet源程序編譯成Servlet的class類文件,然後再由WEB容器(Servlet引擎)像調用普通Servlet程序一樣的方式來裝載和解釋執行這個由JSP頁面翻譯成的Servlet程序。
Tomcat 5.x把為JSP頁面創建的Servlet源文件和class類文件放置在「<TOMCAT_HOME>workCatalina<主機名><應用程序名>」目錄中,
Tomcat將JSP頁面翻譯成的Servlet的包名為org.apache.jsp.<JSP頁面在WEB應用程序內的目錄名>。
JSP規范也沒有明確要求JSP中的腳本程序代碼必須採用Java語言,JSP中的腳本程序代碼可以採用Java語言之外的其他腳本語言來編寫,但是,JSP頁面最終必須轉換成Java Servlet程序。
可以在WEB應用程序正式發布之前,將其中的所有JSP頁面預先編譯成Servlet程序。
H. javascript中的jsp會直接運行
jsp是先執行的在伺服器端;而javascript要到瀏覽器解釋html時才會執行。
先由web伺服器執行jsp文件,在此過程中javascript只被當成是普通文本,不會執行的。當web伺服器將生成的html文件返回給客戶端瀏覽器時,才會由瀏覽器執行javascript.
這兩者交互,就用jsp控制生成javascript代碼。
要注意其順序的問題。
I. jsp在Web伺服器上的運行過程是什麼
以jsp為例吧。
用戶向web伺服器以HTTP請求的形式請求資源。HTTP請求中有幾個重要的參數,一個是請求方法GET還是POST還是其它,請求的URL是Sample.jsp。
伺服器得到這些請求後對參數進行分析,如/Sample.jsp的URL請求,這個請求一般會映射一個jsp頁面或servlet,伺服器會把瀏覽器的HTTP請求打包提供給index.jsp來運行(注意,jsp最終會被編譯為可運行的類文件,它的任務是說明向瀏覽器發送什麼數據)
jsp或servlet運行的結果就是向瀏覽器回送一次HTTP回應,這個回應也包括一些參數和最後的正文,正文的內容就是html語言了。瀏覽器對html進行解釋,html正文里還有一些資源如如<img src="..." />,瀏覽器會再一次對伺服器進行請求,不過對於圖片這些靜態內容,伺服器是會直接返回的(不會經過jsp或servlet的)
一次完整的動態web交互就完成了 :HTTP請求-》伺服器處理-》HTTP回應
如果覺得這個是那麼回事就給點分撒,呵呵
J. JSP:JSP的運行過程是怎樣的,樹上說先轉換成Servlet再變.class..不明白這個過程
jsp是文本文檔,他不可以直接運行。它需要通過應用伺服器,如websphere、tomcat之類的應用伺服器編譯成class類才能執行。如我們訪問a.jsp,tomcat會把a.jsp生成a_jsp.java並編譯成a_jsp.class類,如果編譯失敗,即會報500錯誤,如果編譯成功,則運行a_jsp.class類,a_jsp.class類的作用就是輸出a.jsp上的動態html代碼