Servlet复习笔记(1)

1. 什么是Servlet

  • Servlet 是运行在服务器上的程序,它是作为来自浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
  • Servlet 是 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。其本身是一个接口。

2. Servlet生命周期

每次部署一个web工程,servlet的生命周期如下:

  1. 执行当前类实现Servlet接口的类的构造方法
  2. 执行init初始化方法
  3. 执行 service 方法
  4. 执行 destroy 销毁方法

注:第1、2步,是在第一次访问的时候创建 Servlet 程序才会调用。而第3步在每次访问都会调用。 第4步在web工程停止的时候调用。

package com.prac.servlet;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

public class HelloServlet implements Servlet {
    public HelloServlet() {
        System.out.println("1.构造方法");
    }

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("2.init初始化方法");
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("3.service:hello servlet is called");
    }
    @Override
    
    public void destroy() {
        System.out.println("4.destory销毁方法");
    }
}

3. 获取请求方式(get/post)

@Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("3.service:hello servlet is called");
        //进行HttpServletRequest的类型转换,因为HttpServletRequest有getMethod()
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
        String method = httpServletRequest.getMethod();
        System.out.println(method);
    }

4. 继承HttpServlet 实现 Servlet 程序

在实际项目开发中,都是使用继承HttpServlet 类的方式实现Servlet程序:

  • 编写一个类 继承 HttpServlet 类
  • 根据业务需要重写doGet或doPost方法
  • 到web.xml中的配置 Servlet 程序的访问地址(若使用的是xml方法配置)
package com.prac.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


//继承HttpServlet
public class HelloServlet2 extends  {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("deGet method");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("dePost method");
    }
}

5. Servlet类的继承体系

在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读