request和response

Posted wzhsc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了request和response相关的知识,希望对你有一定的参考价值。

request:请求:处理请求相关
response:响应:处理响应相关

什么是请求:浏览器,访问服务器,
什么是响应:服务器,反馈浏览器

request:域对象(一次请求)
getParameter():获取单个数据(input框)
getParameterValues();获取多个数据(checkedbox)
getParameterMap():获取所有的参数
key:name值
value:name对应的value值

获取请求头信息:request.getHeader("");
获取请求方式:request.getMethod();
获取项目路径:getContextPath();

//请求转发:
request.getRequestDispatcher("/hello.html").forward(request,response );
地址栏不变,页面发生跳转
如果发生了请求转发,还是一次请求

路径相关;
内部路径;直接写资源
相对:./ ../
绝对:
带主机和协议的路径(访问站外资源)
不带主机和协议的路径(最常用的)
/项目名/资源路径

response对象:
响应码(状态码):
200: 成功
404:访问的资源不存在
500:服务器代码有问题
304:读缓存
302:重定向

常用方法:
//设置编码
response.setContentType("text/html;charset=utf-8");
//回写数据
response.getWriter().print("我已收到请求!!!");

getOutputStream():获取字节流

注意:两个流是互斥的 不能同时存在
自己写的:字符流
其他所有:字节流

sendRedirect():重定向 页面发生跳转
地址栏要发生改变,两次请求

请求转发和重定向的区别:
1、重定向2次请求,请求转发1次请求
2、重定向地址栏变化,请求转发地址栏不变
3、重定向转发通过浏览器,请求转发通过服务器内部
4、重定向可以访问站外资源(除开当前服务器以外),请求转发不能访问站外资源

setHeader(); 设置响应头
addHeader();添加响应头,如果有就覆盖 ,没有就添加

响应头:
location:配合状态码 实现重定向
refresh:刷新
cookie:小饼干
Content-Disposition:下载相关

//重定向
方式一:
sendRedirect():
方式二:
response.setStatus(302);
response.setHeader("location", "/myServlet6");

//定时刷新
response.setHeader("refresh", "3;url=http://www.baidu.com");












































































以上是关于request和response的主要内容,如果未能解决你的问题,请参考以下文章

Python之requests库

OkHttp 常用

OKHttp

android okhttp的使用

okhttp使用

OkHttp源码解析