當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringBoot Web原生组件注入(Servlet、Filter、Listener)
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot Web原生组件注入(Servlet、Filter、Listener)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、使用原生Servlet API(推薦)
@Slf4j @WebFilter(urlPatterns={"/css/*","/images/*"}) //my public class MyFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {log.info("MyFilter初始化完成");}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {log.info("MyFilter工作");chain.doFilter(request,response);}@Overridepublic void destroy() {log.info("MyFilter銷毀");} } ------------------------------------------------------------------------------- @WebServlet(urlPatterns = "/my") public class MyServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getWriter().write("66666");} } ------------------------------------------------------------------------------- @Slf4j @WebListener public class MySwervletContextListener implements ServletContextListener {@Overridepublic void contextInitialized(ServletContextEvent sce) {log.info("MySwervletContextListener監聽到項目初始化完成");}@Overridepublic void contextDestroyed(ServletContextEvent sce) {log.info("MySwervletContextListener監聽到項目銷毀");} }利用@ServletComponentScan掃描進來
@MapperScan("com.aa.admin.mapper") @ServletComponentScan(basePackages = "com.aa.admin") @SpringBootApplication(exclude = RedisAutoConfiguration.class) public class Boot05WebAdminApplication {public static void main(String[] args) {SpringApplication.run(Boot05WebAdminApplication.class, args);} }二、使用RegistrationBean
ServletRegistrationBean, FilterRegistrationBean, and ServletListenerRegistrationBean
@Configuration public class MyRegistConfig {@Beanpublic ServletRegistrationBean myServlet(){MyServlet myServlet = new MyServlet();return new ServletRegistrationBean(myServlet,"/my","/my02");}@Beanpublic FilterRegistrationBean myFilter(){MyFilter myFilter = new MyFilter(); // return new FilterRegistrationBean(myFilter,myServlet());FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(myFilter);filterRegistrationBean.setUrlPatterns(Arrays.asList("/my","/css/*"));return filterRegistrationBean;}@Beanpublic ServletListenerRegistrationBean myListener(){MySwervletContextListener mySwervletContextListener = new MySwervletContextListener();return new ServletListenerRegistrationBean(mySwervletContextListener);} }三、擴展:DispatchServlet 如何注冊進來
Tomcat-Servlet;
多個Servlet都能處理到同一層路徑,精確優選原則
A: /my/
B: /my/1
如果訪問 /my/1 那么由B處理,如果訪問/my/2,那么由A處理
總結
以上是生活随笔為你收集整理的SpringBoot Web原生组件注入(Servlet、Filter、Listener)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAAS产业趋势洞察——乘风破浪会有时
- 下一篇: SpringBoot 嵌入式Servle