導航:首頁 > 源碼編譯 > jsp編譯規范

jsp編譯規范

發布時間:2022-05-16 23:04:49

『壹』 jsp源代碼的編譯

jsp 是一個 內容生成與表示分離的技術,他實際還是一個Servlet .

JSP程序要運行於特定的Web伺服器中,例如Tomcat、WebLogic Server。
每次訪問JSP時,伺服器會把JSP程序編譯為一個java類,這個Java類有特定的名稱,即Servlet.

『貳』 jsp編譯過程是什麼樣的

每一個JSP頁面都會被Web容器編譯成一個Java類,供web容器調用,並且生成HTML葉面回饋給用戶。而了解其中的變異方法和規則,對我們學習JSP是非常有好處的,可以說學習好了這個編譯原理,就已經學習好了大部分的JSP知識,剩下的工作就只剩下熟記一些tablib和反復應用以使自己更加熟練而已了JSP會被編譯成.java放Tomcat/work/Catalina/localhost/***/org/apache/jsp/page
然後編譯成.classjsp = java + html
servlet = java + out.print(html)

1.客戶端發送請求給web容器
2.web容器將jsp首先轉譯成servlet源代碼
3.web容器將servlet源代碼編譯成.class 文件
4.web容器執行.class 文件
5.web容器將結果響應給客戶端
第二個問題,會.
參考資料: http://blog.csdn.net/susiefjd/article/details/1540782

『叄』 jsp如何編譯

下載tomcat
將在tomcat/webapps/
下建立文件夾如test
將file.jsp放入test下
tomcat的bin目錄中打開startup(開伺服器)
再打開IE
輸入http://localhost:8080/test/file.jsp
一般就可以了

如果是servlet 的話
還要編寫web.xml部署
具體的你找書看吧

『肆』 寫了jsp網頁怎麼編譯

jsp網頁無需手動編譯,由支持jsp的web伺服器自動解釋執行,現在流行的支持jsp的伺服器是tomcat,最簡單的就是:把一個完成的jsp網頁放在 C:\Program Files\Tomcat 5.0\webapps\ROOT 目錄下,啟動tomcat,在地址欄中輸入http://localhost:8080/文件名.jsp 就可以了。其中localhost代表本機ip地址,8080代表默認埠。

『伍』 JSP頁面中,被include進來的頁面有什麼要求或規范

jsp中include有兩種形式,分別是

%@ include file=」 」%>

jsp:include page=」 」 flush=」true」/>

前者是指令元素、後者是行為元素。具體它們將在何處用?如何用及它們有什麼區別?這應該是很多人看到它都會想到的問題。下面一起來看看吧。

通常當應用程序中所有的頁面的某些部分(例如標題、頁腳和導航欄)都相同的時候,我們就可以考慮用include。具體在哪些時候用 %@ include file=」 」%>,哪些時候用 jsp:include page=」 」 flush=」true」/>.這種形式。首先要明白的是它們之間的區別。只有了解了它們用法的不同才理解該在何時去用以及如何選擇。

