`
Before_Morning
  • 浏览: 35738 次
文章分类
社区版块
存档分类
最新评论

温故知新--servlet(二)web.xml注册servlet

 
阅读更多

回顾一下,在上篇中讲解了servlet的入门程序的实现机制,其实就是通过抽象类实现接口,然后编写servlet实现该抽象类。这也是常用的一种设计模式,可以说是适配器模式的衍生吧!

在上一篇文章中最后提到了servletweb.xml中注册servlet的内容,下面再对该知识点进行一些细节方面的讲解。

一.web.xml注册Servlet

首先,利用<servlet><servlet-mapping>标签注册一个Servlet的格式如下:

<servlet>

  <servlet-name>MyServlet</servlet-name>

  <servlet-class>com.jjyy.MyServlet</servlet-class>  

</servlet>

<servlet-mapping>

  <servlet-name>MyServlet</servlet-name>

  <url-pattern>/MyServlet</url-pattern>

</servlet-mapping>


二、注意事项:

1.对于一个<servlet>可以对应多个<servlet-mapping>;

2.可以用*匹配符配置<serlvet-mapping>,但是要注意,必须是*.后缀名或者是/开头的以/*结束的路径。

3.由于匹配符的引入有可能一个虚拟路径会对应多个servlet-mapping,此时哪个最像找哪个servlet,并且*.后缀名匹配的级别最低。

4.可以为<servlet>配置<load-on-startup>子标签,指定servlet随着服务器的启动而加载,其中配置的数值指定启动的顺序,例如:

<servlet>

<servlet-name>invoker</servlet-name>

<servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class>

<load-on-startup>2</load-on-startup>

</servlet>


5.缺省servlet:如果一个servlet的对外访问路径被设置为/,则该servlet就是一个缺省servlet,其他servlet不处理的请求都由它来处理.

6.conf/web.xml中配置了缺省servlet,对静态资源的访问和错误页面的输出(比如404、500等)就是由这个缺省servlet来处理的。如果我们自己写一个缺省servlet把大范围web.xml中的缺省servlet覆盖的话,会导致静态web资源无法访问,所以一般不推荐配置缺省的servlet

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics