Jsp&Servelet 学习笔记- 为Servlet创建一个JSP类型的URL

    技术2022-05-11  70

    Servlet创建一个JSP类型的URL

    如果我们想访问servlet像访问一个jsp页面一样时

    当我们想要链接看起来像对JSP 文件请求一样。那么对于servlet URL 样式时该怎么操作呢?

    我们可以创建一个servlet-mapping元素使其包含一个JSP样式的URL pattern

    在以前我们提到过,对于一个servlet你可以随意的为它取上别名。例如, 看上去访问JSP 文件的请求可以容易地被映射成对servlet的访问 。

     Example : Deployment descriptor example of mapping a JSP-style URL to a servlet

    <? 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 > JspInfo </ servlet-name >          < servlet-class > com.parkerriver.cookbook.JspInfo </ servlet-class >       </ servlet >       < servlet-mapping >          < servlet-name > JspInfo </ servlet-name >          < url-pattern > /info.jsp </ url-pattern >       </ servlet-mapping > </ web-app >

    对于URL样式/info.jsp 开头的斜杠意味着在这个部署描述符中从这个web应用的根目录开始。所以对这个JspInfo servlet而言它的完整的URL应该为:

    http://www.mysite.org/cookbook/info.jsp.

    你也可以对一个单独的servlet映射成对任何JSP页面的引用。

    Example  Mapping all JSP URLs to a single servlet

    <? 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 > JspInfo </ servlet-name >          < servlet-class > com.parkerriver.cookbook.JspInfo </ servlet-class >      </ servlet >      < servlet-mapping >          < servlet-name > JspInfo </ servlet-name >          < url-pattern > *.jsp </ url-pattern >      </ servlet-mapping > </ web-app >

    对于使用一个文件的扩展后缀名以星号加点在加上其后缀名为URL样式时,如<url-pattern>*.jsp</url-pattern>一样,URL样式中千万不要在加上一个斜杠(/.

    对于这类型映射将会是有用处的,如果您移植一个版本为使用很多JSP 页面的应用到整个地依靠servlets 应用的另一个版本时。对于那些把你的包含以前jsp页面的URL放入收藏夹的用户将是一个相当周到的考虑。

     


    最新回复(0)