Jsp&Servelet 学习笔记-对一个Servlet创建多个Mapping

    技术2022-05-11  44

    对一个Servlet创建多个Mapping

    当我们想创建多个nameURL patterns 使web使用者能够请求一个servlet时,该如何处理呢?

    那么在部署描述文件中与servlet 元素相关的servlet-mapping能够配置多个。

    Example 3-2. Two servlet-mapping tags

    <? xml version="1.0" encoding="ISO-8859-1" ?> <! DOCTYPE web-app    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"           "http://java.sun.com/dtd/web-application_2_3.dtd" > < web-app >    < servlet >      < servlet-name > CookieServlet </ servlet-name >      < servlet-class > com.parkerriver.cookbook.CookieServlet </ servlet-class >    </ servlet >    < servlet-mapping >      < servlet-name > CookieServlet </ servlet-name >      < url-pattern > /cookieservlet </ url-pattern >    </ servlet-mapping >    < servlet-mapping >      < servlet-name > CookieServlet </ servlet-name >      < url-pattern > /mycookie </ url-pattern >    </ servlet-mapping > </ web-app >

    注意:servlet-mapping元素必须在servlet元素之后才能配置。

    url-pattern matches any HTTP requests ending with the "/cookie/" string.

    你可以使用通配符”*” 去扩展你的mapping pattern.在下面的范例中以/cookie/开头的德URL都能调用这个CookieServlet。在后面的斜杠后能随意的包含任何名字。举个小例子。CookieServlet能够被这样的URL调用http://www.mysite.org/cookbook/cookie/you

    那是因为 url-pattern 匹配到任何的HTTP请求只要它以“/cookie/”字符串结束

    Example 3-3. Using an * in the URL pattern

     

    <? xml version="1.0" encoding="ISO-8859-1" ?> <! DOCTYPE web-app    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"           "http://java.sun.com/dtd/web-application_2_3.dtd" > < servlet >    < servlet-name > CookieServlet </ servlet-name >    < servlet-class > com.jspservletcookbook.CookieServlet </ servlet-class > </ servlet > < servlet-mapping >    < servlet-name > CookieServlet </ servlet-name >    < url-pattern > /cookie/* </ url-pattern > </ servlet-mapping >
     

    最新回复(0)