weblogicjsp編譯
㈠ JSP編譯後生成什麼及生成後在哪裡
編譯後生成.class文件,在web-inf/classes目錄中
㈡ jsp為什麼會編譯一次
你先熟悉一下jsp 的工作原理吧,
在一個JSP文件第一次被請求時,JSP引擎把該JSP文件轉換成為一個servlet。而這個引擎本身也是一個servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。 JSP引擎先把該JSP文件轉換成一個java源文件,在轉換時如果發現jsp文件有任何語法錯誤,轉換過程將中斷,並向服務端和客戶端輸出出錯信息;如果轉換成功, JSP引擎用javac把該Java源文件編譯成相應的class文件。然後創建一個該SERVLET的實例,該SERVLET的jspInit()方法被執行,jspInit()方法在servlet的生命周期中只被執行一次。然後jspService()方法被調用來處理客戶端的請求。對每一個請求,JSP引擎創建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創建多個線程。每個客戶端請求對應一個線程。以多線程方式執行可大大降低對系統的資源需求,提高系統的並發量及響應時間.但應該注意多線程的編程限制,由於該servlet始終駐於內存,所以響應是非常快的。如果.jsp文件被修改了,伺服器將根據設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結果取代內存中的servlet,並繼續上述處理過程。雖然JSP效率很高,但在第一次調用時由於需要轉換和編譯而有一些輕微的延遲。此外,如果在任何時候如果由於系統資源不足的原因,JSP引擎將以某種不確定的方式將servlet從內存中移去。當這種情況發生時jspDestroy()方法首先被調用, 然後servlet實例便被標記加入"垃圾收集"處理。 jspInit()及jspDestory()格式如下:可在jspInit()中進行一些初始化工作,如建立與資料庫的連接,或建立網路連接,從配置文件中取一些參數等,在jspDestory()中釋放相應的資源
㈢ weblogic為什麼每訪問一次重新編譯一次JSP
正常的話應該是在FWQ重新啟動的第一次訪問時編譯,再訪問就不用編譯了
你應該是配置上有問題吧
㈣ weblogic編譯jsp錯誤
<c:if test="${ not empty backlogs }"> jstl包有沒有,注意標點
㈤ Jsp(或Weblogic)高手請進!!!
就讓它14吧.
1,可能你後台接受到這個dshzh的數據後是把它放到一個數組中,你改成20後,那個數組只接受14位的,就是int[14]不能保持20位,所以越界了.
2,你最種要保持到資料庫中,資料庫中長度也14varchar(14),所以還是不行.
總之,就是別改.
㈥ weblogic服務下 ,war包裡面新增JSP文件,啟動不生效
伺服器不會編譯代碼的,你必須修改之後,然後eclipse或者其他工具編譯,完了之後在打成war包丟到伺服器上面去
㈦ 正式環境部署 weblogic 應用的時候報的jsp編譯錯誤
檢查提示的那個類,應該是有問題的
㈧ 怎樣查看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文件了。
㈨ jsp源代碼的編譯
jsp 是一個 內容生成與表示分離的技術,他實際還是一個Servlet .
JSP程序要運行於特定的Web伺服器中,例如Tomcat、WebLogic Server。
每次訪問JSP時,伺服器會把JSP程序編譯為一個Java類,這個Java類有特定的名稱,即Servlet.
