1、创建servlet
(1)创建自定义类
并且使用注解@WebServlet匹配路径
@WebServlet(urlPatterns = "/my") //匹配路径
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("我是自定义的");
}
}
(2)使用@ServletComponentScan添加servlet包扫描 ```java @ServletComponentScan(basePackages = “com.daijunyi.springbootthymeleaftest”) @SpringBootApplication public class SpringBootThymeleafTestApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootThymeleafTestApplication.class, args);
}
}
<a name="9c0eY"></a>
## 2、Filter过滤器
也需要先添加一个 包扫描@ServletComponentScan<br />(1)创建过滤器
- urlPatterns中匹配路径需要用*不能用** **是spring中使用的
```java
@Slf4j
@WebFilter(urlPatterns = {"/css/*"})
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
log.info("MyFilter初始化");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
log.info("doFilter");
}
@Override
public void destroy() {
log.info("myFilter销毁");
}
}
3、监听器
@ServletComponentScan+@WebListener+实现ServletContextListener接口
@Slf4j @WebListener public class MyServletContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { log.info("项目启动"); } @Override public void contextDestroyed(ServletContextEvent sce) { log.info("项目结束"); } }
4、另外的方式注册到容器里,RegisterBean方式
@Configuration public class MyConfig { @Bean public ServletRegistrationBean myServlet(){ MyServlet myServlet = new MyServlet(); return new ServletRegistrationBean(myServlet,"/my"); } @Bean public FilterRegistrationBean myFilter(){ MyFilter myFilter = new MyFilter(); FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(myFilter); filterRegistrationBean.setUrlPatterns(Arrays.asList("/css/*")); return filterRegistrationBean; } @Bean public ServletListenerRegistrationBean myListener(){ MyServletContextListener myServletContextListener = new MyServletContextListener(); return new ServletListenerRegistrationBean(myServletContextListener); } }