国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

使用XML小服務(wù)程序配置文件配置小服務(wù)程序

2019-11-18 15:15:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  作者:87zd

使用 xml 小服務(wù)程序配置文件配置小服務(wù)程序
這種替代的小服務(wù)程序配置方法涉及到創(chuàng)建一個(gè) XML 小服務(wù)程序配置文件(該配置文件是一個(gè) XML 文檔,它的名稱(chēng)為 servlet_instance_name.servlet),它包括:

小服務(wù)程序類(lèi)文件的文件名
小服務(wù)程序說(shuō)明
小服務(wù)程序初始化參數(shù)
包含小服務(wù)程序可以調(diào)用的 javaServer Pages(jsps)的 URL(統(tǒng)一資源定位器)的頁(yè)面列表。該頁(yè)面列表可以包括一個(gè)缺省頁(yè)面、一個(gè)出錯(cuò)頁(yè)面、一個(gè)或多個(gè)已裝入的目標(biāo)頁(yè)面(假如它們的名稱(chēng)出現(xiàn)在 HTTP 請(qǐng)求中)。
application Server 版本 3 中,.servlet 文件存儲(chǔ)在應(yīng)用程序的類(lèi)路徑中。

當(dāng) Application Server 接收到一個(gè)對(duì)小服務(wù)程序?qū)嵗恼?qǐng)求時(shí),它將在其 .servlet 文件中獲得該小服務(wù)程序的配置信息。為了調(diào)用 JSP,XML 小服務(wù)程序配置文件的 page-list 元素和 PageListServlet 類(lèi)(將在下一章節(jié)中討論)消除對(duì)所調(diào)用 JSPs 的 URL 硬編碼。假如引用的頁(yè)面發(fā)生更改時(shí),您只需更新 .servlet 文件,而無(wú)需更新小服務(wù)程序代碼和重新編譯該小服務(wù)程序。每當(dāng) .servlet 文件發(fā)生更改時(shí),Application Server 就會(huì)自動(dòng)裝入此小服務(wù)程序?qū)嵗?

WebSphere Application Studio 提供了用于生成小服務(wù)程序的向?qū)А_@些向?qū)槊總€(gè) Studio 生成的小服務(wù)程序創(chuàng)建一個(gè) XML 小服務(wù)程序配置文件(即 .servlet 文件)。假如您不能訪問(wèn) Studio,并且希望手工實(shí)現(xiàn) XML 小服務(wù)程序配置,則請(qǐng):

創(chuàng)建一個(gè)擴(kuò)展 PageListServlet 類(lèi)的小服務(wù)程序。
使用 XMLServletConfig類(lèi)創(chuàng)建小服務(wù)程序?qū)嵗?XML 小服務(wù)程序配置文件
展開(kāi)經(jīng)編譯的小服務(wù)程序及其 XML 小服務(wù)程序配置文件于 Application Server 上。
使用 PageListServlet 類(lèi)
PageListServlet 是小服務(wù)程序的超級(jí)類(lèi),這些小服務(wù)程序裝入 XML 小服務(wù)程序配置文件的 <page-list> 元素中包含的頁(yè)面。該頁(yè)面列表使您能避免對(duì)所調(diào)用 JSP 的 URI 進(jìn)行硬編碼。該列表可以包含一個(gè)缺省頁(yè)面、出錯(cuò)頁(yè)面和其它根據(jù) HTTP 請(qǐng)求而調(diào)用的 JavaServer Page。

PageListServlet 包含一種 callPage() 方法,該方法調(diào)用了一個(gè) JavaServer Page,并將其作為對(duì)頁(yè)面列表中某個(gè)頁(yè)面的 HTTP 請(qǐng)求的響應(yīng)。當(dāng)輸入 XML 配置文件的 page-list 元素中的頁(yè)面名稱(chēng)時(shí),PageListServlet.callPage() 方法接收 HttpServletRequest 對(duì)象和 HttpServletResponse 對(duì)象。

調(diào)用 PageListServlet.callPage() 方法后并不退出。緊跟 callPage() 方法調(diào)用之后的所有小服務(wù)程序代碼將在調(diào)用后運(yùn)行。當(dāng)您架構(gòu)您的小服務(wù)程序代碼時(shí)請(qǐng)考慮這一點(diǎn)。

SimplePageListServlet 是一個(gè)擴(kuò)展 PageListServlet 類(lèi)和使用其 callPage() 方法來(lái)調(diào)用 JSP 的小服務(wù)程序示例:

public class SimplePageListServlet extends com.ibm.servlet.PageListServlet {
public void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
try{
setRequestAttribute("testVar", "test value", req);
setRequestAttribute("otherVar", "other value", req);

String pageName = getPageNameFromRequest(req);
callPage(pageName, req, resp);
}
catch(Exception e){
handleError(req, resp, e);
}
}
}

