05 配置Servlet的映射路径

配置Servlet的映射路径

1.一个完整的Servlet包括Servlet类、<Servlet>配置、<Servlet-mapping>配置,缺一不可。

在<Servlet></Servlet>中配置Servlet名称与类名:

<servlet>

<servlet-name></servlet-name>

<servlet-class></servlet-calss>

</ervlet>

2.配置好servlet的名称与类名之后,还需要配置Servlet的映射路径,这个映射路径其实就是访问Servlet的方式,映射路径使用标签

<servlet-mapping>配置。

<servlet-mapping>

<servlet-name></servlet-name>

<url-pattern></url-pattern>

</servlet-mapping>

<servlet-name></servlet-name>用来配置servlet的名称,<url-pattern>就是用来配置Servlet的映射路径.

servet的映射路径指的 就是<url-pattern>的路径,通常有三中匹配模式:

<url-pattern>中允许使用通配符“*”和“?”,"*”表示任意长度的字符串,"*"也代表任意的字符。

2.1完全路径匹配模式:以"/"开头,例如 /aaa/bbb    或/aaa

2.2目录匹配:以“/”开头,例如:/aaa/*,    和    /*;        /aaa/*表示访问的时候,/aaa/后面可以为任意值,也可以没有任何东西。如果是路径是   /*  这种方式的话,访问Servlet的时候,任何东西都可以访问。

2.3扩展名匹配:扩展名匹配不能以“/”开头。例如:/abc*.do,或/*.do都是错误的写法,正确的写法为*.do。扩展名匹配,习惯上使用*.do来访问,这问Servlet的时候,路径名中必须以.do结尾。

匹配模式的优先级:完全路径匹配>目录匹配>扩展名匹配。

从java EE 5开始,<servlet-mapping >标签就可以配置多个<url-pattern>,例如可以将一个Servlet配置多个映射方式:

例:

<servlet-mapping>

<servlet-name>FirstServletll</servlet-name>

<url-pattern>/servlet/FirstServlet</url-pattern>

<url-pattern>/servlet/FirstServlet.asp</url-pattern>

<url-pattern>/servlet/FirstServlet.jsp</url-pattern>

<url-pattern>/servlet/FirstServlet.php</url-pattern>

<url-pattern>/servlet/FirstServlet.aspx/url-pattern>

</servlet-mapping>    无论用那种方式访问,都会正常显示。

 

一个Servlet还可以对应多个<servlet-mapping>

例:

<servlet>

<servlet-name>action</servlet-name>

<servlet-class>runoob.com.ActionServlet</servlet-class>

</servlet>

<servlet-mappint>

<servlet-name>action</servlet-name>

<url-pattern>/list</url-pattern>

</servlet-mapping>

 

 

<servlet-mappint>

<servlet-name>action</servlet-name>

<url-pattern>/expire</url-pattern>

</servlet-mapping>

 

<servlet-mappint>

<servlet-name>action</servlet-name>

<url-pattern>/section</url-pattern>

</servlet-mapping>

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值