servlet+Http
Servlet:server applet
1.概念:运行在服务器端的小程序。
*servlet就是一个接口,定义了Java类被服务器访问到(tomcat识别)的规则。
*我们定义一个类,实现servlet接口,复写其方法。
2.步骤:
1.创建Java EE项目
2.定义一个类,实现Servlet接口
3.实现接口中的抽象方法
4.配置Servlet
3.执行原理:
1.当服务器接收到客户端浏览器的请求后,会解析请求url路径,获取访问的servlet的资源路径。
2.查找web.xml文件,查看是否有其路径
3.tomcat会将字节码文件加载到内存,并且创建其对象
4.调用具体的方法
4.生命周期:
1.被创建:执行init方法,只执行一次,可改变执行顺序(修改web.xml文件)
2.提供服务:执行service方法,执行多次
3.被销毁:执行destroy方法,执行一次
5.servlet注解
@WebServlet()在类前写 括号中写资源路径
String name() default "";
String[] value() default {};
String[] urlPatterns() default {};
int loadOnStartup() default -1;
WebInitParam[] initParams() default {};
boolean asyncSupported() default false;
String smallIcon() default "";
String largeIcon() default "";
String description() default "";
String displayName() default "";
Http:
1.概念:Hyper Text Transfer Protocol 超文本传输协议
*传输协议:定义了,客户端和服务器端通信时,发送数据的格式
*特点:
1.基于TCP/IP的高级协议
2.默认端口号:80
3.基于请求/响应模型的:一次请求对应一次响应
4.无状态的:每次请求之间相互独立,不能交互数据
*历史版本:
*1.0:每一次请求响应都会建立新的连接
*1.1:复用连接
2.请求消息数据格式
1.请求行
请求方式 请求url 请求协议/版本
GET /login.html HTTP/1.1
* 请求方式:
* HTTP协议有7中请求方式,常用的有2种
* GET:
1. 请求参数在请求行中,在url后。
2. 请求的url长度有限制的
3. 不太安全
*POST:
1. 请求参数在请求体中
2. 请求的url长度没有限制的
3. 相对安全
2.请求头:客户端浏览器告诉服务器一些信息
请求头名称: 请求头值
* 常见的请求头:
1. User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息
* 可以在服务器端获取该头的信息,解决浏览器的兼容性问题
2. Referer:http://localhost/login.html
* 告诉服务器,我(当前请求)从哪里来?
* 作用:
1. 防盗链:
2. 统计工作:
3.请求空行
空行,就是用于分割POST请求的请求头,和请求体的。
4.请求体(正文):
* 封装POST请求消息的请求参数的