HTTPServlet

HttpServlet的功能

HttpServlet首先必须读取Http请求的内容。Servlet容器负责创建HttpServlet对象,并把Http请求直接封装到HttpServlet对象中,大大简化了HttpServlet解析请求数据的工作量。

HTTPServlet_第1张图片

HttpServlet容器响应Web客户请求流程如下:

1)Web客户向Servlet容器发出Http请求;

2)Servlet容器解析Web客户的Http请求;

3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;

4)Servlet容器创建一个HttpResponse对象;

5)Servlet容器调用HttpServlet的service方法,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;

6)HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;

7)HttpServlet调用HttpResponse的有关方法,生成响应数据;

8)Servlet容器把HttpServlet的响应结果传给Web客户。

HTTPServlet伪代码:

Service方法要对求方式的不同,进行分别的处理

public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
         //根据请求方式的不同,进行分别的处理
        HttpServletRequest request = (HttpServletRequest) servletResponse;
        //获取请求方式
        String method = request.getMethod();
        //判断方式
        if("GET".equals(method)){
            //get处理逻辑
            
            doGet(servletRequest,servletResponse);
        } else if ("POST".equals(method)) {
            //post处理逻辑
            doPost(servletRequest,servletResponse);
        }
    }

通过继承HTTPServlet实现对doGet和doPost方法的重写

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

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

你可能感兴趣的:(servlet)