SpringBoot 整合Servlet、Filter和Listener
一般情况下,使用Spring、Spring MVC这些框架之后,基本上就告别Servlet、Filter以及Listener了,但是有时在整合一些第三方框架时,可能还是不得不使用Servlet。Spring Boot中对于整合这些基本的Web组件也提供了很好的支持。
添加如下三个组件:
1 2 3 4 5 6 7 8 9 10 11 12 | @WebServlet ( "/my" ) public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) { System.out.println( "name>>>" + req.getParameter( "name" )); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | @WebFilter ( "/*" ) public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) { System.out.println( "MyFilter>>>init" ); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println( "MyFilter>>>doFilter" ); chain.doFilter(request, response); } @Override public void destroy() { System.out.println( "MyFilter>>>destroy" ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 | @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" ); } } |
• 这里定义了三个基本的组件,分别使用@WebServlet、@WebFilter和@WebListener三个注解进行标记。
• 这里以ServletRequestListener为例,但是对于其他的Listener,例如HttpSessionListener、ServletContextListener等也是支持的。
在项目入口类上添加@ServletComponentScan注解,实现对Servlet、Filter以及Listener的扫描
http://127.0.0.1:8081/my?name=null
参考文章: Spring Boot+Vue全栈开发实战 - 4.10 整合Servlet、Filter和Listener
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2021-04-12 idea mysqldump
2017-04-12 js 获取随机数 Math.random()