這部分主要的內容如下列三點:
前面幾天有提到的相關檔案即放置的位置
在這裡再整理一下:
WAR檔是web應用程式的snapshot,其實就是一個可攜性的JAR檔
所以相關的設定,檔案結構都相同
tomcat裡,WAR名稱就是web的名稱
另外在WAR檔中會有一個名為META-INF/MANIFEST.MF檔
可以在這個檔案可以宣告程式庫的相依性
在佈署期間檢查container是否能找到相關的pacakage
記得一開始工作的時候有負責用shell scrip去處理build war部署的動作
這個部分未來有時間再一併記錄進來
在這裡記錄一下從eclipse build war的方法(其實真的很簡單)
export
inport
servlet的對映
這邊主要是在整理一下DD裡面的url-pattern可以有以下三種表示方式
(其中url-pattern是可以為虛構的,只要JSP和DD對應得到就好)
<url-pattern>/MyServlet/hello.do</url-pattern>
<url-pattern>/MyServlet/*</url-pattern>
<url-pattern>*do</url-pattern>
找尋對應的規則如下:
1.照著完全相符>目錄相符>副檔名的去尋找
2.若符合一個以上的url-pattern,Container會按照較長的優先對應
3.會按照先後順序去對應
組態歡迎檔
DD檔裡面也可以設welcome-file
意思是當client輸入了不完整的結構,Container會依照設定的順序去找目錄下的檔案
(不管有沒有設servlet對映或是filter)
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
設定error page
在DD裡面也可設定錯誤頁面
使用error-page的error-code或exception-type
1.宣告只要web任意資源的錯誤頁面
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
2.針對特定的exception(如果同時宣告1的方式,此case仍會導到1的設定,即error.jsp)
<error-page>
<exception-type>java.lang.nullpointerexception</exception-type>
<location>/nullpointererror.jsp</location>
</error-page>
3.使用HTTP代碼
<error-page>
<exception-code>404</exception-code>
<location>/HTMLerror.jsp</location>
</error-page>
exception-code和exception-type
在同一個error-page只能設定一種
這兩個不會同時出現在一個error-page裡面
4.load-on-startup
正常servlet default是第一次request時被初始化
若要設定servlet在build的時候或是重啟server的時候就進行初始化
可以使用load-on-startup去設定(接受非負的值即可)
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.servlet.LoginServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
當有多個servlet需要載入
並且要控制初始化的順序
按照大小,小的先執行,若大小相同則按照順序
ch11相較前面來講較輕鬆
主要是複習前面有提到的部分在總結一次
其實這張還有提到JSP Document和其他的DD標籤
分別為
ejb-loacl-ref(EJB相關)
evn-entry(JNDI)
mime-mapping(MIME TYPE)
但這些部分主要是for認證考試用
在這裡就先省略