一:简介
1.概念:HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则
2.HTTP协议特点:
①基于TCP协议:面向连接,安全
②基于请求-响应模型的:一次请求对应一次响应
③HTTP协议是无状态的协议:对应事务处理没有记忆能力。每次请求-响应都是独立的
(1)缺点:多次请求间不能共享数据
(2)优点:速度快
二:HTTP请求数据格式
1.请求数据分为三部分:
①请求行:请求数据的第一行。其中GET表示请求的方式,/表示请求资源路径,HTTP/1.1表示协议版本
②请求头:第二行开始,格式为key:value形式
③请求体:POST请求的最后一部分,存放请求参数
2.常见的HTTP请求头:
3.注意:GET请求和POST请求区别
①GET请求请求参数在请求行中,没有请求体
POST请求请求参数在请求体中
②GET请求请求参数大小没有限制,POST没有
三:HTTP响应数据格式
1.响应数据分为三部分:
①响应行:响应数据的第一行。其中HTTP/1.1表示协议版本,200表示响应状态码
②响应头:第二行开始,格式为key:value形式
③响应体:最后一部分。存放响应数据
2.常见HTTP响应头:
3.状态码分类:
4.常见的响应状态码:
---------------------------------------------------------------------------------------------------------------------------------
Servlet
一:简介
1.Servlet是Java提供的一门动态web资源开发技术
2.Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口,并由web服务器运行Servlet
二:Servlet快速入门
三:Servlet执行流程
1.Servlet由web服务器创建,Servlet方法由web服务器调用
2.因为我们自定义的Servlet,必须实现Servlet接口并复写其方法,而Servlet接口中有service方法
四:Servlet生命周期
1.对象的生命周期指一个对象从被创建到被销毁的整个过程
2.Servlet运行在Servlet容器(web服务器)中,其生命周期由容器来管理,分为4个阶段:
①加载和实例化:默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象
②初始化:在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象,完成一些如加载配置文件、创建连接等初始化的工作。该方法只调用一次
③请求处理:每次请求Servlet时,Servlet容器都会调用Servlet的service()方法请求进行处理
④服务终止:当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法完成资源的释放。在destroy()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器回收
3.注解:
①负整数:第一次被访问时创建Servlet对象
②0或正整数:服务器启动时创建Servlet对象,数字越小优先级越高
五:Servlet方法介绍
1.初始化方法,在Servlet被创建时执行,只执行一次
2.提供服务方法,每次Servlet被访问,都会调用该方法
3.销毁方法,当Servlet被销毁时,调用该方法。在内存释放或服务器关闭时销毁Servlet
4.获取ServletConfig对象
5.获取Servlet信息
六:Servlet体系结构
我们将来开发B/S架构的web项目,都是针对HTTP协议,所以我们自定义Servlet,会继承HttpServlet
七:Servlet urlPattern配置
Servlet想要被访问,必须配置其访问路径(urlPattern)
1.一个Servlet,可以配置多个urlPattern
@WebServlet(urlPattern = {"/demo1","/demo2"})
2.urlPattern配置规则
①精确匹配:
(1)配置路径:
(2)访问路径:
②目录匹配:
(1)配置路径:
(2)访问路径:
③扩展名匹配:
(1)配置路径: