西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開(kāi)發(fā)java → JavaWeb編程從零開(kāi)始 Servlet的基本配置

JavaWeb編程從零開(kāi)始 Servlet的基本配置

前往專(zhuān)題相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/8/14 11:50:59字體大。A-A+

作者:西西點(diǎn)擊:18次評(píng)論:0次標(biāo)簽: Java

學(xué)習(xí)JavaWeb的人沒(méi)有不知道Servlet的吧,而要用Servlet就需要在web.xml中進(jìn)行配置。相信有很多初學(xué)者跟我當(dāng)初一樣,對(duì)于一些配置參數(shù)不是很理解,今天就說(shuō)說(shuō)Servlet最基本的配置信息。

下面是一個(gè)最基本的Servlet配置:

<servlet>  
    <servlet-name>MyServlet</servlet-name>  
    <servlet-class>com.Servlet.MyServlet</servlet-class>  
</servlet>  
  
<servlet-mapping>  
    <servlet-name>MyServlet</servlet-name>  
    <url-pattern>/Servlet</url-pattern>  
</servlet-mapping>  

Servlet的配置包括兩部分:

1,<servlet>配置Servlet的名字和完整類(lèi)路徑:

servlet-name是自定義的,就是給Servlet取個(gè)名字。

servlet-class是Servlet完整的類(lèi),就是從一開(kāi)始的包一直“.”到該Servlet。

2,<servlet-mapping>是用來(lái)截獲請(qǐng)求的,包括servlet-name和url-pattern。

servlet-name跟<servlet>中的servlet-name是對(duì)應(yīng)的,兩個(gè)servlet-name一定要一致,否則會(huì)找不到對(duì)應(yīng)的Servlet。

url-pattern是截獲請(qǐng)求的規(guī)則,當(dāng)表單提交的時(shí)候,會(huì)根據(jù)特定的規(guī)則調(diào)用相應(yīng)的Servlet。下面會(huì)具體闡述。

url-pattern大致分為以下幾種方式:

1,完全匹配

    如:<url-pattern>/servlet/MyServlet.do</url-pattern>

2,目錄匹配

    如:<url-pattern>/servlet/*</url-pattern>

3,擴(kuò)展名匹配

    如:<url-pattern>*.do</url-pattern>

在web.xml文件中,以下語(yǔ)法用于定義映射: 

l. 以”/’開(kāi)頭和以”/*”結(jié)尾的是用來(lái)做路徑映射的。 

2. 以前綴”*.”開(kāi)頭的是用來(lái)做擴(kuò)展映射的。 

3. “/” 是用來(lái)定義default servlet映射的。 

4. 剩下的都是用來(lái)定義詳細(xì)映射的。比如: /aa/bb/cc.action 

容器查找規(guī)則:

1,容器會(huì)首先查找完全匹配,如果找不到,再查找目錄匹配,如果也找不到,就查找擴(kuò)展名匹配。
2,如果一個(gè)請(qǐng)求匹配多個(gè)“目錄匹配”,容器會(huì)選擇最長(zhǎng)的匹配。

例如:servletA的url-pattern為/test/*,而servletB的url-pattern為/test/b/*,此 時(shí)訪(fǎng)問(wèn)http://localhost/test/b時(shí),容器會(huì)選擇路徑最長(zhǎng)的servlet來(lái)匹配,也就是這里的servletB。

注意:”/*.action”這樣一個(gè)看起來(lái)很正常的匹配會(huì)錯(cuò)。因?yàn)檫@個(gè)匹配即屬于路徑映射,也屬于擴(kuò)展映射,會(huì)導(dǎo)致容器無(wú)法判斷。

上面講解的只是Servlet最基本的一個(gè)配置,還有很多其他的參數(shù),有興趣可自行研究,這里就不一一贅述了。