jsp編譯後
1. jsp編譯後文件位置在哪裡
在javaweb項目文件夾裡面的bin文件夾裡面,源代碼在src文件夾
2. JSP編譯後生成什麼及生成後在哪裡
編譯後生成.class文件,在web-inf/classes目錄中
3. 17. JSP被伺服器編譯後的後綴名是( ) A、 .class B、 .java C、 .jsp D、 .servlet
A .class .java源文件編譯後的位元組碼文件
B.java Java源代碼文件,Java程序與JSP的底層機制
C.jsp JSP網頁文件,客戶端表示層
D.servlet 無此擴展名,servlet實質就是一個Java類,經編譯成.class文件後通過Web容器執行
4. jsp頁面編譯後的servlet是否常駐內存
你定義的i前面有個嘆號,那個意思是這個變數是類范圍的,你可以理解成一個靜態變數。只要你的頁面不修改而導致重新編譯。這個變數是常駐內存的。
1、使用這種方式本身就不是很保險的方式 ,如果伺服器重新啟動,這個計數會丟失的。
2、關於壓力問題,在這里不算什麼,對伺服器沒有什麼影響。
3、如果真是大型網站,最好不要用這樣的方法,可以採用第三方的計數,或者保存在資料庫里。
5. 怎樣查看Jsp編譯後生成的Java文件
可能大多數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下面)里,找到:<Context docBase="D:/workspace/icinfo/trunk/web" path="" reloadable="false" debug="0" crossContext="true" workDir="D:/workspace/icinfo/trunk/web/WEB-INF/lib/CommonPKI/META-INF/work"/>,添加如上的workDir=""屬性,""里寫你的要看到.java/.class的路徑.
方法2.到conf/Catalina/localhost下找到你項目的.xml培植文件,找到方法1中的代碼,後續操作同方法1.
(4):保留Weblogic 中Jsp編譯後生成的Java文件:
在weblogic.xml中加入:
看看web應用在Weblogic中生成臨時文件中,有Java文件了。
6. resin 中jsp 編譯之後的java文件在哪裡
resin 中jsp 編譯之後的java文件位置:
對於Resin而言,JSP頁面生成的Java文件放在WEB-INF/work路徑對應的Web應用下。
例如:
resin的安裝路徑/webapps/test/demo/test.jsp
生成對應的java文件
resin的安裝路徑/WEB-INF/work/_demo/_test.java/
7. jsp文件編譯成java文件後保存在哪個文件夾
根據具體情況會稍微有點差別,如果在ROOT目錄中
Tomcat5.0\work\Catalina\localhost\_\org\apachc\jsp目錄
如果再給出的目錄中
Tomcat5.0\work\Catalina\localhost\_\org\apachc\jsp\給出目錄
8. jsp頁面經過轉譯後將創建一個什麼文件
jsp頁面經過編譯後會變成一個java文件,最後會變成一個class文件在jvm中運行。
瀏覽器首先要請求一個以.jsp擴展名結尾的頁面,發起JSP請求,然後,Web伺服器讀取這個請求,使用JSP編譯器把JSP頁面轉化成一個Servlet類。需要注意的是,只有當第一次請求頁面或者是JSP文件發生改變的時候JSP文件才會被編譯,然後伺服器調用servlet類,處理瀏覽器的請求。一旦請求執行結束,servlet會把響應發送給客戶端。
9. 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
10. 關於jsp被tomcat編譯後的網頁出現漢字亂碼。
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
然後用記事本打開該jsp文件,另存為,選擇編碼為UTF-8。