Servlet和HTTP
Servlet的体系结构
Servlet---->GenericServlet---->HttpServlet
- GenericServlet:将Servlet接口中的其他方法默认空实现,只将service方法实现,通过extends个可以继承该类并复写service方法
- HttpServlet:继承HttpServlet方法,复写doGet和doPost方法,实质是对http协议的封装,简化操作;推荐使用这种方法
Servlet的相关配置
urlPattern:Servlet的访问路径
- 一个Servlet可以定义多个访问路径
- 路径的定义规则:
- /path
- /path1/path2
- *.path
HTTP
-
概念:Hyper Text Transfer Protocol 超文本传输协议
-
特点
- 基于TCP/IP的高级协议
- 基于请求--响应模型,请求和响应一一对应
- 无状态协议:每次请求之间相互独立
-
请求消息数据格式 request
-
请求行
请求方式(常用两种):
- GET:请求参数在url后,url长度有限制,不安全
- POST:请求参数在请求体中,url长度没有限制
请求方式 url 请求协议/版本
get /page.html HTTP/1.1
-
请求头(键值对)
Host:请求地址
User-Agent:浏览器版本
Accept:接受文件类型
Referer:请求来源;用于防盗链和数据统计
Connection:连接能否复用
请求头名称:请求头值
-
请求空行
分割行
-
请求体
正文;传递请求参数
-
-
request对象
-
request和response对象的原理
- 流程:服务器根据请求创建对象,tomcat将request和response对象传递到service方法;在service方法中处理业务逻辑并返回;服务器从response中拿到响应消息返回给浏览器
- request和response对象由服务器创建
- request对象用来获取请求消息
- response对象用来设置响应消息
-
request继承体系
ServletRequest-->HttpServletRequest-->org.apache.catalina.connector.RequestFacade
-
request功能
- 获取请求消息数据
- 其他功能
-
来源:https://www.cnblogs.com/lijiext/p/12653032.html