• IDEA自定义Servlet、Filter、Listener模板


    IDEA自定义Servlet、Filter、Listener模板

    前言

    模板的作用类似于框架,主要作用是提高开发效率,告别重复性的工作,我们可以通过在IDEA中自定义Servlet、Filter、Listener三者的模板,从此让IDEA能够自动生成Servlet、Filter、Listener,以此提高开发效率

    1、自定义Servlt模板

    • Step1 F i l e → N e w File\rightarrow{New} FileNew
      在这里插入图片描述

    • Step2 E d i t o r → F i l e    a n d    C o d e    T e m p l a t e s → O t h e r → W e b → J a v a    c o d e    t e m p l a t e s → S e r v l e t    A n n o t a t e d    C l a s s . j a v a Editor\rightarrow{File~~and~~Code~~Templates}\rightarrow{Other}\rightarrow{Web}\rightarrow{Java~~code~~templates}\rightarrow{Servlet~~Annotated~~Class.java} EditorFile  and  Code  TemplatesOtherWebJava  code  templatesServlet  Annotated  Class.java
      在这里插入图片描述

      这是我用的Servlet模板:

      #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
      #parse("File Header.java")
      @javax.servlet.annotation.WebServlet("/${Entity_Name}")
      public class ${Class_Name} extends javax.servlet.http.HttpServlet {
          protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
          	this.doGet(request,response);
          }
          protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
             
          }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
    • Step3:创建Servlet模板
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    创建成功O(∩_∩)O

    2、自定义Filter、Listener模板

    同理也可以配置Filter和Listener的模板:
    在这里插入图片描述
    在这里插入图片描述

    这是我的Filter和Listener模板:

    Filter模板:

    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
    #parse("File Header.java")
    @javax.servlet.annotation.WebFilter("")
    public class ${Class_Name} implements javax.servlet.Filter {
        @Override
        public void destroy() {
        }
        @Override
        public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, java.io.IOException {
            chain.doFilter(request, response);
        }
        @Override
        public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException {
    
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    Listener模板:

    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
    #parse("File Header.java")
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    import javax.servlet.http.HttpSessionAttributeListener;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
    import javax.servlet.http.HttpSessionBindingEvent;
    
    @javax.servlet.annotation.WebListener()
    public class ${Class_Name} implements ServletContextListener, 
        HttpSessionListener, HttpSessionAttributeListener {
    
        // Public constructor is required by servlet spec
        public ${Class_Name}() {}
    
        // -------------------------------------------------------
        // ServletContextListener implementation
        // -------------------------------------------------------
        @Override
        public void contextInitialized(ServletContextEvent sce) {
          /* This method is called when the servlet context is
             initialized(when the Web application is deployed). 
             You can initialize servlet context related data here.
          */ 
        }
        @Override
        public void contextDestroyed(ServletContextEvent sce) {
          /* This method is invoked when the Servlet Context 
             (the Web application) is undeployed or 
             Application Server shuts down.
          */
        }
    
        // -------------------------------------------------------
        // HttpSessionListener implementation
        // -------------------------------------------------------
        @Override
        public void sessionCreated(HttpSessionEvent se) {
          /* Session is created. */
        }
        @Override
        public void sessionDestroyed(HttpSessionEvent se) {
          /* Session is destroyed. */
        }
    
        // -------------------------------------------------------
        // HttpSessionAttributeListener implementation
        // -------------------------------------------------------
        @Override
        public void attributeAdded(HttpSessionBindingEvent sbe) {
          /* This method is called when an attribute 
             is added to a session.
          */
        }
        @Override
        public void attributeRemoved(HttpSessionBindingEvent sbe) {
          /* This method is called when an attribute
             is removed from a session.
          */
        }
        @Override
        public void attributeReplaced(HttpSessionBindingEvent sbe) {
          /* This method is invoked when an attibute
             is replaced in a session.
          */
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68

    写在最后的话:

    使用Servlet模板,能够更便捷地创建Servlet~~如果觉得对你有帮助对话,就帮博主点个赞吧b( ̄▽ ̄)d

    推荐阅读

    • JavaWeb三大组件:该文主包含对Java三大组件Servlet、Filter、Listener的基础概念和基本使用,能够带你快速上手三大组件
  • 相关阅读:
    C++算法 —— 动态规划(7)两个数组的dp
    Linux修改SSH连接的默认端口
    Openssl数据安全传输平台008:业务数据分析+工厂方法
    初级软件测试工程师如何涨薪?
    WifiCountryCode&信道
    EtherCAT从站转CclinkIE协议网关应用案例
    ArcGIS JS API 4.23 Web服务器部署
    Mysql如何确定执行计划是最优开销?Mysql优化器!
    AcWing 668. 游戏时间2
    @Autowired注解和@Resource注解的区别
  • 原文地址:https://blog.csdn.net/qq_66345100/article/details/126815520