请求和响应、会话及其会话技术

目录

请求和响应

1、HttpServletResponse对象

(1)、(状态码)setStatus(int status)方法

(2)、(状态码)sendError(in sc)方法

(3)、(响应消息体)getOutputStream()方法

(4)、(响应消息体)getWriter()方法

2、HttpServeltRequest对象

(1)、(请求行)XXXXX

(2)、(请求消息头)XXXXX

会话及其会话技术

1、Cookie对象

(1)、Cookie构造方法

(2)、Cookie类的常用方法(略)

 


 

 


请求和响应

请求和响应、会话及其会话技术_第1张图片

浏览器发送请求消息给服务器,然后服务器返回响应消息,没有请求不会有响应,有请求一定会有响应。

状态码    状态码2

1、HttpServletResponse对象

响应消息分为状态行、响应消息头、响应消息体

(1)、(状态码)setStatus(int status)方法

设置响应消息的状态码,并生成状态行,正常情况下web服务器默认生成状态码为200的状态行

(2)、(状态码)sendError(in sc)方法

发送错误消息的状态码比如404,可以通过重载方法,在发送状态码外增加一条提示性的文本

public void sendError(int code, String message)throws java.io.IOException

 (响应消息头)XXXXX

请求和响应、会话及其会话技术_第2张图片

(3)、(响应消息体)getOutputStream()方法

用于输出二进制格式的响应内容

(4)、(响应消息体)getWriter()方法

用于输出内容为字符文本的网页文档

getOutputStream()方法和getWriter()方法不能同时使用

2、HttpServeltRequest对象

请求消息包括请求行、请求消息头、请求消息体

(1)、(请求行)XXXXX

请求行包括请求方法、请求资源名、请求路径

请求和响应、会话及其会话技术_第3张图片

(2)、(请求消息头)XXXXX

向服务器传递附加消息,客户端可以接受的数据类型、压缩方式、语言等

请求和响应、会话及其会话技术_第4张图片

 

会话及其会话技术

一个用户在某网站上的整个购物过程就是一个会话,可以认为为我们的一系列网上行为在计算机方面就可以理解为会话,书上说在web开发中,服务器追踪用户信息的技术称为会话技术。

由于Request对象只保存本次请求的数据,但是我们购物过程会发生多次请求,提交购物清单是一个请求,结账是一个请求,两个请求无法结合,当你发送结账请求的时候,查询不到你的购物清单信息。

ServletContext对象保存了所有用户的数据,因为一个web应用共享的是一个对象,所以结账请求会把所以用户的购物清单都结算在一起,无法区分哪些商品属于那些用户,所以为了保存会话技术中产生的数据,提供了两个用于保存会话数据的对象Cookie对象和Session对象

1、Cookie对象

请求和响应、会话及其会话技术_第5张图片

用户第一次访问服务器的时候,服务器会在响应消息中增加一个Set-Cookie头字段,将用户信息以Cookie的形式发送给浏览器,用户浏览器要是接受服务器发出的Cookie消息,就会将它保存在浏览器的缓存区,当我们再次访问整个浏览器的时候,请求消息会直接将用户消息以cookie的形式发送给服务器,举个例子:我们首次登陆网站后,会提示是否保存信息,我们选择保存信息就是接受服务器发出的Cookie消息,它会将我们的登陆信息保存在浏览器的缓存区,我们再次登陆的时候不需要再次输入信息了,因为客户端已将我们保存的登陆信息以cookie的形式发送给服务器。

 

javax.servlet.http.Cookie类包含了生成Cookie信息和提取cookie信息各个属性的方法,

(1)、Cookie构造方法

有且仅有一个构造方法,name指Cookie的名称,value指Cookie的值,名称不能修改,但是值可以修改

public Cookie(java.lang.String name,java.lang.String value)

(2)、Cookie类的常用方法(略)

 SetMaxAge(int expiry)和getMaxAge()方法

用于设置和返回Cookie在浏览器上保持有效的秒数

设置的值为正整数:将Cookie信息保存在本地硬盘中,在没有超过指定时间内,同一台计算机上的浏览器都可以用该Cookie信息

设置的值为负整数:将Cookie信息保存在缓存中,浏览器关闭,信息会被删除

设置的值为0时:浏览器会立即删除这个Cookie信息

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Javaweb)