導航:首頁 > 編程語言 > jsp修改文件時間

jsp修改文件時間

發布時間:2023-12-23 17:09:57

jsp的工作原理

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()中釋放相應的資源。

<%!
public void jspInit()
{
System.out.println("jspinit");
}

%>

<%!
public void jspDestory()
{
System.out.println("jspDestory");
}
%>

㈡ jsp的執行過程是怎樣的

JSP的執行過程

JSP的執行過程主要可以分為以下幾點:

客戶端發出請求。

Web容器將JSP轉譯成Servlet源代碼

Web容器將產生的源代碼進行編譯。

Web容器載入編譯後的代碼並執行。

把執行結果響應至客戶端。

過程介紹

客戶端發出請求,請求為JSP,web容器就會找出相應的servlet進行處理。

將servlet轉成位元組碼文件。

將位元組碼文件載入到web容器里。

這時會在web容器里建立實例。

進行初始化。

通過service接受請求。

然後web容器會自動產生兩個對象servlet和service最後進行銷毀。

(2)jsp修改文件時間擴展閱讀:

JSP的運行原理

WEB容器(Servlet引擎)接收到以。jsp為擴展名的URL的訪問請求時,它將把該訪問請求交給JSP引擎去處理。Tomcat中的JSP引擎就是一個Servlet程序,它負責解釋和執行JSP頁面。

每個JSP頁面在第一次被訪問時,JSP引擎將它翻譯成一個Servlet源程序,接著再把這個Servlet源程序編譯成Servlet的class類文件,然後再由WEB容器(Servlet引擎)像調用普通Servlet程序一樣的方式來裝載和解釋執行這個由JSP頁面翻譯成的Servlet程序。

Tomcat 5.x把為JSP頁面創建的Servlet源文件和class類文件放置在「&lt;TOMCAT_HOME&gt;workCatalina&lt;主機名&gt;&lt;應用程序名&gt;」目錄中,

Tomcat將JSP頁面翻譯成的Servlet的包名為org.apache.jsp.&lt;JSP頁面在WEB應用程序內的目錄名&gt;。

JSP規范也沒有明確要求JSP中的腳本程序代碼必須採用Java語言,JSP中的腳本程序代碼可以採用Java語言之外的其他腳本語言來編寫,但是,JSP頁面最終必須轉換成Java Servlet程序。

可以在WEB應用程序正式發布之前,將其中的所有JSP頁面預先編譯成Servlet程序。

㈢ jsp修改以後為什麼不需要重啟伺服器

servlet和jsp本質都是servlet,運行時都是運行.class文件。但是它們的部署方式不一樣。
servlet是先編譯後部署,修改完以後,MyEclipse進行編譯,然後部署.class文件到servlet容器中。如果web伺服器已啟動,則之前class已被servlet容器載入,可能修改後的class文件不會被servlet容器執行。
而jsp是web伺服器進行編譯。載入時當場編譯的,而不是預先編譯好,tomcat可以設置為監視jsp文件的改動,改動之後則重新編譯、執行。所以jsp是改動時,不需要重啟伺服器。

㈣ 在JSP中實現讀取文件並修改文件的功能

你可以學習一下IO的相關知識,這里我寫一個簡單的列子你參考一下吧

<%
StringfileName="D:"+File.separator+"hello.txt";
Filef=newFile(fileName);
OutputStreamout=newFileOutputStream(f);
Stringstr="你好";
byte[]b=str.getBytes();
out.write(b);
out.close();
%>

㈤ 如何修改類文件和jsp頁面後不用重啟tomcat就可以自動載入呢

既然你用了IDE,那抄就再簡單不過了,不襲要去修改任何tomcat配置文件。
在My(Eclipse)中啟動tomcat時,用debug模式。

這時候有兩種修改是完全不需要重啟tomcat的:
1. 修改jsp文件
2. 修改java類中,方法內部的代碼

然而,如果要給java類添加一個新的屬性,添加一個新的方法,修改方法的簽名(方法名,參數,返回值)等等,是無論如何都不可能直接生效的,這時候你就需要restart或者redeploy。

最後再談一下reloadable="true"這個參數,當你修改了java文件後,tomcat會自動redeploy,而不是直接生效,很多時候redeploy花費時間和restart差不了多少。

㈥ 當jsp文件改變時,tomcat需要重新啟動嗎

一般來講都不需要重啟
尤其是JSP,因為JSP是更新之後重新編譯的
JAVA Bean一般也不需要回
主要是配置文件(例如答XML)改變的時候,需要重新啟動。

不過有些時候JSP改變,界面不會立刻改變,這是由於IE的網頁緩存造成的。讀取相同資源的時候,會優先讀取本地的文件。
如果遇到這種情況,多刷新幾次就好了

最好是重新部署,大傻貓有時候會偷懶

閱讀全文

與jsp修改文件時間相關的資料

熱點內容
wps工具欄怎麼換成中文 瀏覽:338
win7和xp共享文件 瀏覽:883
蘋果4代音量鍵沒反應 瀏覽:827
怎樣打開tif文件 瀏覽:153
java下載文件zip 瀏覽:440
qq瀏覽器壓縮文件怎麼設密碼 瀏覽:526
黃埔數控編程哪裡好 瀏覽:406
mac109升級1010 瀏覽:691
在java的菜單如何導入文件 瀏覽:982
現在什麼網站銷量最高 瀏覽:760
angularjsclass定義 瀏覽:157
ug數控編程怎麼導出程序 瀏覽:466
cmdb文件 瀏覽:710
鵯文件夾 瀏覽:763
網路輿情應對的基本理念是什麼 瀏覽:433
word2007層次結構 瀏覽:456
去掉文件名的數字 瀏覽:713
word公司 瀏覽:710
淘寶店數據包怎麼上傳 瀏覽:341
pbt文件 瀏覽:204

友情鏈接