这段时间学习了Servlet,总结了一下知识点
Servlet: 概念: 步骤 执行原理 生命周期 Servlet3.0注解配置 Servlet的体系结构 Servlet– 接口 GenericServlet– 抽象类 HttpServlet– 抽象类 GenericServlet:将Servlet接口中其他的的方法做了默认空实现,只将sercive()方法作为抽象 将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可 HttpServlet:对http协议的一种封装,简化操作 定义类继承httpServlet 复写doget/dopost方法 Servlet相关配置 Urlpartten:Servlet访问路径 一个servlet可以定义多个访问路径: @webservlet(“/1/1/1/1/1”) 路径定义规则: /xxx /xxx/xxx:多层路径,目录结构 *.do HTTP: 概念: Huper Text Transfer Protocol 超文本传输协议 传输协议:定义了,客户端和服务器段通信是,发送数据的格式 特点: 基于TCP/IP的高级协议 默认端口号:80 基于请求/响应模型的:一次请求对应一次响应 无状态的:每次请求之间相互独立,不能交互数据 历史版本: 1.0每一次请求响应都会建立新的连接 1.1复用连接 请求消息数据格式: 请求行 请求方式请求url 请求协议/版本 Get/ login.html http/1.1 请求方式: http协议有7种请求方式,常用的有2种 get: 请求参数在请求行中,在url后 请求url长度有限制的 不太安全 Post 请求参数在请求体中 请求的url长度没有限制的 相对安全 请求头:客户端被浏览器告诉服务器一些信息 请求头名称:请求头值 常见的请求头: User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息 可以在服务器端获取盖头的信息,解决浏览器的兼容性问题 Referer:http://localhost/login.html 告诉服务器,我(当前请求)从哪里来?: 作用: 防盗链 统计工作 请求空行 空行 请求体/正文 封装POST请求消息的请求参数的 字符串格式: POST/login.html HTTP/1.1 Host: localhost Request: Request对象和response对象的原理 Request和response对象是由服务器创建的.我们来使用它们 Request对象是来获取请求消息,response对象是来设置响应消息 Request对象继承体系结构: ServletRequest -- 接口 继承 HttpServletRequest -- 接口 实现 Org.apache.catalina.connector.RequestFacade类(tomcat) Request:获取请求消息 获取请求消息数据 获取请求行数据 GET/day14/demo1?name=zhangsanHTTP/1.1 方法 获取请求方式:GET StringgetMethod() 获取虚拟目录day14 StringgetContextPath(); 获取Servlet路径 /demo1 StringgetServletPath() 获取get方式请求参数: name= zhangsan StringgetQueryString(); (*)获取请求URL /day14/demo1 StringgetRequestURI() /day14/demo1 StringBuffergetRequestURL() http://localhost/day14/d3emo1 URI:统一资源标识符 : /day14/demo1 共和国 获取协议及版本HTTP/1.1 StringgetProtocol() 获取客户端的ip地址 StringgetRemoteAddr()
|