%@ include file=」 」%>,jsp的include指令元素讀入指定頁面的內容。並把這些內容和原來的頁面融合到一起。(這個過程是在翻譯階段:也就是jsp被轉化成servlet的階段進行的。

這里對翻譯階段進行一下說明:我們知道,jsp頁面不能原封不動地被傳送給瀏覽器,所有的jsp元素都必須首先由伺服器進行處理。這是通過將jsp頁面轉達化成servlet,然後執行這個servlet來完成的。伺服器需要一個jsp容器來處理jsp頁面。jsp容器通常以servlet的形式來實現,這個servlet經過配置,可以處理對jsp頁面的所有請求。

Jsp容器負責將jsp頁面轉化成servlet(稱為jsp頁面實現類?JSP Page implementation class),並編譯這個servlet。這兩步就構成了翻譯階段.

由此我們就會知道:jsp頁面是把include指令元素所指定的頁面的實際內容(也就是代碼段)加入到引入它的jsp頁面中,合成一個文件後被jsp容器將它轉化成servlet。可以看到這時會產生一個臨時class文件和一個java文件。下面舉個例子。

伺服器用tomcat,引入頁面的jsp文件叫test.jsp。被引入的頁面叫date.jsp.這個jsp文件里存放的是一個有關時間的jsp代碼,當前的上下文根設為test

//======date.jsp的源文件=====//

<%
java.util.Date date=new java.util.Date();
String date_cn ="";
String dateStr = "";
switch(date.getDay())
{
case 0:date_cn ="日"; break;
case 1:date_cn ="一"; break;
case 2:date_cn ="二"; break;
case 3:date_cn ="三"; break;
case 4:date_cn ="四"; break;
case 5:date_cn ="五"; break;
case 6:date_cn ="六"; break;
}
dateStr = (1900+date.getYear())+"年"+(date.getMonth()+1)+"月"+date.getDate()+
"日(星期" + date_cn + ")";
%>
document.write("");
//======以下是test.jsp的源文件=============//

這種形式得到的結果.

下面我們換用 jsp:include page=」dae.jsp」 flush=」true」/>也就是將

%@ include file=」date.jsp」%>換成 jsp:include page=」dae.jsp」 flush=」true」/>,然後請求test.jsp.

2003? ê 12??10?? 13:30:13

有關jsp中include的兩種用法.敬請關注。

此時會在頁面上看見.我們所引入date.jsp輸出的日期中中文出現了亂碼.什麼原因?是因為include行為元素是在請求處理階段執行的(此處要對請求處理階段進行說明一下.Jsp容器除了上面提到的負責將jsp頁面轉化成servlet外,還負責調用jsp頁面實現類以處理每個請求並產生應答.這個階段我們就稱為請求處理階段.請求處理階段僅執行類文件)。

所以在我們作include行為元素引入頁面時,實際只是引用了date.jsp這個文件被轉化並被編譯後產生的servlet類文件.既如此, date.jsp就是作為一個單獨的文件在執行後才被test.jsp文件運行時調用.由於date.jsp文件中沒有指定字元編碼.所以出現了亂碼.解決辦法是在date.jsp文件中重新把剛才去掉的

這行語句加入後刷新重新運行.此時頁面顯示正確,並跟用include指令正常運行時一樣.再查看tomcat下的臨時文件會發現.此時多出了一個 date_jsp.java文件和一個date_jsp.class文件.這兩個文件得來的方式跟test_jsp.java和 test_jsp.class文件得來的方式一樣.再查看一下此時test_jsp.java文件的代碼會發現.此時只新增加了一句代碼:

JspRuntimeLibrary.include(request, response, "date.jsp", out, true);

它並沒有把date.jsp文件的代碼加入到test.jsp.

只是在運行時引入了date.jsp頁面執行後所產生的應答.這意味著我們可以指定任何能夠產生應答的Web資源,(例如一個servlet或一個jsp頁面),只要這些資源所產生的類型和jsp頁面產生的內容類型相同.JSP容器將通過一個內部的函數調用來執行指定的資源.因此,這些被引入的資源可以幫助處理原來的請求,所以這些資源可以訪問請求作用域內的所有對象.以及所有原來的請求參數.

由於在主頁面被請求時,這些頁面還沒有被引入到主頁面中,所以你可以對page屬性使用一個請求時屬性值,以便根據運行時的情況來決定要引入哪一個頁面.還可以添加一些將被引入的頁面讀取的請求參數.

<jsp:include page=」」 flush=」true」 >

如果修改了被引入的jsp頁面,那麼可以立刻使用該頁面的最新版本,這是因為對待被引入的頁面的方式與對待由瀏覽器直接調用的jsp頁面的方式完全相同.即容器檢測頁面的變化,並自動進入翻譯階段,以得到頁面的最新版本.

(注意,include行為元素同jsp其它元素一樣,沒有行為體時要以」/」結束.就像下面這樣.

jsp:include page=」」 flush=」true」 />

以下是對include 兩種用法的區別

主要有兩個方面的不同;

1.執行時間上:

%@ include file=」relativeURI」%> 是在翻譯階段執行

jsp:include page=」relativeURI」 flush=」true」 /> 在請求處理階段執行.

2.引入內容的不同:

%@ include file=」relativeURI」%>

引入靜態文本(html,jsp),在JSP頁面被轉化成servlet之前和它融和到一起.

jsp:include page=」relativeURI」 flush=」true」 />引入執行頁面或servlet所生成的應答文本.

『陸』 jsp的執行過程是怎樣的

JSP的執行過程

JSP的執行過程主要可以分為以下幾點:

客戶端發出請求。

Web容器將JSP轉譯成Servlet源代碼。

Web容器將產生的源代碼進行編譯。

Web容器載入編譯後的代碼並執行。

把執行結果響應至客戶端。

過程介紹

客戶端發出請求,請求為JSP,web容器就會找出相應的servlet進行處理。

將servlet轉成位元組碼文件。

將位元組碼文件載入到web容器里。

這時會在web容器里建立實例。

進行初始化。

通過service接受請求。

然後web容器會自動產生兩個對象servlet和service最後進行銷毀。

(6)jsp編譯規范擴展閱讀:

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類文件放置在「&lt;TOMCAT_HOME&gt;workCatalina&lt;主機名&gt;&lt;應用程序名&gt;」目錄中,

Tomcat將JSP頁面翻譯成的Servlet的包名為org.apache.jsp.&lt;JSP頁面在WEB應用程序內的目錄名&gt;。

JSP規范也沒有明確要求JSP中的腳本程序代碼必須採用Java語言,JSP中的腳本程序代碼可以採用Java語言之外的其他腳本語言來編寫,但是,JSP頁面最終必須轉換成Java Servlet程序。

可以在WEB應用程序正式發布之前,將其中的所有JSP頁面預先編譯成Servlet程序。

『柒』 JSP是什麼

JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計,它是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標准。

JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標准通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名為(*.jsp)。 用JSP開發的Web應用是跨平台的,既能在Linux下運行,也能在其他操作系統上運行。

一個JSP頁面可以被分為以下幾部份:靜態數據、JSP指令、JSP腳本元素和變數、JSP動作、用戶自定義標簽。

(7)jsp編譯規范擴展閱讀:

JSP技術是使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯。

JSP將網頁邏輯與網頁設計的顯示分離,支持可重用的基於組件的設計,使基於Web的應用程序的開發變得迅速和容易。 JSP(JavaServer Pages)是一種動態頁面技術,它的主要目的是將表示邏輯從Servlet中分離出來。

閱讀全文

與jsp編譯規范相關的資料

熱點內容
汽車小壓縮機拆解 瀏覽:825
雲桌面卡是因為伺服器的原因嗎 瀏覽:377
qd123壓縮機 瀏覽:969
pn532讀取加密門禁卡 瀏覽:85
win10文件夾屬性里無法加密 瀏覽:34
比特幣加密的條件 瀏覽:848
求購現成影視app源碼 瀏覽:572
wdsecurity加密版 瀏覽:813
雲伺服器和雲豐雲 瀏覽:188
伺服器如何設置獨立ip 瀏覽:857
tar命令打包文件夾 瀏覽:1000
刪除linux用戶和組 瀏覽:548
小米的程序員都用什麼筆記本 瀏覽:703
位元組三面演算法題 瀏覽:971
伺服器保護有什麼好處 瀏覽:894
全部下載完後進行統一解壓 瀏覽:393
遠嫁的程序員媽媽 瀏覽:555
1024程序員節安全攻防挑戰賽 瀏覽:786
怎麼解除txt加密 瀏覽:772
javahttp流 瀏覽:656