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

Weblogic6.0部署與設置WEB應用程序(3)

[摘要]URIs與WEB應用程序用如下模式來構造從客戶端訪問WEB應用程序的URL:http://hoststring/ContextPath/servletPath/pathInfo其中hoststring 或是一個被映射到一虛擬主機的主機名,或是主機名:端口(hostname:portNumber)C...
URIs與WEB應用程序
用如下模式來構造從客戶端訪問WEB應用程序的URL:
http://hoststring/ContextPath/servletPath/pathInfo
其中
hoststring
或是一個被映射到一虛擬主機的主機名,或是主機名:端口
(hostname:portNumber)
ContextPath
WEB應用程序的名字
servletPath
被映射到servletPath的一個servlet
pathInfo
URL的其余部分,典型的是一個文件名
如正使用虛擬主機,可用虛擬主機名來替換URL的hoststring部分。
進一步的信息,參考Weblogic服務器怎樣解釋HTTP請求。
配置Servlets
Servlets被注冊和配置成為一個WEB應用程序的一部分。通過給WEB應用程序部署描述符添加幾個條目來注冊servlet。第一個,在<servlet>元素下定義servlet的名稱和執(zhí)行這個servlet的已編譯的類。這個元素也包含這個servlet的初始化參數(shù)和安全角色的定義。第二個,在<servlet-mapping>元素下定義調用這個servlet的URL模式。
編輯WEB應用程序部署描述符的完整說明,參考:
·配置WEB應用程序,部署Servlets
·配置WEB應用程序,將servlet映射到URL
Servlet映射
Servlet映射控制你如何訪問這個servlet。以下的例子示范了在WEB應用程序中可使用的servlet映射的一些方法。在這個例子中,下面列出了一系列的servlet配置和映射,在隨后的表(參考url模式和Servlet調用)中列出了用來調用這些servlets的URLs。
Listing 8-1 Servlet映射示例

<servlet>
<servlet-name>watermelon</servlet-name>
<servlet-class>myservlets.watermelon</servlet-class>
</servlet>
<servlet>
<servlet-name>garden</servlet-name>
<servlet-class>myservlets.garden</servlet-class>
</servlet>
<servlet>
<servlet-name>list</servlet-name>
<servlet-class>myservlets.list</servlet-class>
</servlet>
<servlet>
<servlet-name>kiwi</servlet-name>
<servlet-class>myservlets.kiwi</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>watermelon</servlet-name>
<url-pattern>/fruit/summer/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>garden</servlet-name>
<url-pattern>/seeds/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>list</servlet-name>
<url-pattern>/seedlist</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>kiwi</servlet-name>
<url-pattern>*.abc</url-pattern>
</servlet-mapping>

Table 8-1 ur模式和Servlet調用URL調用的Servlet
http://host:port/mywebapp/fruit/summer/index.htmlwatermelon
http://host:port/mywebapp/fruit/summer/index.abcwatermelon
http://host:port/mywebapp/seedlistlist
http://host:port/mywebapp/seedlist/index.html默認servlet,如果已經(jīng)配置的話,或者是一條HTTP 404 file not found錯誤消息如list servlet的映射是/seedlist*,就會調用list servlet
http://host:port/mywebapp/seedlist/pear.abckiwi如list servlet的映射是/seedlist*,就會調用list servlet
http://host:port/mywebapp/seedsgarden
http://host:port/mywebapp/seeds/index.htmlgarden
http://host:port/mywebapp/index.abckiwi
Servlet初始化參數(shù)
在WEB應用部署描述符中的<servlet>元素的<init-param>元素中用<param-name>和<param-value>標簽定義servlets的初始化參數(shù)。例如:
Listing 8-2配置 Servlet初始化參數(shù)示例

<servlet>
<servlet-name>HelloWorld2</servlet-name>
<servlet-class>examples.servlets.HelloWorld2</servlet-class>
<init-param>
<param-name>greeting</param-name>
<param-value>Welcome</param-value>
</init-param>
<init-param>
<param-name>person</param-name>
<param-value>WebLogic Developer</param-value>
</init-param>
</servlet>

