Http协议

请求:客户端根据用户地址信息将数据发送给服务器的过程

  响应:服务器将请求的处理结果发送给浏览器的过程

  http协议规范浏览器和服务器的数据交互的格式

  使用键值对精准传输数据

  Content-type控制数据格式

  无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开连接。采用这种方式节省传输时间。

  无状态:http 协议是无状态协议。对事物处理没有记忆能力。缺少状态意味着如果需要处理后续信息,需要重连接

  GET和POST区别

  GET请求数据会把数据显示在url输入框中,所以限制get的数据长度不是http协议,而是输入栏长度

  第一次调用Serlvet时,就会被tomcat加载到内存中,直到下次服务器重启。客户端发起请求时,调用servlet类,tomcat服务器就会去相应的url位置寻找servlet.class

  生命周期--从第一次执行到,服务器关闭

  客户端每发送一次请求,服务器端会创建一个request对象用于存储请求数据(请求头 请求行 请求数据)

request对象学习

​ 作用:request对象封存了当前请求的所有信息

使用:

​ 获取请求头数据

​ 获取请求行数据

​ 获取用户数据

​ request对象由tomcat服务器创建,并由作为实参传递给请求的servlet的service方法

Response用来响应一个对象

request对象可以在不同的servlet中流转

解决了一次请求内的不同Servlet的数据共享问题

作用域:基于请求转发,一次请求中的所有Servlet共享

注意:使用Request对象进行数据流转,数据只在一次请求内有效

特点:服务器创建

每次请求都会创建

Cookie学习

cookie用于保存用数据

临时存储:存储在浏览器的内存中,浏览器关闭,cookie清除

定时存储:设置Cookie的有效期在硬盘中存储

Cookie c=new Cookie(“”);

同一个用户的多个请求-->数据共享使用session

Session学习

问题:

​ 一个用户的不同请求处理 的数据共享怎么办?

原理:

​ 用户第一次访问服务器,服务器会创建一个session对象给此用户,并将该session对象的JSESSIONID使用cookie技术存储到浏览器中,用户的其他请求可以获取同一个session对象 ,从而确保了获取到的是同一个session对象;session使用的cookie的标识符是临时的。·

使用:

​ 创建Session对象/获取Session对象


HttpSession hs=req.getSession();

​ 如果请求中拥有session的标识符也就是JSESSIONID,则返回对应的session队形。

​ 如果请求中没有session的标识符,则创建新的session对象,并将JSESSIONID存储在cookie中

Servletcontext学习

问题

​ 解决不同用户共享数据

特点

​ 服务器创建

​ 用户共享

生命周期

​ 从服务器启动到关闭

使用

​ 获取ServletContext对象

​ 使用ServletContext对象完成数据共享

Code

//第一种方式

ServletContext sc=this.getServletContext ();

​ //第二种方式

ServletContext sc=this.getServletConfig().getServletContext ();

​ //第三种

ServletContext sc=req.getSession().getServletContext();

 

原文地址:https://www.cnblogs.com/alex-gc/p/11801137.html