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>

没有更多推荐了,返回首页