一 Servlet的生命周期
1.客户端请求该Servlet;
2.加载Servlet类到内存;
3.实例化并调用init()方法初始化该Servlet;
4.service()(根据请求方法不同调用doGet()或者doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions();)
5.destroy()销毁。
二 Servlet的通讯
Servlet:JAVA编写的在服务器上运行的小程序/类.接收client请求,处理,响应.
1.include:包含
应用场景:在复杂动态网页中,有公共部分可提取,可以把公共部分分别定义成servlet,使用include合并到一起.
使用:
//获取请求分发对象
RequestDispatcher rd = request.getRequestDispatcher("/url-pattern");//include
rd.include(request, response);
特点: 1)地址栏不变
2)服务器端的转发(在服务端运行)
3)看到的是所有servlet的结果之和
4)共享同一个request
2.forward:转发
应用场景: 一个Servlt从数据库中取出数据,转到另外一个servlet进行显示
使用: //获取请求分发对象
RequestDispatcher rd = request.getRequestDispatcher("/url-pattern");
//forward
rd.forward(request, response);
特点: 1)地址栏不变
2)服务器端的转发(在服务端运行)
3)永久转向(看到的是最后一个servlet的处理结果)
4)共享同一个request