博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet激活器
阅读量:7227 次
发布时间:2019-06-29

本文共 1068 字,大约阅读时间需要 3 分钟。

hot3.png

       在每个web应用程序的WEB-INF目录下都有一个web.xml文件,其中记录了servlet的一些配置信息,在tomcat的conf目录下也有一个web.xml文件,这个xml文件是所有在该tomcat上部署的web应用程序的基础配置,就是说,每个web应用程序的web.xml都是在 conf/web.xml上的基础上进行扩展和覆盖的。
    在一些web应用程序的web.xml文件中可能找到下面的映射:
<servlet-mapping> 
      <servlet-name>invoker</servlet-name>
      <url-pattern>/servlet/*</url-pattern>
</servlet-mapping> 
   这说明当匹配/servlet/*路径时,会调用一个注册名称为invoker的Servlet。可是在web.xml文件中根本找不到这个 Servlet的注册。这里注意,一个web应用程序的部署描述除了包含在该应用程序内部的web.xml文件中,还包含<tomcat主目 录>\conf目录下的web.xml文件中的全局设置信息,在<tomcat主目录>\conf\web.xml文件中可以看到:
<servlet>
        <servlet-name>invoker</servlet-name>
        <servlet-class>
          org.apache.catalina.servlets.InvokerServlet
        </servlet-class>
        <load-on-startup>2</load-on-startup>
</servlet>
    这样,如果有多个web应用程序要用到这个Servlet,我们不必在每个web应用程序中都单独注册这个servlet,而只需在web.xml文件中 映射其访问路径即可。这个Servlet的作用就是激活和调用任何其他Servlet,被称为Servlet激活器。 <load-on-startup>2</load-on-startup>设置它随Tomcat的启动而加载。所以,在web 应用程序中为Servlet激活器invoker映射的访问路径以"/*"结尾,即使某个Servlet程序没有在web.xml文件中注册,我们只需将 Servlet激活器所映射的访问路径中的通配符(*)替换为这个Servlet的完整类名,就可以通过servlet激活器来调用这个Servlet程 序。

转载于:https://my.oschina.net/kyeeliu/blog/30133

你可能感兴趣的文章
Set up Mule runtime env with mule-standalone-3.6.0
查看>>
Linux基础-linux命令:csplit
查看>>
core_framework —— 基于libev的轻量级lua网络开发框架
查看>>
回到顶部
查看>>
DES/3DES(TripleDES)加密、解密测试数据
查看>>
Maven项目标准目录结构
查看>>
Tomcat 系统架构与设计模式,第 1 部分: 工作原理
查看>>
Hadoop输出参数信息详解(16)
查看>>
ERROR 2002 (HY000): Can't connect to local MySQL错误
查看>>
Java版冒泡排序法
查看>>
关于FB4.6插件安装后默认语言环境的更改问题
查看>>
免费分区助手
查看>>
Javascript通过Name调用Function
查看>>
统计当前在线用户数量
查看>>
IntelliJ IDEA 乱码解决方案 (项目代码、控制台等)
查看>>
PHP项目记录
查看>>
.net面试题系列文章七(附答案)
查看>>
FastSocket
查看>>
ionic $ionicSlideBoxDelegate 滑动框事件
查看>>
点击文字,把input type="radio"也选中
查看>>