概述
一、Request 和 Response
- 一般 request用于获取用户的请求的数据。
- response用户返回用户数据。
参考博客
具体应用 https://blog.csdn.net/a859522265/article/details/7259115https://blog.csdn.net/jcx5083761/article/details/9340209
方法总览https://juejin.im/post/5c1604225188256d0e5ad120
2.From : 获取用户输入的表单信息。
二、response 使用实例
1. 向用户发送数据
建议使用过滤器filter实现对Servlet的统一编码,防止乱码
1.返回字节
//1.返回字节
//以下代码会查找本机的编码进行发送(GBK)
String date1 = "你好世界";
ServletOutputStream outputStream = resp.getOutputStream();
outputStream.write(date1.getBytes());
2.使用writer返回字符
//2.使用writer返回字符
resp.getWriter().write("你好世界");
2. 返回下载文件
//2.1 返回下载文件
//(1)设置下载文件头(最关键的一步)
resp.setHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode("妹子图"+new Random().nextInt(10000), "UTF-8"));
//(2)使用IO知识完成文件返回相应
//(2.1)准备输入流,读取图片
String absolutePath = "C:\Users\25301\Pictures\壁纸\高清后coffeeGirl.jpg";
int length = 0;
byte[] bytes = new byte[1024 * 100];
FileInputStream inputStream = new FileInputStream(absolutePath);
//(2.2)准备相应输出流,给客户相应图片
ServletOutputStream outputStream1 = resp.getOutputStream();
//(2.3)读取图片并相应回去
while ((length =inputStream.read(bytes))!=-1){
outputStream1.write(bytes,0,length);
}
inputStream.close();
outputStream.close();
System.out.println("图片传输成功");
3.随机生成验证码
查看博客.随机生成验证码
4. 控制刷新时间
url是跳转链接,如果是原链接就可以实现刷新的功能
//response.setHeader("Refresh", "5;URL=/day05/default.html");//5秒后跳转,url是跳转的链接
response.getOutputStream().write("<meta http-equiv="Refresh" content="3;URL=/day05/login.html">".getBytes());
5. 控制用户的缓存时间
//response.setHeader("Expires", (System.currentTimeMillis()+24*3600*10*1000)+"");//缓存10天
response.setDateHeader("Expires",System.currentTimeMillis()+10*24*1000*60*60);
6. response重定向
(1)图解
(2) 特点
地址栏会变(区别于转发)
(3) 使用方式
- response.setHeader(“location”,“url”);
response.setHeader("location","url");
7.调用了获取 OutputStream 流和 Writer流只能选一个
不然报错,这2个会冲突。
二、request 使用实例
1. get方法获取客户端的信息。
可以获取
- 协议
- 请求的地址
- 对方的主机IP
- 对方的主机名称
- 对方的请求方式
- 对方的参数,比如说编码类似可用于设置返回的编码
- 获取服务器的地址
- 服务器的端口号
请求头和请求体里面的所有信息
2. request请求转发
(1)图解
(2)特点
因为是服务端直接实现了转发,所以地址栏不会变,
(3)使用方法
req.getRequestDispatcher("index.jsp").forward(req,resp);
最后
以上就是紧张保温杯为你收集整理的(重点)JavaWeb(入门篇21)Request 和 Response 详解的全部内容,希望文章能够帮你解决(重点)JavaWeb(入门篇21)Request 和 Response 详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复