jsp頁面編譯-ag真人国际官网
可能大多數jsp開發員在寫完程序測試通過後,不太會關注jsp生成的java文件,其實,通過java代碼,更能體現程序代碼的真正含義,對進一步研究程序代碼的後台運行情況是非常有幫助的。例如,用jsp編寫代碼時,有時候用<%! %>,有時候用<% %>,加不加感嘆號,(jsp代碼加感嘆號與不加感嘆號的區別)這類問題在教程里一般不會涉及到,從這里找到問題的突破口——jsp生成的java文件!所以,對於jsp開發,有必要知道這點技能。
(1):對於tomcat而言,jsp頁面生成的java文件放在work路徑對應的web應用下。例如:
d:/tomcat5.5/webapps/test/test.jsp
生成對應的java文件
d:/tomcat5.5/work/standalone/localhost/test/
對於resin而言,jsp頁面生成的java文件放在web-inf/work路徑對應的web應用下。例如:
d:/resin3.1.6/webapps/test/demo/test.jsp
生成對應的java文件
d:/resin3.1.6/web-inf/work/_demo/_test.java/
(2):jsp與servlet的關系
1、jsp文件必須在jsp伺服器內運行。
2、jsp文件必須生成servlet才能執行。
3、每個jsp頁面的第一個訪問者速度很慢,因為必須等待jsp編譯成servlet。
4、jsp頁面的訪問者無須安裝任何客戶端,甚至不需要可以運行java的運行環境,因為jsp頁面輸送到客戶端的是標准html頁面。
5、jsp頁面的靜態內容、jsp腳本都會轉換成servlet的xxxservice()方法,類似於自行創建servlet時service()方法。
6、jsp聲明部分,轉換成servlet的成員部分。所有jsp聲明部分可以使用private,protected,public,static等修飾符,其他地方則不行。
7、jsp的輸出表達式(<%= ..%>部分),輸出表達式會轉換成servlet的xxxservice()方法里的輸出語句。
8、九個內置對象要麼是xxxservice()方法的形參,要麼是該方法的局部變數,所以九個內置對象只能在jsp腳本和輸出表達式中使用。
從上述第5、6點,其實就可以解釋jsp代碼加感嘆號與不加感嘆號的區別的問題。
(3):在tomcat下指定jsp生成的java文件路徑:
當需要自定義jsp生成的java文件位置時,可以通過如下兩種方法來實現:
方法1.在tomcat的配置文件server.xml(路徑:tomcat路徑\conf下面)里,找到:
方法2.到conf/catalina/localhost下找到你項目的.xml培植文件,找到方法1中的代碼,後續操作同方法1.
(4):保留weblogic 中jsp編譯後生成的java文件:
在weblogic.xml中加入:
看看web應用在weblogic中生成臨時文件中,有java文件了。
⑵ 請問什麼是jsp,有這種編程語言嗎
當然有~~~
jsp(javaserver pages)是由sun microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標准。jsp技術有點類似asp技術,它是在傳統的網頁html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp標記(tag),從而形成jsp文件(*.jsp)。
web伺服器在遇到訪問jsp網頁的請求時,首先執行其中的程序段,然後將執行結果連同jsp文件中的html代碼一起返回給客戶。插入的java程序段可以操作資料庫、重新定向網頁等,以實現建立動態網頁所需要的功能。
jsp與java servlet一樣,是在伺服器端執行的,通常返回該客戶端的就是一個html文本,因此客戶端只要有瀏覽器就能瀏覽。
jsp的1.0規范的最後版本是1999年9月推出的,12月又推出了1.1規范。目前較新的是jsp1.2規范,jsp2.0規范的徵求意見稿也已出台。