黑马web day07 web核心

Http tomcat servlet review

http就是超文本传输协议 它是基于tcp可靠连接的(三次握手) 属于应用层协议 下层为运输层

 http请求数据格式

请求行

请求头

请求体

 http响应数据格式

 响应体一般是网页啊,没有tomcat是要人为把服务器中网页内容输入到用户浏览器中

并被浏览器解析,tomcat帮助我们干了这件事,还有很多事情它也帮我们做

WEB服务器(水杯)

其中之一tomcat 又称为servlet容器 web容器

IDEA中我们如何创tomcat项目?

1.使用骨架

 servlet 一个接口 一种动态资源

Servletweb服务器创建,Servlet方法由web服务器调用

每次发送请求,调用service()方法

Servlet的一个快速入门:

比较重要Servlet体系结构

根接口Servlet 是jdk扩展 要引入jar包或者依赖

子实现类HttpServlet中Service方法源码如下

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String method = req.getMethod();
    long lastModified;
    if (method.equals("GET")) {
        lastModified = this.getLastModified(req);
        if (lastModified == -1L) {
            this.doGet(req, resp);
        } else {
            long ifModifiedSince = req.getDateHeader("If-Modified-Since");
            if (ifModifiedSince < lastModified) {
                this.maybeSetLastModified(resp, lastModified);
                this.doGet(req, resp);
            } else {
                resp.setStatus(304);
            }
        }
    } else if (method.equals("HEAD")) {
        lastModified = this.getLastModified(req);
        this.maybeSetLastModified(resp, lastModified);
        this.doHead(req, resp);
    } else if (method.equals("POST")) {
        this.doPost(req, resp);
    } else if (method.equals("PUT")) {
        this.doPut(req, resp);
    } else if (method.equals("DELETE")) {
        this.doDelete(req, resp);
    } else if (method.equals("OPTIONS")) {
        this.doOptions(req, resp);
    } else if (method.equals("TRACE")) {
        this.doTrace(req, resp);
    } else {
        String errMsg = lStrings.getString("http.method_not_implemented");
        Object[] errArgs = new Object[]{method};
        errMsg = MessageFormat.format(errMsg, errArgs);
        resp.sendError(501, errMsg);
    }

}

我们自己写的类继承httpServlet,重写了get post方法

那么根据规则,Servlet容器帮我们创建我们自定义的Servlet对象,每次请求来,我们调通过这个Servlet对象调用Service()方法(继承关系想上找),那当然,Service()方法中的doget dopost就是我们重写的方法 动态绑定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值