1.2 Servlet

朗读文章

朗读:
重新朗读:

1.2 Servlet

Servlet接口中定义了以下5个方法:

1
2
3
4
5
6
void init(ServletConfig config) throws ServletException 
void service(ServletRequest request,ServletResponse response)
throws ServletException, java.io.IOException
void destroy()
java.lang.String getServletInfo()
ServletConfig getServletConfig()

注意,编写Java方法签名时,如果方法的返回值类型或者抛出的异常类型和定义这个方法的类不再同一个包下,则返回值类型或异常类型要使用类全名。 正因为如此,在service方法的签名中,由于javax.servlet.ServletException这个类与当前类Servlet位于同一个包中,所以ServletException,可以不用写类全名,而java.io.Exception和当前类javax.servlet.Servlet,不再同一个包下,所以Exception类要写完整的名称。

生命周期方法

initservicedestroy是生命周期方法。Servlet容器根据以下规则调用这3个方法:

  • init方法,当该Servlet第一次被请求时,Servlet容器会调用这个方法。这个方法只调用这一次,在后续请求中将不会再被调用。我们可以利用这个方法执行相应的初始化工作。 调用这个方法时,Servlet容器会传入一个 ServletConfig对象的引用作为init方法的参数。一般来说,你会在init方法体中把ServletConfig对象引用赋给一个类变量。
  • service方法,每当请求Servlet时,Servlet容器就会调用这个service方法。当第一次请求Servlet时,Servlet容器要同时调用init方法和service方法。后续的请求将只调用service方法。
  • destroy方法,当要销毁Servlet时,Servlet容器就会调用这个方法。当要卸载应用程序,或者当要关闭 Servlet容器时,就会发生这种情况。一般会在这个方法中编写清除代码。

非生命周期方法

Servlet中的另外两个方法是非生命周期方法,即 getServletInfogetServletConfig方法:

  • getServletInfo方法,这个方法会返回Servlet的描述。你可以返回有用的或者为null的任意字符串。
  • getServletConfig方法,这个方法会返回由Servlet容器传给init方法的ServletConfig对象。但是,为了让 getServletConfig方法返回一个非null值,必须将传给init方法的ServletConfig赋给一个类变量。 ServletConfig将在本章的1.6节中讲解。

注意线程安全性。Servlet实例会被一个应用程序中的所有用户共享,因此不建议使用类级变量,除非它们是只读的,或者是java.util.concurrent.atomic包的成员。 下一节“编写基础的Servlet应用程序”将介绍如何编写Servlet实现。

原文链接: 1.2 Servlet

博客
32132
07-14 364
07-12 297
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值