一、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
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
2response.setHeader("location","url");
7.调用了获取 OutputStream 流和 Writer流只能选一个
不然报错,这2个会冲突。
二、request 使用实例
1. get方法获取客户端的信息。
可以获取
- 协议
- 请求的地址
- 对方的主机IP
- 对方的主机名称
- 对方的请求方式
- 对方的参数,比如说编码类似可用于设置返回的编码
- 获取服务器的地址
- 服务器的端口号
请求头和请求体里面的所有信息
2. request请求转发
(1)图解
(2)特点
因为是服务端直接实现了转发,所以地址栏不会变,
(3)使用方法
复制代码
1
2
3req.getRequestDispatcher("index.jsp").forward(req,resp);
最后
以上就是紧张保温杯最近收集整理的关于(重点)JavaWeb(入门篇21)Request 和 Response 详解的全部内容,更多相关(重点)JavaWeb(入门篇21)Request内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复