使用Servlet处理HTTP响应

HTTP状态码:

100-199:表示信息性代码,标志客户端应采取其他动作,请求正在进行;

200-299:表示客户请求成功;

300-399:表示用于已经移走的资源文件,指示新的地址;

400-499:表示由客户端引发的错误;

500-599:表示由服务器端引发的错误

 

设置状态码:

HttpServletResponse中的sendError(int 状态码,”状态描述”)

在消息体发送之前(即使用PrintWriter向客户端放送消息之前)设置状态码

 

设置响应头:

HttpServletResponse(接口)中的setHeader(“键”,”值”),键值对要遵循HTTP协议才有效

SetHeader()只针对HTTP协议,因为只有HTTP协议才会有响应头,所以是HttpServletResponse独有的方法

 

设置消息体:HttpServletResponse有两种方式

---传输普通文本 getWriter()打印字符流

---传输二进制内容 getOutputStream()打印字节流

重定向的工作流程:

客户端请求服务器,服务器调用response.sendRedirect()方法,重定向到新的资源。产生响应时,会发送响应码302,同时产生location响应头。客户端浏览器在接收到响应信息后,发现是302状态码,会读取location响应头的信息,然后根据location响应头的内容,再向服务器发出第二次请求

 

GET/POST对比

1,流格式的区别:

Get方式只有请求行,请求头,空行。在URL后面附加表单数据。

POST方式有请求行,请求头,空行,消息体。在消息体中描述表单数据

2.用途的区别:

GET方式主要用于资源的查找

POST方式主要用于数据传输

3.传输性能的区别:

   Get方式不能传输大数据,只能传输文本数据,表单数据会显示在地址栏,不安全。

POST方式可以传输文本数据和二进制数据,并可以传输大数据,表单数据在消息体中,地址栏不会显示,相对安全

特征

GET方法

POST方法

提交数据类型

文本

文本,二进制

提交数据长度

不超过255个字符

没有限制

提交数据可见性

作为URL地址的一部分显示在浏览器上

作为请求的消息体,不可见

提交数据缓存

缓存在浏览器URL历史状态中

    不会被浏览器缓存

 

使用GET的情况:

用户在网页上点击一个超链接;

用户提交在网页上填写好的表单;

用户在浏览器地址栏中输入URL地址并回车

---默认情况下都是使用HTTP协议的GET方法提交请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值