关于servlet生命周期和相关接口的理解

1、实例化创建servlet对象

    由容器负责创建,默认情况下,请求到达容器,容器检检查是否有对象,没有则创建;对象创建的时机也可以在web.xml设置。

2、初始化

    如何初始化参数:

涉及servlet接口规定了5种方法,与生命周期相关的三种方法分别是:

init(ServletConfig config);service(ServletRequest req,ServletResponse res);destroy();

我们写的servlet类继承了HttpServlet抽象类,而HttpServlet继承了GenericServlet抽象类,GennericServlet抽象实现servlet接口,重写了init(ServletConfig config)和destroy()方法,注意抽象类并不一定要实现接口所有的方法。

其中GennericServle重写的init(ServletConfig config):

但是我们写的子类如何获取父类方法中局部变量?定义了全局变量ServletConfig config,但是被private修饰了,

所以不能直接被子类使用,幸运的是GennericServlet类提供了public修饰getConfig()方法,子类可以直接this.getConfig()获取该对象,取得web.xml文件配置的初始化参数。

如:

ServletConfig config=getServletConfig();
String value=config.getInitParameter("version");

其中version是在web.xml文件配置的参数名。

 

 

3、就绪

容器调用service();在底层,容器会根据请求方式调用doGet()或者doPost()方法,因此作为子类,可以重写service();也可以重写doGet()或者doPost()。建议使用前者,因为可以处理get和post两种请求。

注意servlet接口定义的service方法是:service(ServletRequest req,ServletResponse res);而不是我们重写的service(HttpServletRequest req,HttpServletResponse res);那是因为在父类HttpServlet中有两个service方法。


4、销毁

 

容器调用destroy();容器会根据自身的算法,判断出需要销毁的servlet对象。参考垃圾回收机制,这样才能释放资源空间,防止内存泄露。

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Bean 的作用域和生命周期是 Spring 框架中非常重要的两个概念,这里简单介绍一下。 1. Bean 的作用域 在 Spring 中,Bean 的作用域指的是 Bean 实例的创建和销毁的范围。Spring 提供了以下五种作用域: - singleton:单例模式,容器中只有一个 Bean 实例,所有对 Bean 的请求都将返回同一个实例。 - prototype:每次请求都会创建一个新的 Bean 实例。 - request:每个 HTTP 请求都会创建一个新的 Bean 实例。 - session:每个 HTTP Session 都会创建一个新的 Bean 实例。 - global session:基于 Servlet 3.0+ 的环境下,每个全局的 HTTP Session 都会创建一个新的 Bean 实例。 2. Bean 的生命周期 Bean 的生命周期指的是 Bean 实例从创建到销毁的整个过程。Spring 提供了以下七个阶段: - 实例化 Bean:Spring 根据 Bean 的定义创建一个 Bean 的实例。 - 设置 Bean 属性:Spring 将配置文件中的属性设置到 Bean 实例中。 - BeanNameAware:如果 Bean 实现了 BeanNameAware 接口,Spring 将 Bean 的 ID 传递给 setBeanName 方法。 - BeanFactoryAware:如果 Bean 实现了 BeanFactoryAware 接口,Spring 将 BeanFactory 实例传递给 setBeanFactory 方法。 - InitializingBean:如果 Bean 实现了 InitializingBean 接口,Spring 将调用 afterPropertiesSet 方法。 - 自定义初始化方法:Bean 可以配置自定义的初始化方法。 - DisposableBean:如果 Bean 实现了 DisposableBean 接口,Spring 将调用 destroy 方法。 - 自定义销毁方法:Bean 可以配置自定义的销毁方法。 以上就是 Spring Bean 的作用域和生命周期的简单介绍。理解 Bean 的作用域和生命周期对于正确使用 Spring 框架非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值