HTTP协议核心内容、Servlet开发步骤

1. HTTP 协议核心内容

协议:两个设备进行数据交换的约定。
HTTP协议:超文本(字符/音频/视频/图片)传输协议,基于TCP协议
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1 HTTP 请求报文(图)

HTTP 请求数据 - 抓包中核心内容:
在这里插入图片描述
HTTP 请求报文的原始细节:
在这里插入图片描述

1.2 HTTP 响应报文(图)

HTTP 响应数据 - 抓包中的核心内容:
在这里插入图片描述
HTTP 响应报文的原始细节:
在这里插入图片描述

1.3 HTTP 请求-响应执行流程

  1. 发起请求(GET/POST
  2. 域名解析
    本地域名解析(C:\Windows\System32\drivers\etc\hosts)
    互联网域名解析(DNS)
  3. 执行请求
  4. 响应请求

1.4 GET 与 POST 请求的区别

● GET 只能传递1kb以下的数据;POST 可以传递大数据
● GET 请求参数会直接拼接到Request URL上(&);POST 请求参数是在请求正文中,更安全
● GET 主要用于获取/查询数据;POST 主要用于更新数据/上传文件

1.5 常用响应状态码

200:服务器响应成功
302:页面重定向
304:页面无变化,无需重新请求服务器
404:没有对应的服务器资源
500:服务器内部错误
在这里插入图片描述

2. Servlet 开发步骤

2.1 Servlet 核心作用

  1. 接收客户端浏览器请求,完成操作任务
  2. 动态生成网页(页面数据可变)
  3. 将包含操作结果的动态网页响应给客户端浏览器

2.2 Servlet 创建项目目录(参考)

Web项目参考目录:

|--webapps(存放所有网站)
    |--MyServlet(网站)
        |--WEB_INF(核心内容)
            |--classes/*.class.class文件)
            |--lib/*.jar(网站需要的jar包)
            |--web.xml(配置文件)
        |--css/*.css(样式文件)
        |--img/*.jpg/png/bmg/gif(图片资源)
        |--js/*.js(脚本文件)
        |--*.html(静态页面)
|--XXXServlet

IDEA中Web项目参考目录:
在这里插入图片描述

2.3 Servlet 的jar包依赖库配置

IDEA 的External Library中没有Tomcat包( jsp-api.jar & servlet-api.jar)时:
Alt+1 切到项目窗口 >> F4 打开Module Setting >> 选择Dependencies >> 增加Tomcat的库
在这里插入图片描述

2.4 Servlet 基本开发步骤

① 创建参考目录结构
② 三种方式实现 Servlet 处理 浏览器网页到 Tomcat服务器端 的请求和响应

  • 方式一:
    实现 javax.servlet.Servlet 接口,重写 5 个主要方法,处理请求的方法是 service( )
  • 方式二:
    继承 javax.servlet.GenericServlet 抽象类,重写需要的方法,处理请求的方法是 service( )
  • 方式三:【最优】
    继承 javax.servlet.http.HttpServlet 抽象类,默认重写了 service( ) 方法,且针对http协议优化,需自行重写 doGet( ) 和 doPost( ) 方法处理请求

③ 在文件 WEB_INF/web.xml 中新增如下内容:

    <!--创建servlet标签-->
    <servlet>
        <!--给指定的servlet类起一个名字-->
        <servlet-name>demo01</servlet-name>
        <!--servlet类的全限定路径-->
        <servlet-class>com.demo.t1.servlet.Demo01</servlet-class>
    </servlet>
    <!--创建servlet映射标签-->
    <servlet-mapping>
        <!--映射到哪个servlet,与上面一致-->
        <servlet-name>demo01</servlet-name>
        <!--客户端访问路径 localhost:8080/项目名称/demo-->
        <url-pattern>/demo</url-pattern>
    </servlet-mapping>

web项目中此时会有 /demo 的访问资源,访问方式:
http://localhost:8080/projname/demo

  • projname:此时为IDEA中当前项目名称
  • demo:为<url-pattern>标签中的内容
发布了320 篇原创文章 · 获赞 311 · 访问量 66万+

猜你喜欢

转载自blog.csdn.net/sinat_36184075/article/details/105439435
今日推荐