今天,接到一个新需求,发现全是用servlet实现,脑海中一转悠,竟发现对servlet的基本流程已经忘记的七七八八,遂重新回顾学习了一下。
1、servlet出现
浏览器通过静态html页面将各种效果展示给用户,然而,我们的网页不仅仅只有静态的,有时也需要一些动态的操作,这时,servlet应运而生。
2.servlet生命周期
1)实例化:servlet容器创建servlet实例
2)初始化:调用init()方法,初始化servlet
3)执行阶段:调用service()方法,根据请求方式选择dopost()或者doget()方法
4)销毁:调用destroy()方法,销毁servlet实例
3.servlet执行过程
浏览器发送请求——服务端通过配置文件的servlet映射关系找到对应的servlet——调用service方法,根据request对象中封装的参数、用户请求等执行数据库操作——返回结果封装置response,并会传到客户端——客户端动态生成html页面展示
4.servlet优势
servlet采用多线程来处理多个请求同时访问,servlet容器通过线程池来管理服务请求,这大大提高了工作效率。
当容器接收到一个servlet请求时,便从线程池中调出一条工作线程,将用户请求传给该线程,调用service方法,此时如果有新请求,servlet容器则调出另一条新的工作线程接收其请求,并调用service方法,若同时有多个客户端请求,那么servlet的service方法并发执行。
文中很多部分根据 @何静媛 博客内容引用而来,非常感谢。
源博客地址:https://blog.csdn.net/hejingyuan6/article/details/30273879