有關編輯WEB應用程序部署描述符的更多信息,參考編寫WEB應用程序部署描述符。
配置JSP
通過將JSP文件放在WEB應用程序的根目錄(或根目錄下的子目錄)里來部署它們。另外的JSP配置參數(shù)在weblogic特有的部署描述符(weblogic.xml)的<jsp-descriptor>元素中定義。這些參數(shù)定義以下功能:
·JSP編譯器的選項。
·調試。
·服務器檢查需重新編譯的已更新的JSPs的時間間隔。
·字符編碼。
有關這些參數(shù)的完整描述,參考JSP參數(shù)名稱及值。
有關編輯weblogic.xml文件的說明,參考建立weblogic特有的部署描述符。
配置JSP標簽庫
Weblogic服務器按照Servlet 2.2規(guī)范提供建立和使用JSP標簽的能力。定制的JSP標簽就是能從JSP頁面中調用的Java類。要建立定制JSP標簽,需將它們放在標簽庫中,并在標簽庫描述符文件(TLD)中定義它們的行為。這個TLD必須在WEB應用程序描述符中定義,這樣包含JSP頁面的WEB應用程序就可利用它。將TLD文件放在WEB應用程序的WEB-INF目錄下是個好主意,這是因為這個目錄從不對公眾開放。
在WEB應用程序的部署描述符中,需為標簽庫定義URI模式。URI模式必須與JSP頁面中的taglib指令的值相一致。還需定義TLD的位置。例如,在JSP頁面中的taglib指令如下:
<%@ taglib uri="myTaglib" prefix="taglib" %>
并且TLD位于WEB應用程序的WEB-INF目錄中,就應該在WEB應用程序的部署描述符中建立如下條目:
<taglib>
 <taglib-uri>myTaglib</taglib-uri>
 <tablig-location>WEB-INF/myTLD.tld</taglib-location>
</taglib>
有關建立定制JSP標簽庫的更多信息,參考JSP標簽擴展的編程。
Weblogic服務器也包含了幾個可在應用程序中使用的定制的JSP標簽。這些標簽執(zhí)行緩存,基于參數(shù)的流控制,對象集上的迭代。更多信息,參考使用定制的Weblogic JSP標簽。
配置初始(Welcome)頁面
Weblogic服務器允許設置這樣一個頁面,這個頁面在請求的URL是一個目錄時作為默認頁面。這個特性使得站點更易于使用,因為用戶在輸入URL時不必給出特定的文件名。
在WEB應用程序級定義初始頁面。如服務器宿主多個WEB應用程序,就需為每個WEB應用程序單獨定義不同的初始頁面。
要定義初始頁面,編輯WEB應用程序部署描述符web.xml。有關更多信息,參考初始文件。
If you do not define Welcome Pages, WebLogic Server looks for the following files in the following order and serves the first one it finds:
如未定義初始頁面,Weblogic服務器以下列順序查找以下文件,并提供它找到的第一個文件:
1.index.html
2.index.htm
3.index.jsp
更多信息,參考Weblogic服務器如何解釋HTTP請求。
建立默認的servlet
每個WEB應用程序都有一個默認的servlet。這個默認的servlet,可以自定義,如沒有自定義,Weblogic服務器會用一個名為FileServlet的內部servlet作為默認的servlet。有關FileServlet的更多信息,參考Weblogic如何解釋HTTP請求。
可將任何servlet注冊成為默認的servlet。編寫自己的默認servlet,就可使用自己的邏輯來決定如何處理回送給默認servlet的請求。
建立默認的servlet來代替FileServlet時應小心,因為FileServlet被用來為大多數(shù)文件提供服務,如文本文件,HTML文件,圖像文件等等。如希望自己的默認servlet為這些文件提供服務,就必須將這些功能寫進自己的默認servlet。
建立用戶定義的默認servlet:
1.定義自己的servlet(如在配置Servlets中描述一樣)。
2.用”/” url模式映射自己的默認servlet。這樣使得自己的默認servlet響應文件的所有類型,除了擴展名是*.htm*或.html類型的文件,因為它們被內部映射到FileServlet。
如也想使自己的默認servlet響應以*.htm或*.html結尾的文件,除“/”映射外,還必須將這些擴展名映射到自己的默認servlet上。有關映射servlets的說明,參考配置Servlets。
3.如還想FileServlet為其它擴展名的文件服務,將那些文件擴展名映射到FileServlet(除自己的默認servlet的映射外)。例如,要使FileServlet為gif文件服務,映射*.gif到FileServlet。