上次看到處理HEAD請求,下面是關于Web應用程序的配置問題。
Web應用程序是Servlet、JSP、HTML文檔、圖片、模版以及其他可在支持Servlet的Web服務器上部署的所有Web資源的一個集合。
(這句話好長,總之就是你能在網上看到的東西,或者一些產生動態Web頁的程序)。
我們安裝了Tomcat就會知道,在webapps文件夾下面有很多的子文件夾,一個文件夾對應一個應用程序。他們是一堆的JSP程序以及配置文件。另外我們可以給他打包,成為一個存檔文件,擴展名為:war。
WEB-INF目錄
每個Web Apps,都有一個這樣的目錄,有一個web.xml文件。
現在對xml作一點學習:
XML是eXtensible Markup Language
他與HTML類似,都是用標簽標記它的內容,并用尖括號來結束;
XML和HTML的服務目標是不同的:XML文檔中的標簽沒有定義文字的顯示格式,而是解釋了文本的意思。它是一個可擴展的標記語言,他可以定制一些新的標簽來寫你自己需要的文檔。
有幾個要注意的地方:
1、XML區分大小寫(大小寫敏感)
2、又開始的標簽必須有結束(標簽必須是一對)要么就這么寫:<servlet/>,用來代替一對的符號
3、嵌套的元素不可以重疊!例如這樣寫就是非法的<outside><inside></outside></inside>
4、所有數值必須加上單引號或者雙引號
配置描述符:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<servlet>
<servlet-name>
hi
</servlet-name>
<servlet-class>
HelloWorld
</servlet-class>
</servlet>
</web-app>
web-app標簽表示這些是用來配置一個web應用程序的,servletname是一個你所寫的servlet的名字,class是他的類名,可以寫成所屬包名+類名的形式,有些IDE可以自動的生成。
servlet映射
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<servlet>
<servlet-name>
hi
</servlet-name>
<servlet-class>
HelloWorld
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
hi
</servlet-name>
<url-pattern>
/hello.html
</url-patter>
</servlet-mapping>
</web-app>
servlet-mapping表示他來標示servlet的映射信息,映射過后我們就可以用自己定義的地址來訪問他;
其中有兩個子標簽,一個是name,另一個是url-pattern。第一個不用說就是servlet里面定義的那個name;
url-pattern指的是上面那個servlet-name所指定的servlet可以在瀏覽器中用什么樣的url訪問。
設置有幾種:
明確映射,就是一個地址,跟普通的相對路徑沒有什么區別。
路徑前綴映射,/lite/*這樣子的url-pattern
就是以/開頭,/*結尾,處理所有擁有該前綴的請求。這種映射機制,允許一個servlet來控制一個虛擬目錄層次的sevlet請求。
擴展名映像:
*.jsp
可以表示這個servlet用來處理所有的JSP請求。
默認映射,/
如果沒有與之相匹配的servlet可以處理該請求,則將這個請求扔給這個servlet,等同于/*,要慎用!
posted on 2005-12-30 13:33
Fusion KISS 閱讀(590)
評論(1) 編輯 收藏