原生注解方式注入web原生組件
使用原生注解注入servlet組件:@WebServlet處理請(qǐng)求路由,+主配置類(lèi)中標(biāo)注@ServletComponentScan掃描原生注解所在的路徑
public class MyServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("66666");
}
}
public class Boot05WebAdminApplication {
public static void main(String[] args) {
SpringApplication.run(Boot05WebAdminApplication.class, args);
}
}
``
- 使用原生注解注入filter組件:
+
@Slf4j
@WebFilter(urlPatterns={"/css/","/images/"}) // 表示攔截該路徑下的靜態(tài)資源
public class MyFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
log.info("MyFilter初始化完成");
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
log.info("MyFilter工作"); ? // 攔截后進(jìn)行邏輯處理
chain.doFilter(request,response); ? // 最后放行,放行后可訪問(wèn)
}
public void destroy() {
log.info("MyFilter銷(xiāo)毀");
}
}
- 使用原生組件注入listener組件:@WebListener + @ServletComponentScan
@Slf4j
@WebListener
public class MyServletContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
log.info("MySwervletContextListener監(jiān)聽(tīng)到項(xiàng)目初始化完成");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
log.info("MySwervletContextListener監(jiān)聽(tīng)到項(xiàng)目銷(xiāo)毀");
}
}
來(lái)源鏈接:https://www.dianjilingqu.com/459502.html