websphere編譯jsp生成的java類放在Tomcat的安裝目錄的“Tomcat 6.0\work\Catalina\localhost”目錄下,里面存放的均是由jsp轉換成的java文件,具體的存放位置是“項目名\org\apache\jsp”該目錄下存放的是項目中所有jsp所轉換的java文件。
成都創新互聯服務緊隨時代發展步伐,進行技術革新和技術進步,經過10余年的發展和積累,已經匯集了一批資深網站策劃師、設計師、專業的網站實施團隊以及高素質售后服務人員,并且完全形成了一套成熟的業務流程,能夠完全依照客戶要求對網站進行網站建設、成都網站設計、建設、維護、更新和改版,實現客戶網站對外宣傳展示的首要目的,并為客戶企業品牌互聯網化提供全面的解決方案。
在jsp和class文件中調用的相對路徑不同。 在jsp里,根目錄是WebRoot 在class文件中,根目錄是WebRoot/WEB-INF/classes 當然你也可以用System.getProperty("user.dir")獲取你工程的絕對路徑。
另:在Jsp,Servlet,Java中詳細獲得路徑的方法。
1.jsp中取得路徑:
以工程名為TEST為例:
(1)得到包含工程名的當前頁面全路徑:request.getRequestURI()
結果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
結果:/TEST
(3)得到當前頁面所在目錄下全名稱:request.getServletPath()
結果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp
(4)得到頁面所在服務器的全路徑:application.getRealPath("頁面.jsp")
結果:D:\resin\webapps\TEST\test.jsp
(5)得到頁面所在服務器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
結果:D:\resin\webapps\TEST
2.在類中取得路徑:
(1)類的絕對路徑:Class.class.getClass().getResource("/").getPath()
結果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路徑:System.getProperty("user.dir")
結果:D:\TEST
3.在Servlet中取得路徑:
(1)得到工程目錄:request.getSession().getServletContext().getRealPath("") 參數可具體到包名。
結果:E:\Tomcat\webapps\TEST
(2)得到IE地址欄地址:request.getRequestURL()
結果:
(3)得到相對地址:request.getRequestURI()
結果:/TEST/test
可能大多數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-INF中建立一個weblogic.xml文件。增加
看看web應用在Weblogic中生成臨時文件中,有Java文件了。
名稱欄目:jsp的java代碼路徑 jsp構建路徑
URL分享:http://vcdvsql.cn/article20/doodpjo.html
成都網站建設公司_創新互聯,為您提供App開發、網站內鏈、品牌網站設計、微信小程序、商城網站、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