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

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放入收藏夹的用户将是一个相当周到的考虑。

 

阅读更多
个人分类: javaweb技术
上一篇Jsp&Servelet 学习笔记-对一个Servlet创建多个Mapping
下一篇Jsp&Servelet 学习笔记-映射静态的内容到一个servlet中
想对作者说点什么? 我来说一句

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

关闭
关闭
关闭