首页 > 其他 > 详细

ServletContainerInitializer 接口的作用

时间:2021-05-30 00:30:54      阅读:11      评论:0      收藏:0      [点我收藏+]

1、接口的作用

容器在启动应用的时候,会扫描当前应用每一个jar包里面
META-INF/services/javax.servlet.ServletContainerInitializer
指定的实现类,启动并运行这个实现类的onStartup方法;onStartup里面获取感兴趣的类型

2、代码事例

import com.kuang.service.HelloService;

import javax.servlet.ServletContainerInitializer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.HandlesTypes;
import java.util.Set;

/**
* HandlesTypes 的作用,在容器启动的时候,注解里面放的类的子类,或者实现类都能获取到
*
*/
@HandlesTypes({HelloService.class})
public class MyServletInit implements ServletContainerInitializer {
/**
*
*
* 应用启动的时候会执行onStartup 这个方法
* @param set
* @param servletContext 这个上下文用来存储信息的
* @throws ServletException 一个web 对应一个servletContext
*/
public void onStartup(Set<Class<?>> set, ServletContext servletContext) throws ServletException {

System.out.println("感兴趣的类型:");
for (Class<?> cla: set) {
System.out.println(cla);
}

}


}

2.1 @HandlesTypes 这个注解的作用

@HandlesTypes的作用是把@HandlesTypes这个注解的value 的子类或者实现(不包括value本身)能在容器启动的时候在onStartup这个方法里获取到

3、javax.servlet.ServletContainerInitializer这个文件的位置

技术分享图片

 

ServletContainerInitializer 接口的作用

原文:https://www.cnblogs.com/gaohq/p/14826456.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!