HTTP
概念:HyperTextTransferProtocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则

HTTP协议特点:
1.基于TCP协议:面向连接,安全
2.基于请求-响应模型的:一次请求对应一次响应
3.HTTP协议是无状态协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。
- 缺点:多次请求间不能共享数据。Java使用会话技术(Cookie,Session)来解决这个问题
- 优点:速度快
HTTP-请求数据格式

Servlet
Servlet是Java提供的一门动态web资源开发技术

器运行Servlet。

Servlet的快速入门

Servlet的执行流程
Servlet的生命周期
对象的生命周期指一个对象从被创建到被销毁的整个过程。

Servlet运行在Servlet容器(web服务器)中,其生命周期由容器来管理,分为四个阶段:
1.加载和实例化:在默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象
2.初始化:在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象,完成一些如加载配置文件,创建连接等初始化的工作。该方法只调用一次
3.请求处理:每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理。
4.服务终止:当需要释放内存或容器关闭时。容器就会调用Servlet实例的destory()方法完成资源的释放。在destory()方法调用之后,容器就会释放这个Servlet实例,该实例随后会被Java的垃圾收集器回收
Servlet urlPattern 配置
Servlet要想被访问,必须配置其访问路径(urlPattern)
1.一个Servlet,可以配置多个urlPattern

2.urlPattern 配置规则
1)精确匹配

2)目录匹配

3)扩展名匹配

4)任意匹配

/ 和 /*区别:
- 当我们的项目中的Servlet配置了" / ",会覆盖掉tomcat中的DefaultServlet,当其他的url-pattern都匹配不上时都会走这个Servlet
- 当我们的项目中配置了" /* " ,意味着匹配任意访问路径。
优先级:精确路径> 目录路径 > 扩展名路径 > /* > /
XML 配置方式编写 Servlet
Servlet从3.0版本后开始支持使用注解配置,3.0版本前只支持XML配置文件的配置方式。
步骤:
1.编写Servlet类
2.在web.xml中配置改Servlet
