Servlet的生命周期(业务代码的执行顺序)
- 创建,重写(@Override)
init()
。此方法在第一次访问servlet时自动调用,只会执行一次 - 处理请求,重写
service()
。此方法每次访问servlet时都会自动调用,可以调用多次。 - 销毁,重写
destroy()
。此方法在服务器关闭时自动调用,只会执行一次。
Servlet的运行工作过程
- 客户端想服务器的某个servlet容器发出Http请求。
- 服务器的Servlet容器接收到请求。
- 服务器的Servlet容器根据请求信息创建一个HttpServletRequest对象(此过程由Servlet自动容器完成),并将客户端的请求的信息封装到HttpServletRequest对象中。
- 服务器的Servlet容器创建一个HttpServletRepose对象(此过程由Servlet容器自动完成)。
- 服务器的Servlet容器调用HttpServlet对象
service()
方法,把Request和Response作为参数,传HttpServlet对象。 - HttpSevelet对象调用HttpServletRequest对象的有关方法,获取客户端的Http请求信息。
- HttpServlet对象调用HttpServletResponse对象的有关方法,生成相应数据。
- Servlet容器把HttpServlet的相应结果传给客户端。
后记:
hexo的这个tags和categories功能是真几把鸡肋啊,定位重复了,还不允许设置同为一级的tags和categories。