《Servlet和JSP学习指南》一1.2 Servlet

1.2 Servlet

Servlet接口定义了以下5个方法。
《Servlet和JSP学习指南》一1.2 Servlet

注意,编写Java方法签名的规则是:与包含该方法的类型不在同一个包中的类型,要使用全类名。如service方法javax.servlet.ServletException的签名,由于它与Servlet接口处在同一个包中,因此编写的时候不需要包信息,用ServletException即可;但是由于java.io.Exception类不在同一个包中,因此需要用全类名才行,即java.io. Exception。
init、service和destroy方法属于Servlet生命周期方法。Servlet容器将根据以下原则调用这三个方法:
init。第一次请求Servlet时,Servlet容器就会调用这个方法。在后续的请求中,将不再调用该方法。可以利用这个方法来编写一些应用程序初始化相关的代码。在调用这个方法时,Servlet容器会传递一个ServletConfig。一般来说,会将ServletConfig赋给一个类级变量,以便Servlet类中的其他方法也可以使用这个对象。
service。每次请求Servlet时,Servlet容器都会调用这个方法。必须在这里编写要Servlet完成的相应代码。第一次请求Servlet时,Servlet容器会调用init方法和service方法。对于后续的请求,则只调用service方法。
destroy。要销毁Servlet时,Servlet容器就会调用这个方法。它通常发生在卸载应用程序,或者关闭Servlet容器的时候。一般来说,可以在这个方法中编写一些资源清理相关的代码。
Servlet中的另外两个方法是非生命周期方法:getServletInfo和getServletConfig。
getServletInfo。该方法返回Servlet的描述。可以返回可能有用的任意字符串,甚至是null。
getServletConfig。该方法返回由Servlet容器传给init方法的ServletConfig。但是,为了让getServletConfig返回非null值,你肯定已经为传给init方法的ServletConfig赋给了一个类级变量。ServletConfig将在1.6节讨论。
必须注意的一点是线程安全性。一个应用程序中的所有用户将共用一个Servlet实例,因此不建议使用类级变量,除非它们是只读的,或者是java.util.concurrent.atomic包中的成员。
下一节将介绍如何编写Servlet实现。

上一篇:Web调用安卓,苹果手机摄像头,本地图片和文件


下一篇:DB-Engines:2016年10月份全球数据库排名