1. 程式人生 > >SpringBoot(10) Servlet3.0的註解:自定義原生Servlet、自定義原生Listener

SpringBoot(10) Servlet3.0的註解:自定義原生Servlet、自定義原生Listener

一、自定義原生Servlet

1、啟動類裡面增加註解 @ServletComponentScan

2、Servlet上添加註解  @WebServlet(name = "userServlet",urlPatterns = "/v1/api/test/customs")

 1 @WebServlet(name = "userServlet",urlPatterns = "/v1/api/test/customs")
 2 public class UserServlet extends HttpServlet{
 3 
 4      @Override
 5      public void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException { 6 7 resp.getWriter().print("custom sevlet"); 8 resp.getWriter().flush(); 9 resp.getWriter().close(); 10 } 11 12 @Override 13 protected void doPost(HttpServletRequest req, HttpServletResponse resp) 14 throws
ServletException, IOException { 15 this.doGet(req, resp); 16 } 17 18 }

二、自定義原生Listener

常用的監聽器 servletContextListener、httpSessionListener、servletRequestListener

servletContextListener:服務啟動,一般用於初始化載入

servletRequestListener:訪問啟動,一般用於統計

 1 @WebListener
 2 public class CustomContextListner implements
ServletContextListener{ 3 4 @Override 5 public void contextInitialized(ServletContextEvent sce) { 6 System.out.println("======contextInitialized========"); 7 //啟動時觸發 8 } 9 10 @Override 11 public void contextDestroyed(ServletContextEvent sce) { 12 System.out.println("======contextDestroyed========"); 13 14 } 15 16 }
 1 @WebListener
 2 public class RequestListener implements ServletRequestListener {
 3 
 4     @Override
 5     public void requestDestroyed(ServletRequestEvent sre) {
 6         // TODO Auto-generated method stub
 7         System.out.println("======requestDestroyed========");
 8     }
 9 
10     @Override
11     public void requestInitialized(ServletRequestEvent sre) {
12         System.out.println("======requestInitialized========");
13         
14     }
15 
16 }