ServletContainerInitializer源码翻译与理解
来源:互联网 发布:vpn软件排行 编辑:程序博客网 时间:2024/06/04 18:56
package javax.servlet;import java.util.Set;/** * 目的:Servlet容器初始化(ServletContainerInitializer初始化器) * * <p>web容器启动时,调用该接口的实现(初始化器), * 初始化已被注册的servlets、filters、listeners。 * * <p>{@link javax.servlet.annotation.HandlesTypes HandlesTypes}注解 * 来实现该接口,注解的类作为onStartup()方法的参数传入。 * * <p>没有@HandlesTypes注解或没有指定应用程序类匹配的注解时,容器{@link #onStartup}必须是个null集合 * * <p>实现该接口就必须在对应的jar包的META-INF/services * 目录创建一个名为javax.servlet.ServletContainerInitializer的文件, * 该文件内容指定该接口的具体实现类,那么,当web容器启动时就会运行这个初始化器做一些组件内的初始化工作。 * * 实现机制: * Tomcat容器的ServletContainerInitializer机制的实现,主要交由Context容器 * 和ContextConfig监听器共同实现,ContextConfig监听器负责在容器启动时读取每个web * 应用的WEB-INF/lib目录下包含的jar包的META-INF/services/javax.servlet. * ServletContainerInitializer,以及web根目录下的META-INF/services/ * javax.servlet.ServletContainerInitializer,通过反射完成这些 * ServletContainerInitializer的实例化,然后再设置到Context容器中,最后 * Context容器启动时就会分别调用每个ServletContainerInitializer的onStartup方法, * 并将感兴趣的类作为参数传入。 * 参考资料:http://blog.csdn.net/wangyangzhizhou/article/details/52013779 * * @author TCM * @create 2017年10月24日上午9:55:01 * @see javax.servlet.annotation.HandlesTypes * @since Servlet 3.0 */public interface ServletContainerInitializer { /** * 启动ServletContainerInitializer具体实例后,并设置到ServletContext中 * @param c 实现该接口的具体实现类 * @param ctx ServletContext * @throws ServletException if an error has occurred */ public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException; }
阅读全文
0 0
- ServletContainerInitializer源码翻译与理解
- RequestDispatcher源码翻译与理解
- Servlet3 ServletContainerInitializer与Spring Web
- Machine_Learning_Yearning 翻译与理解
- AutoCloseable与Closeable源码翻译
- Transaction与UserTransaction源码翻译
- HOG 理解与源码
- Elasticsearch5.0学习与理解翻译(一)
- 转载(与部分翻译)!理解LSTM
- ReentrantLock源码分析与理解
- ReentrantLock源码分析与理解
- HashMap源码阅读与理解
- ConcurrentHashMap源码阅读与理解
- ServletContainerInitializer初始化器
- quartus时序分析文档自我理解与翻译(开题)
- quartus时序分析文档理解与翻译(1)
- Traffic-Control-HOWTO翻译与TC部分自己的理解
- SURF特征提取算法原文翻译与理解(上)
- 二维码扫描和生成
- MySQL内存结构(1)
- 正则的匹配
- 用GsonFormat解析数组形式的json串
- python3.5中import cv2报错
- ServletContainerInitializer源码翻译与理解
- 第七天 JQuery基础教程
- 文章标题
- 欢迎使用CSDN-markdown编辑器
- java坦克大战(源码)
- 常见的几种开源协议
- net.mindview.util.Print.*使用
- sublime3 使用笔记
- 教你看懂aidl究竟怎么用?