课程信息
● 学习课程:Java工程师2022版
● 章节名称:Servlet进阶-WEB请求与响应解析
● 讲师:八戒猪
课程内容
1、HTTP请求的结构
请求行:请求行,请求URL, HTTP协议及版本
请求头:键值对(大部分浏览器自动生成的)
请求体:键值对数据
2、利用请求开发多端应用
User-Agent 提供当前系统的版本信息
判断User-Agent里面的内容是windows还是iphone等型号返回不同的数据
中文字符乱码问题
response.setContentType(“text/html;charset=utf-8”);
3、响应的结构
HTTP响应
响应行:报文协议及版本,状态码及状态描述
响应头:键值对
响应体:数据部分
常见转态码
200服务器处理成功 404无法找到资源 500内部服务器错误
403服务器拒绝访问 400无效的请求 401未经过授权
503服务器超负载或正停机维护,无法处理请求
4、ContentType的作用决定浏览器采用何种方式对响应体进行处理
text/plain 纯文本 text/html HTML文档 text/xml XML文档
application/x-msdownload需要下载的资源
image/jpeg image/gif image/… 图片资源
5、请求转发与响应重定向
多个Servlet之间跳转有两种方式
request.getRequestDispatcher("/index").forward(req,res) 请求转发
作用在request对象上,地址栏不变,只产生一个请求,返回响应为最后一个
response.sendRedirect("/index")-响应重定向
作用在响应对象上,地址栏变化,会产生多个请求,重定向的servlet需要重写doGet方法。
请求转发作用于紧密联系,密不可分的场景,订单与库存
响应重定向两个关系不是那么紧密的,可跳转第三方地址
设置自定义属性 request.setAttribute(属性名,属性值) 适合请求转发
学习收获
学习了请求与响应的结构体内容含义,请求参数,常见状态响应码的含义,对于ContentType的作用决定浏览器采用何种方式对响应体进行处理,还有对于请求转发和重定向的区别和使用场景