我是靠谱客的博主 紧张保温杯,这篇文章主要介绍(重点)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
2
3
4
5
6
//1.返回字节 //以下代码会查找本机的编码进行发送(GBK) String date1 = "你好世界"; ServletOutputStream outputStream = resp.getOutputStream(); outputStream.write(date1.getBytes());

2.使用writer返回字符

复制代码
1
2
3
//2.使用writer返回字符 resp.getWriter().write("你好世界");

2. 返回下载文件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//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是跳转链接,如果是原链接就可以实现刷新的功能

复制代码
1
2
3
//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. 控制用户的缓存时间

复制代码
1
2
3
//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”);
复制代码
1
2
response.setHeader("location","url");

7.调用了获取 OutputStream 流和 Writer流只能选一个

不然报错,这2个会冲突。

二、request 使用实例

1. get方法获取客户端的信息。

可以获取

  • 协议
  • 请求的地址
  • 对方的主机IP
  • 对方的主机名称
  • 对方的请求方式
  • 对方的参数,比如说编码类似可用于设置返回的编码
  • 获取服务器的地址
  • 服务器的端口号

请求头和请求体里面的所有信息

2. request请求转发

(1)图解

在这里插入图片描述
(2)特点

因为是服务端直接实现了转发,所以地址栏不会变,

(3)使用方法

复制代码
1
2
3
req.getRequestDispatcher("index.jsp").forward(req,resp);

最后

以上就是紧张保温杯最近收集整理的关于(重点)JavaWeb(入门篇21)Request 和 Response 详解的全部内容,更多相关(重点)JavaWeb(入门篇21)Request内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部