一般情況下, 使用Spring, SpringMVC 這些框架之後, 基本上就告別Servlet、Filter、Listener了, 但是有時候整合一些第三方框架時, 可能還是不得不使用Servlet、Filter、Listener。
- 整合Servlet
使用@WebServlet("/my")註解
@WebServlet("/my")
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
System.out.println("MyServlet>>>doGet");
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
System.out.println("MyServlet>>>doPost");
}
}
- 整合Filter
@WebFilter("/*")
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("MyFilter>>>init");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("MyFilter>>>doFilter");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
System.out.println("MyFilter>>>destroy");
}
}
- 整合Litener
-
@WebListener public class MyListener implements ServletRequestListener { @Override public void requestDestroyed(ServletRequestEvent sre) { System.out.println("MyListener>>>requestDestroyed"); } @Override public void requestInitialized(ServletRequestEvent sre) { System.out.println("MyListener>>>requestInitialized"); } }
最關鍵的一步是啓動這些配置, 需要告訴程序,
@SpringBootApplication //添加註解, 進行配置掃描 @ServletComponentScan public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }