当前位置: 首页 > news >正文

在线购物网站建设流程2024年阳性什么症状

在线购物网站建设流程,2024年阳性什么症状,淘宝网站建设模板免费下载,做网站 如何 挣钱🍎道阻且长,行则将至。🍓 本文是javaweb的第三篇,介绍了Request请求转发与Response响应。 上一篇:JavaWeb《二》Servlet、Request请求 下一篇:敬请期待 目录一、Request请求转发🍏二、Response对…
🍎道阻且长,行则将至。🍓

本文是javaweb的第三篇,介绍了Request请求转发与Response响应。
上一篇:JavaWeb《二》Servlet、Request请求
下一篇:敬请期待


目录

  • 一、Request请求转发🍏
  • 二、Response对象🍓
    • 1.响应数据
    • 2.Respones请求重定向
    • 3.响应字符数据
    • 4.响应字节数据


一、Request请求转发🍏

请求转发(forward)是一种在服务器内部的资源跳转方式。例如浏览器发送请求给服务器,服务器中对应的资源A接收到请求,A处理完请求后将请求发给资源B,B处理完后将结果响应给浏览器,这个过程就是请求转发。
在这里插入图片描述

  • 实现方式:
    req.getRequestDispatcher(“资源B路径”).forward(req,resp);
    继续上一篇的,我们创建两个servlet,req1req2,在第一个里面请求转发到第二个;只需要在doGet里面添加request.getRequestDispatcher("/req2").forward(request,response);

  • 转发数据
    请求转发资源间共享数据:使用Request对象。
    request对象提供的三个方法:
    1.存储数据到request域[范围,数据是存储在request对象]中
    void setAttribute(String name,Object o);
    2.根据key获取值
    Object getAttribute(String name);
    3.根据key删除该键值对
    void removeAttribute(String name);

继续上面代码添加:

//req1
request.setAttribute("msg","hello");
//请求转发
request.getRequestDispatcher("/req2").forward(request,response);
//req2
//获取数据
Object msg = request.getAttribute("msg");
System.out.println(msg);

二、Response对象🍓

Request:使用request对象来获取请求数据
Response:使用response对象来设置响应数据
我们
在上一篇中把内容返回到网页上就是一个响应。

1.响应数据

HTTP响应数据总共分为三部分内容,分别是响应行、响应头、响应体,对于这三部分内容的数据,respone对象都提供了一些方法来进行设置:

  • 响应行
    例如一个响应行:HTTP/1.1 200 OK,第一个是协议和版本,第二个是状态响应码,第三是状态码描述。通常是要设置状态响应码:void setStatus(int sc);
  • 响应头
    Content-Type: text/html,响应头是一个键值对,设置:void setHeader(String name,String value);
  • 响应体
    响应体是通过字符、字节输出流的方式往浏览器写,
    获取字符输出流:PrintWriter getWriter();
    获取字节输出流:ServletOutputStream getOutputStream();

2.Respones请求重定向

Response重定向(redirect):一种资源跳转方式。
在这里插入图片描述
浏览器接收到响应状态码为302就会重新发送请求到location对应的访问地址去访问资源B

  • 重定向的实现方式:
    给浏览器响应一个302的状态码+location的一个访问资源B的路径
resp.setStatus(302);
resp.setHeader("location","资源B的访问路径");

重定向浏览器地址栏路径会变化,因为进行重定向访问的时候,是浏览器发送两次请求。因此可以使用服务器外部资源。
而上一节的请求转发不会发生地址栏路径变化,其是服务内部操作。

3.响应字符数据

我们可以在浏览器上显示一些字符,也可以显示带html标签的类型。

  • 返回一个简单的字符串aaa
response.setContentType("text/html;charset=utf-8");
//1. 获取字符输出流
PrintWriter writer = response.getWriter();
writer.write("aaa");
  • 返回一串html字符串,并且能被浏览器解析
PrintWriter writer = response.getWriter();
//content-type,告诉浏览器返回的数据类型是HTML类型数据,这样浏览器才会解析HTML标签
response.setHeader("content-type","text/html");
writer.write("<h1>aaa</h1>");

4.响应字节数据

  • 将字节数据(图片等)写到浏览器,需要两个步骤:
  1. 通过Response对象获取字节输出流:ServletOutputStream outputStream = resp.getOutputStream();
  2. 通过字节输出流写数据: outputStream.write(字节数据);

实现:

//1. 读取文件
FileInputStream fis = new FileInputStream("d://a.jpg");
//2. 获取response字节输出流
ServletOutputStream os = response.getOutputStream();
//3. 完成流的copy
byte[] buff = new byte[1024];
int len = 0;
while ((len = fis.read(buff))!= -1){os.write(buff,0,len);
}
fis.close();
  • 也可以使用别人提供好的方法来简化代码:
  1. pom.xml添加依赖
<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version>
</dependency>
  1. 调用工具类方法
//fis:输入流   os:输出流
IOUtils.copy(fis,os);

实现:

//1. 读取文件
FileInputStream fis = new FileInputStream("d://a.jpg");
//2. 获取response字节输出流
ServletOutputStream os = response.getOutputStream();
//3. 完成流的copy
IOUtils.copy(fis,os);
fis.close();
快来试一试吧!

☕物有本末,事有终始,知所先后。🍭

🍎☝☝☝☝☝我的CSDN☝☝☝☝☝☝🍓

http://www.qdjiajiao.com/news/9538.html

相关文章:

  • 怎样做网站导航界面凤凰网台湾资讯
  • 怎么免费做网站教程搜索引擎费用
  • 购物网站开发中遇到的问题上海seo网站推广公司
  • 广州电子商务网站建设优化大师是干什么的
  • 天津做一个简单的网站品牌的宣传及推广
  • 哪有那样的网站seo课程培训课程
  • 利用万网做网站智慧营销系统平台
  • 俄文网站seo常用的工具
  • 牛b插网站建设seo关键词推广方式
  • 做网站的公司经营范围福州网站seo优化公司
  • 定制网站设计高端网站建设拓客app下载
  • 做的网站图片模糊企业网站设计优化公司
  • 网站建设公司郑州如何自己创建网站
  • 参考文献 教学网站建设头条搜索站长平台
  • 北京做网站youyi51怎样在百度上推广
  • 自己做网站怎么推广近两年成功的网络营销案例
  • 通辽做网站建设网站排名优化培训电话
  • 网站接入地seo的基础优化
  • 厦门建设局公维金网站关键词挖掘工具站
  • 药企做网站需要哪些手续如何在百度搜索排名靠前
  • 四川省乐山市建设银行网站百度指数使用方法
  • 有没有做废品的网站媒体资源网官网
  • 猎头公司怎么找客户九江seo
  • 官方网站建设有限公司广州专业网络推广公司
  • 成都网站建设scyiyou网站建设技术解决方案
  • 临海网站设计百度seo工具
  • 网站想做个链接怎么做的精准客户信息一条多少钱
  • 公司做两个网站有影响吗网络营销属于哪个专业
  • 做电力的系统集成公司网站外贸营销型网站建设公司
  • 响应式网站 图片尺寸奇数免费涨粉工具