明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

WebSphere迅速基礎(chǔ)(15)

[摘要]5.4 JSP API有兩種接口支持 JSP 技術(shù)。這些 API 提供了一種將內(nèi)容生成(業(yè)務(wù)邏輯)從內(nèi)容演示(HTML 格式)中分離出來的方法。這種分離使 Servlet 能生成內(nèi)容并將它(如在 B...
5.4 JSP API
有兩種接口支持 JSP 技術(shù)。這些 API 提供了一種將內(nèi)容生成(業(yè)務(wù)邏輯)從內(nèi)容演示(HTML 格式)中分離出來的方法。這種分離使 Servlet 能生成內(nèi)容并將它(如在 Bean 中)存儲在請求的上下文中。生成上下文的 Servlet 通過將請求的上下文傳遞至 JSP 文件來生成一個響應(yīng),該 JSP 文件包含 HTML 格式。<BEAN> 標記便提供了對業(yè)務(wù)邏輯的訪問。支持 JSP 的接口有:
= com.sun.server.http.HttpServiceRequest:該類實現(xiàn)了 javax.servlet.http.HttpServletRequest 接口和用于設(shè)置根據(jù)名稱定義的屬性的方法 setAttribute() 。
= com.sun.server.http.HttpServiceResponse:該類實現(xiàn)了 javax.servlet.http.HttpServletResponse 接口,并添加了一個使 Servlet 能調(diào)用 JSP 文件和可選地傳遞上下文的 callPage() 方法。
1.callPage() 方法
用 callPage() 方法在 Servlet 中對 JSP 進行服務(wù)。所服務(wù)的頁面(一個 JSP 文件)作為響應(yīng)返回到瀏覽器中。調(diào)用 Servlet 還可以通過請求對象傳遞某些上下文。應(yīng)該對所服務(wù)的頁面標題進行編碼,以將用于告訴瀏覽器不要對文件執(zhí)行高速緩存的指令包含在內(nèi)。callPage() 方法的語法如下:
public void callPage(String fileName, HttpServletRequest req) throws ServletException, IOException
其中:
 = fileName:用于標識文件(該文件用于生成輸出并表示內(nèi)容)的 URL 名。如果文件名以斜杠(/)開頭,則可以假設(shè)文件位置與文檔根目錄有關(guān)。如果文件名不是以斜杠開頭,則可假設(shè)文件位置與當前調(diào)用的請求有關(guān)。callPage() 方法不支持調(diào)用文件擴展名為 .html 的頁面。如果需要使用 callPage() 方法來調(diào)用 HTML 頁面,則必須首先將 HTML 文件重命名成擴展名為 .jsp 的文件。
 = Req:調(diào)用該方法的是 Servlet 的 HttpServletRequest 對象。最通常的是,將上下文作為 Bean,在請求對象的上下文中進行傳遞。
要使用 callPage() 方法,必須將響應(yīng)對象造型成com.sun.server.http.HttpServiceResponse類型。
2.使用 setAttribute() 方法
用 setAttribute() 方法來將一個特性存儲在請求的上下文中。語法是:public void setAttribute(String key, Object o),其中,key代表存儲的特性名,而o表示用 key 來存儲的上下文對象。要使用 setAttribute() 方法,必須將請求對象造型成com.sun.server.http.HttpServiceRequest類型。