使用 XMLServletConfig 類(lèi)
使用 XMLServletConfig 類(lèi)創(chuàng)建 XML 小服務(wù)程序配置文件(servlet_instance_name.servlet)。如下為一個(gè)配置文件:

<?xml version="1.0" ?>
<servlet>
<code>SimplePageListServlet</code>
<description>Shows how to use PageListServlet class</description>
<init-parameter name="name1" value="value2"/>
<page-list>
<default-page>
<uri>/index.jsp</uri>
</default-page>
<error-page>
<uri>/error.jsp</uri>
</error-page>
<page>
<uri>/TemplateA.jsp</uri>
<page-name>page1</page-name>
</page>
<page>
<uri>templateB.jsp</uri>
<page-name>page2</page-name>
</page>
</page-list>
</servlet>

元素 <servlet> 是 XML 配置文件的基本元素。每個(gè) XML 配置文件必須是良好格式的 XML 文檔。這些文件未根據(jù)文檔類(lèi)型定義(DTD)進(jìn)行驗(yàn)證。

為了使 Application Server 能使用 XML 小服務(wù)程序配置文件裝入小服務(wù)程序?qū)嵗?,該配置文件中至少必須包?code 元素。對(duì)于 PageListServlet,XML 配置文件則至少必須包含 code 元素和 page-list 元素。雖然其中沒(méi)有 DTD,但仍建議按元素在示例中顯示的順序來(lái)顯示所有元素。這些元素(也稱(chēng)為標(biāo)記)為:

servlet
基本元素。該元素是由 XMLServletConfig 類(lèi)自動(dòng)生成的。

code
小服務(wù)程序(無(wú) .class 擴(kuò)展名)的類(lèi)名, 即使該小服務(wù)程序位于 JAR 文件中

描述
用戶(hù)定義的小服務(wù)程序描述

init-parameter
該元素的屬性指定了一個(gè)作為初始化參數(shù)的“名稱(chēng)-值”對(duì)。一個(gè)小服務(wù)程序可以有多個(gè)初始化參數(shù),每個(gè)參數(shù)都有它自己的 init-parameter 元素。

page-list
它根據(jù) HTTP 請(qǐng)求中的路徑信息來(lái)標(biāo)識(shí)要調(diào)用的 JavaServer Page。page-list 元素可以包含下列子元素:

default-page:假如 HTTP 請(qǐng)求中未包含路徑信息,那么該元素中會(huì)包含一個(gè) uri 元素,此元素指出了裝入頁(yè)面的位置
error-page:假如 handleError() 方法將請(qǐng)求屬性設(shè)置為“error”,那么該元素中會(huì)包含一個(gè) uri 元素,此元素指出了裝入頁(yè)面的位置
page:假如 HTTP 請(qǐng)求中包含了頁(yè)面名稱(chēng)的話(huà),那么該元素中會(huì)包含一個(gè) uri 元素,此元素指出了要裝入頁(yè)面的位置。一個(gè) page-list 元素中可以包含多個(gè) page 元素。
您可以編寫(xiě)一個(gè)使用 XMLServletConfig 類(lèi)來(lái)生成小服務(wù)程序配置文件的 Java 程序。XMLServletConfig 類(lèi)提供了關(guān)于設(shè)置和獲取文件元素及其內(nèi)容的方法。

展開(kāi)服務(wù)器上的小服務(wù)程序和 .servlet 文件
為了在 Application Server 上使用經(jīng)編譯的小服務(wù)程序和其 XML 小服務(wù)程序配置文件:

將經(jīng)編譯的小服務(wù)程序和其 .servlet 文件放置在應(yīng)用程序類(lèi)路徑中。假如該小服務(wù)程序有一個(gè)軟件包名,請(qǐng)確保該小服務(wù)程序被放置在該類(lèi)路徑的正確子目錄下。
請(qǐng)確保在頁(yè)面列表中引用的 JavaServer Page(JSP 文件)位于該應(yīng)用程序的文檔根目錄中。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 元江| 靖江市| 五河县| 房产| 颍上县| 雷州市| 博客| 和政县| 晋宁县| 卢氏县| 敦化市| 晋江市| 两当县| 郓城县| 克拉玛依市| 中江县| 信丰县| 浏阳市| 武乡县| 太仆寺旗| 延津县| 榆社县| 乌兰县| 定西市| 鄂伦春自治旗| 栾川县| 舒兰市| 瓮安县| 同德县| 浮山县| 榆林市| 伊吾县| 湖州市| 和政县| 宁晋县| 南澳县| 呼图壁县| 青浦区| 湖南省| 清流县| 乾安县|