我是靠谱客的博主 紧张保温杯,最近开发中收集的这篇文章主要介绍(重点)JavaWeb(入门篇21)Request 和 Response 详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、Request 和 Response

  • 一般 request用于获取用户的请求的数据。
  • response用户返回用户数据。

参考博客
具体应用 https://blog.csdn.net/a859522265/article/details/7259115

https://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 详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部