方法一:
Servlet
第一步:
定义一个原生的Servlet并且让他标注注解 @WebServlet。
在@WebServlet注解中有一个urlPatterns表示能映射的路径
如
@WebServlet(urlPatterns = "/xxx")
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
这个注解表示这是一个原生的Servlet组件
第二步:
在启动类上标注注解 @ServletComponentScan
@ServletComponentScan(basePackages = "com.example.ccc")
@SpringBootApplication
public class CccApplication {
public static void main(String[] args) {
SpringApplication.run(CccApplication.class, args);
}
}
这个注解表示原生Servlet组件都放在哪个包下。
Filter也是类似的用法,只是把WebServlet换成了WebFilter
Listener也是同理
方法二
自定义一个配置类,配置Bean
注入的是一个ServletRegistrationBean类型的Bean
他的构造函数如
public ServletRegistrationBean(T servlet, String... urlMappings)
所以需要先new一个Servlet,然后配置一个urlMappings,再返回该对象。
Filter则对应FilterRegistrationBean
Listener则对应ListenerRegistrationBean