1、servlet 书写基本格式
[code="xml"] HelloWordcom.ibm.servlet.HelloWordHelloWord/1
2、 servlet 生命周期(3个周期初始化、运行、结束;5个步骤)
加载 ClassLoader
实例化 new
初始化 init(ServletConfig)
处理请求 service doGet doPost
退出服务 destroy()
3、Servlet执行的步骤如下:
1)客户机将请求发送给服务器。
2)服务器从浏览器的地址栏获得请求的信息。并根据Web.xml配置文件找到响应的Servet执行。如果找不到,会报404错误。
3)如果是第一次请求,那么会实例化该Servlet,调用init()方法进行初始化,该方法在Servlet 的生命周期里只执行一次。然后分配线程进行响应。如果不是第一次访问,那么会直接分配个线程进行客户的响应。
init的调用决定于web.xml 本servlet的 load-on-startup 参数的配置
如果配置为<0或者不配置,在第一次请求的时候初始化
如果配置为0或者大于0的数,部署的时候就会实例化
4)在Servlet响应之前,服务器会产生request,response对象,并且把客户请求的信息封装到request对象中,然后把这两个对象传递给Servlet的service()方法执行。
service()根据请求的方式来调用不同的方法执行。比如get请求,service()方法会request,response对象传递给doGet()方法执行,把执行后的结果保存到response对象里面。返回给客户。
5)服务器关闭后,会调用Servlet的destroy()方法进行销毁。
备注:
【1】 init()方法 只执行一次
【2】 destroy()方法 只在关闭服务器的时候执行
是在服务器 完全关闭后执行,例如Tomcat:
****************************************************************************
2011-3-21 15:58:42 org.apache.catalina.core.StandardService stop
信息: Stopping service Catalina
************** This is a destroy method
****************************************************************************
111111111