本文目錄一覽:
- 1、如何編譯jsp
- 2、為什麼第一次請求JSP頁面時,響應速度比較慢?
- 3、myeclipse不能制動編譯JSP文件
- 4、怎樣查看Jsp編譯後生成的Java文件
- 5、為什麼JSP頁面第一次被訪問時會有訪問延遲?有什麼辦法解決這個問題
- 6、為什麼現在大型的網站都採用jsp?
如何編譯jsp
保存時選文件類型選”所有文件”,
然後文件名要加上”.jsp”,
如果你只有一個jsp文件的話,
放到tomcat的webapps下的root下,
然後啟動tomcat,
然後在瀏覽器運行
為什麼第一次請求JSP頁面時,響應速度比較慢?
因為第一次請求JSP時,服務器把JSP文件編譯成.java文件和html文件保存在work\Catalina\localhost\工程名\這個目錄下,在第二次請求的時候,系統直接執行編譯後.java文件和html文件,不需要編譯從而提高速度!
myeclipse不能制動編譯JSP文件
1、首先打開Myeclipse,找到要編譯的Web項目,如果編譯的項目中修改的是jsp之類的文件只需要刷新即可,如果修改了類文件,那就需要進行編譯了。當然沒有修改也可以重新編譯的。
2、找到project點擊clean,就會彈出選擇要編譯的項目,也可以全部編譯,但是沒有必要還是只編譯要修改的項目,不然會有點慢。點擊ok就會自動編譯,就會看到右下角會有正在編譯的提示,等編譯完成以後才可以。
3、等這個編譯進度完成以後,記住要刷新一下項目不然又一些在啟動服務的時候會報錯的,現在你在看服務器下的項目的文件夾,此時項目文件夾的日期就是當前的日期了,也就是編譯的日期。
4、等刷新完以後,把項目部署到服務上就是編譯以後的項目了。
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-INF中建立一個weblogic.xml文件。增加
看看web應用在Weblogic中生成臨時文件中,有Java文件了。
為什麼JSP頁面第一次被訪問時會有訪問延遲?有什麼辦法解決這個問題
JSP其實就是一個servlet,在用servlet編寫動態網頁時,由於程序中包含有大量的html代碼需要使用輸出語句一句一句的輸出,使程序在編寫時特別麻煩,於是人們便想方法使servlet語句嵌入到html代碼中,而不是將html語句嵌入到servlet中,同時JSP中添加了九個內置對象使編程方便了很多。由於JSP就是servlet所以在訪問JSP頁面時會將JSP頁面先轉變成servlet然後再編譯,自然就拉長了訪問的時間。正所謂磨刀不誤砍柴工,雖然在第一次訪問上時間變長了,但卻在別的方面大大的提高了效率。
為什麼現在大型的網站都採用jsp?
ASP全名Active Server Pages,是一個WEB服務器端的開發環境,利用它可以產生和執行動態的、互動的、高性能的WEB服務應用程序。ASP採用腳本語言VBScript(Java script)作為自己的開發語言。
PHP是一種跨平台的服務器端的嵌入式腳本語言。它大量地借用C,Java和Perl語言的語法, 並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態產生頁面。它支持目前絕大多數數據庫。還有一點,PHP是完全免費的,不用花錢,你可以從PHP官方站點(http: //)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。
JSP是Sun公司推出的新一代網站開發語言,Sun公司藉助自己在Java上的不凡造詣,將Java從Java應用程序和Java Applet之外,又有新的碩果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。
ASP,PHP,JSP 三中語言執行速度JSP最快
PHP和JSP是跨平台語言,移植性比較好
ASP和PHP都是解釋性語言,服務器讀一句,執行一句,而JSP是編譯性語言,第一次編譯速度慢一點,以後再訪問速度就快很多了
JSP是面向對象編程語言,代碼的重用率高,維護方便
PHP缺乏規模支持。其次,缺乏多層結構支持。對於大負荷站點,解決方法只有一個:分布計算。數據庫、應用邏輯層、表示邏輯層彼此分開,而且同層也可以根據流量分開,群組成二維數組。而PHP則缺乏這種支持。還有上面提到過的一點,PHP提供的數據庫接口支持不統一,這就使得它不適合運用在電子商務中
ASP和JSP則沒有以上缺陷,ASP可以通過Microsoft Windowsd的COM/DCOM獲得ActiveX規模支持,通過DCOM和Transcation Server獲得結構支持;JSP可以通過SUN Java的Java Class和EJB獲得規模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結構支持。三者中,JSP應該是未來發展的趨勢。世界上一些大的電子商務解決方案提供商都採用JSP/Servlet。比較出名的如IBM的E-business,它的核心是採用JSP/Servlet的Web Sphere。它們都是通過CGI來提供支持的。但去年10月後它推出了Enfinity,一個採用JSP/Servlet的電子商務Application Server,而且聲言不再開發傳統軟件。
========================================
雪鹿中國
專業提供各類域名註冊、網站推廣、各種虛擬主機租用、服務器整機租用、 服務器託管、網頁製作以及網站開發等服務!
域名,虛擬主機擁有獨立的WEB管理程序,使用管理方便。
國際英文域名 65元/年
國內英文域名 80元/年
HTML空間100M 120元/年
ASP空間100M 180元/年
QQ:8317158
原創文章,作者:YRJFA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127363.html