首先先展示一张Servlet工作的流程图
Servlet的工作流程:
1、浏览器的通讯模块依据ip,port与服务器建立连接
2、浏览器将请求数据按照http协议的要求打包
3、数据包传输到服务器端,由服务器端的通讯模块按照http协议对数据包进行拆包,并将解析后的数据封装到request对象上。同时服务器还会创建一个response对象。
4、服务器依据请求资源路径(/appname/servlet-url)找到对应的servlet配置,并创建这个servlet对象。接下来,调用该对象的service()方法(服务器会将事先创建好的request,response对象作为参数传递进来)。
5、在servlet的service()方法里,可以通过request对象获取请求参数,也可以在处理请求之后,将处理结果写到response上。
6、服务器读取response对象上的数据,然后根据http协议进行打包,发送给浏览器。
7、浏览器根据http协议拆包,并生成相应的界面。