添加其他的 Servlet 和 Filter
基于 Java 的初始化器(initializer)的一个好处就在于我们可以定义任意数量的初始化器类。因此,如果我们想往 Web 容器中注册其他组件的话,只需创建一个新的初始化器就可以了。最简单的方式就是实现 Spring 的 WebApplicationInitializer 接口。
例如,如下的程序清单展现了如何创建 WebApplicationInitializer 实现并注册一个 Servlet。
package com.study.spring.config;
import org.springframework.web.WebApplicationInitializer;
import javax.servlet.*;
import java.io.IOException;
/**
* @author Zhang B H
* @create 2023-10-03 18:09
*/
public class MyServletInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) {
ServletRegistration.Dynamic myServlet = servletContext
.addServlet("myServlet", new MyServlet());
myServlet.addMapping("/myServlet/**");
}
public static class MyServlet extends GenericServlet {
@Override
public void service(ServletRequest request, ServletResponse response)
throws IOException {
response.getWriter().println("MyServlet");
}
}
}
类似地,我们还可以创建新的 WebApplicationInitializer 实现来注册 Listener 和 Filter。
Last updated