下面针对每个阶段的编程任务及注意事项进行详细的说明。在默认情况下Servlet实例是在第一个请求到来的时候创建,以后复用。在web.xml中该Servlet的定义标记中,比如:配置了两个初始化参数user和blog它们的值分别为username和http://。。。一旦ServletException抛出,Web服务器不会将客户端请求交给该Servlet实例来处理,而是报告初始化失败异常信息给客户端,该Servlet实例将被从内存中销毁。一旦该异常抛出,容器必须回收请求对象,并报告客户端该异常信息。IOException表示输入输出的错误,编程者不必关心该异常,直接由容器报告给客户端即可。此时会有多个线程同时执行同一个Servlet实例的service()方法,因此必须考虑线程安全的问题。该方法本身就是线程安全的,不必进行任何的同步控制。

基于servlet的执行原理与生命周期(全面解析)

基于servlet的执行原理与生命周期(全面解析)

基于servlet的执行原理与生命周期(全面解析)