Servlet

Servlet 生命周期

1、当客户端请求 Servlet 时,Tomcat 会查询当前目标 Servlet 的实例化对象是否存在,如果不存在,则执行第 2 步,如果存在,则执行第 4 步。

2、通过反射机制创建 Servlet 的实例化对象(Tomcat 完成)。

3、调用 init 方法完成初始化的操作。

4、调用 service 方法完成具体的业务逻辑。

5、当关闭 Tomcat 应用的时候,Tomcat 会调用 destory 方法,释放当前 Servlet 对象占用的资源。

Servlet 生命周期方法

  • 构造函数,只调用一次,创建对象。
  • init 方法,只调用一次,初始化对象。
  • service 方法,调用多次,执行多少请求,就调用多少次。
  • destory 方法,只调用一次,卸载对象。

init 方法获取的 ServletConfig,可以用来获取 Servlet 相关配置。

1、getServletName() 获取当前 Servlet 的name,由 web.xml 中配置的 servlet-name 来决定。

2、getInitParamter() 获取当前 Servlet 的初始化参数,配置在 web.xml 中。

3、getServletContext() 获取当前 Servlet 的上下文对象。

4、getInitParameterNames() 获取当前 Servlet 的所有初始化参数名。

@Override
public void init(ServletConfig servletConfig) throws ServletException {
  System.out.println(servletConfig.getServletName());
  System.out.println(servletConfig.getServletContext());
  System.out.println(servletConfig.getInitParameter("username"));
  Enumeration<String> names = servletConfig.getInitParameterNames();
  while(names.hasMoreElements()){
    System.out.println(names.nextElement());
  }
}

ServletConfig 和 ServletContext 的区别

我们可以通过 ServletConfig 对象获取当前 Servlet 的配置信息。


ServletContext 是当前 Servlet 的上下文,Servlet 的管理者,可以获取当前 Servlet 对象相关的各种资源。


ServletConfig 作用于某个特定的 Servlet 对象,每个 Servlet 对象都有一个 ServletConfig。


ServletContext 作用于整个 Web 应用,多个 Servlet 共用同一个 ServletContext,一个 Web
应用只能有一个 ServletContext,但是可以有多个 ServletConfig。


ServletContext 是全局变量,ServletConfig 是局部变量。

ServletContext 的常用方法

  • getInitParameter(String key) 获取全局参数。
  • getServerInfo() 获取当前 Tomcat 容器信息。
  • getContextPath() 获取当前 Web 应用的工程名。
  • getRealPath() 获取当前 Web 应用的绝对路径。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值