JSP 學習筆記

2021-04-07 02:21:24 字數 1462 閱讀 4290

tomcat 配置

1. 部署 web 應用

部署 web 應用到某個目錄後,要在 catalina_home/conf/server.xml 檔案中新增相應條目並重啟 tomcat 才能生效。比如將乙個 web 應用專案 aaa 部署到了 d:/aaa,則需要在上述 server.xml 檔案中 與 之間新增如下條目:

從理論上說,workdir 可以是任意目錄,但一般都選擇專案根目錄(在這裡是 d:/aaa)下的 work 目錄作為工作目錄。

2. 開啟 servlet 呼叫器

servlet 呼叫器允許在不修改 web 應用的 web-inf/web.xml 檔案的情況下執行 servlet。你只需要將 servlet 複製到 web-inf/classes 目錄中,使用 http://

host/servlet/

servletname (預設 web 應用)或 http://

host

/servletname (定製 web 應用)就可以使用它。

invoker

org.apache.catalina.servlets.invokerservlet

debug02

/servlet/*

推薦和建議

1. 將被包含的頁面放在 web-inf 目錄中,這樣可以防止客戶出於偶然訪問到這些頁面(這種情況可能會比較糟糕,因為它們一般都不是完整的 html 文件)。

2. 不要將完整的 html 文件作為被包含頁面,這樣可以防止客戶得到的最終結果中兩次出現諸如 doctype, body 等標籤。

3. 如果被包含頁面中沒有定義主頁面要用到的字段或方法,也沒有設定主頁面的響應報頭,則應該採用 jsp:include 動作而不是 include 指令,這樣就沒有注意點1中所提到的維護麻煩了。

注意點1. 如果使用了 include 指令,並且更改了被包含的頁面,則必須更新所有包含該頁面的主頁面的修改日期,否則客戶端下一次請求時伺服器並不會重新載入主頁面並將其轉換成新的 servlet,這樣你的更改就無法在客戶端得到體現。

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

這一點非常需要注意,如果沒注意到這點會讓你覺得莫名其妙,不知道伺服器為什麼不聽話:)

3. 在 servlet 通過 forward 方法將請求**給伺服器上的其他頁面時,如果目的頁面使用影象和樣式表的相對 url,那麼這些 url 應該相對於 servlet 的 url 或伺服器的根目錄,不能相對於目的頁面的實際位置,因為伺服器是相對於初始 url 進行解釋的。針對這個問題,最簡單的解決方案是給出影象和樣式表檔案在伺服器上的完整路徑。

4. 如果需要讀取請求引數並將其值顯示在生成的頁面中,則必須過濾出那些特殊的 html 字元(如 " < > & 等)。不這樣做可能會導致輸出中缺失某些部分,或者某些部分格式錯誤。

參考:(美)marty hall,larry brown 著,趙學良 譯,servlet與jsp核心程式設計(第2版),清華大學出版社

Jsp 學習筆記

1.在html中引入jsp,輸出100 在html中嵌入jsp out.print 100 2.使用變數 string today 2018.5.24 今天是 today 3.設定頁面資訊 獲取頁面資訊 該網頁資訊為 getservletinfo 4.使用include指令包含多個jsp頁面 當部分...

學習JSP筆記2

一 jsp內建物件 1 request物件 使用者通過request物件向伺服器請求服務,通過http協議向伺服器傳送請求資訊和資料 伺服器端程式通過request的相關方法得到乙個引數列表,根據其中的資料處理客戶請求。2 reponse物件 jsp引擎根據客戶端的請求資訊建立乙個預設的響應客戶的物...

學習JSP相關筆記

nweb inf uclasses uweb.xml ulib n 從httpservlet 繼承,重寫doget dopost方法n 部署web.xml n 只有乙個物件 n第一次請求的時候被初始化,只一遍 n初始化後先呼叫 init 方法,只一遍 n每個請求,呼叫一遍 service servi...