Servlet任务
- 读取客户端(浏览器)发送的显式的数据,包括网页上的表单。
- 读取客户端(浏览器)发送的隐式HTTP请求数据,包括cokkies、媒体类型和浏览器能理解的压缩格式。
- 处理数据并产生结果,这个过程可能需要访问数据库,执行RMI或CORBA调用Web服务,或者直接计算得出对应的响应。
- 发送显式的数据(文档)到客户端,包括文本文件(HTML、XML),二进制文件(GIF图像),excel等。
- 发送隐式的HTTP响应到客户端,告诉浏览器被返回的文档类型,设置cookies和缓存参数。
Servlet生命周期 --servlet容器即web服务器
Servlet的生命周期:从Servlet被创建到被销毁的过程
- Servlet通过调用init() 方法进行初始化
init只在第一次创建被调用 - Servlet调用service()方法来处理客户端的请求
并把格式化的响应写回给客户端 - Servlet通过调用destroy()方法结束
只在结束时被调用 - 最后由JVM的垃圾回收器进行垃圾回收
实现Servlet接口
一次创建,到处服务
一个Servlet只会有一个对象,服务所有的请求
1、实例化 (使用构造方法创建对象)
2、初始化 执行init方法
3、服务 执行service方法
4、销毁 执行destroy方法
最常见的创建Servlet的方法:
继承HttpServlet
public class ServletDemo2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
System.out.println("doGet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
System.out.println("doPost");
doGet(req,resp);
}
}