JavaWeb--快速入门Servlet(Part2)

123 阅读2分钟

「这是我参与2022首次更文挑战的第4天,活动详情查看:2022首次更文挑战

前言

路遥说,在一个平凡的世界里,人要承受一定的痛苦和不安。但只要相信个体奋斗的力量,坚定地与生存搏斗,就能过上想要的生活。

很喜欢《平凡的世界》的一句话,一直不断的鼓励我努力向前,也送个各位看到这个写的很烂的文章的人,共勉~

三、ServletContext 类

什么是 ServletContext?

1、ServletContext 是一个接口,它表示 Servlet 上下文对象

2、一个 web 工程,只有一个 ServletContext 对象实例。

3、ServletContext 对象是一个域对象。

4、ServletContext 是在 web 工程部署启动的时候创建。在 web 工程停止的时候销毁。

什么是域对象?

域对象,是可以像 Map 一样存取数据的对象,叫域对象。

这里的域指的是存取数据的操作范围,整个 web 工程

image-20211224190703434

package com.caq.study;

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

public class ContextServlet1 extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取context对象
        ServletContext contest = getServletContext();

        contest.setAttribute("key1","value1");

        System.out.println("Context1中获取域数据key1的值是:"+contest.getAttribute("key1"));
        System.out.println("Context1中获取域数据key1的值是:"+contest.getAttribute("key"));
        System.out.println("Context1中获取域数据key1的值是:"+contest.getAttribute("key"));
        System.out.println("Context1中获取域数据key1的值是:"+contest.getAttribute("key"));
    }
}

image-20211224190858723

四、HTTP协议

什么是HTTP协议?

协议就是指双方或多方规定好的,大家都需要遵守的规则,就叫协议

HTTP协议就是客户端和服务器通信时,发送数据要遵守的规则!

Http协议中的数据又叫报文

请求的 HTTP 协议格式

客户端给服务器发送数据叫请求。 服务器给客户端回传数据叫响应。

Get请求

请求又分为 GET 请求,和 POST 请求两种

放一个Get请求的HTTP协议内容

image-20211224191736902

image-20211224193309144

Post请求

image-20211224193422636

常用请求头的说明

Accept: 表示客户端可以接收的数据类型

Accpet-Languege: 表示客户端可以接收的语言类型

User-Agent: 表示客户端浏览器的信息

Host: 表示请求时的服务器 ip 和端口

哪些是 GET 请求,哪些是 POST 请求

GET请求有哪些:

1、form标签method=get

2、a标签

3、link标签引入css

4、Script标签引入js 文件

5、img标签引入图片

6、iframe引入 html页面

7、在浏览器地址栏中输入地址后敲回车

POST请求有哪些:

8、form标签method=post

响应的 HTTP 协议格式

image-20211224193632889

常用的响应码说明

200 表示请求成功

302 表示请求重定向

404 表示请求服务器已经收到了,但是你要的数据不存在**(请求地址错误)**

image-20211224193755581

500 表示服务器已经收到请求,但是服务器内部错误**(代码错误)**

因为我的代码里出现了除0的操作所以会报500

image-20211224193938695