`

servlet生命周期--1

阅读更多
                                                        Servlet周期
        Servlet的生命周期一般分为四个阶段,Servlet的产生,初始化,调用Servlet方法,最后是对Servlet的销毁.标志这个Servlet生命周期的结束.
        1.Servlet的产生.
                一个Servlet的产生是因为客户端有一个request请求的过来.这样服务器会生产一个Servlet.而且一个Servlet只生成一次.即服务器只加载对于一种Servlet只会加载一次.
        在服务起内部首先会判断服务器的JVM是否已经加载了这个Servlet(内部是以这样的形式加载Class.forName("Servlet名字"),该方法加载这个类,并生成该类的实例.)
        如果没有就加载这个Servlet.若有,则直接跳过加载这步,进入初始化inti().
        2.Servlet的初始化inti()
                在加载一个Servlet后,服务器会自动调用inti()方法,默认的是调用有参的初始化方法
                public void inti(ServletCongfig config)throws ServletException{
                        this.config=config;
                        inti();
                }
                生成一个config.这样在之后Servlet方法中可以直接调用ServletConfig()的一些方法,而不必在前面加getServletConfig().getIntiParameter()来获得自己想要的初始化参数.
                2.1初始化方法的覆盖:
                我们在初始化某个Servlet的时候有两种方法
                        2.1.1 直接覆盖有参的inti方法.
                        当我们生成一个Servlet后,服务器会默认的调用有参的inti(),那么若我们覆盖了这个方法,服务器首先调用的就是我们覆盖后的inti(),不会去调用父类的初始化方法,这样就无法生成一个config.所以我们的这种方法方式覆盖,需要我们在覆盖的方法中调用父类的inti(),即super.inti(config).
                        2.1.2 覆盖无参的inti()方法
                        由上可知,生成一个Servlet,会自动调用有参的inti()方法,生成一个config.而在有参的inti()方法中,有调用了无参的inti(),那么我们只需要覆盖无参的inti()方法,并在里面添加我们需要的信息即可.这种方法较为简单,推荐使用这种方式.
            
              
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics