目录

一、Response设置响应数据功能介绍

二、Response完成重定向

三、路径问题


一、Response设置响应数据功能介绍

响应数据分为3部分:

1、响应行:HTTP/1.1 200 OK

void set Status(int sc):设置响应状态码

2、响应头:Content-Type:text/html

void setHeater(String name,String value):设置响应头键值对

3、响应体:<html><head></head><body></body></html>

PrintWriter getWriter():获取字符输出流

ServletOutputStream getOutputStream():获取字节输出流

二、Response完成重定向

重定向(Redirect):一种资源跳转方式

实现方式:

resp.setStatus(302);

resp.setHeader("location","资源B的路径");

代码示例:

ResponseDemo1重定向到ResponseDemo2:

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;@WebServlet("/resp1")
public class ResponseDemo1 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("demo1...");//重定向//1、设置响应状态码 302response.setStatus(302);//2、设置响应头 Locationresponse.setHeader("Location","/Tomcate-demo2/resp2");
;}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}
}

ResponseDemo2:

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/resp2")
public class ResponseDemo2 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("demo2...");}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}
}

运行结果:

访问resp1重定向到resp2的URL:

控制台:

也可用简化方式完成重定向,内部资源和外部资源均可的一种方式:

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;@WebServlet("/resp1")
public class ResponseDemo1 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("demo1...");//简化方式完成重定向,内部资源和外部资源均可//动态获取虚拟目录String contextPath = request.getContextPath();response.sendRedirect(contextPath + "/resp2");
//        response.sendRedirect("https://www.baidu.cn");}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}
}

执行结果根上面相似,重定向外部资源的时候会跳转到相应的重定向网址。

重定向特点:

1、浏览器地址栏路径发生变化

2、可以重定向到任意位置的资源(服务器内部、外部均可)

3、两次请求,不能在多个资源使用request共享数据

三、路径问题

浏览器使用:需要假虚拟目录(项目访问路径)

服务端使用:不需要加虚拟目录

<a href = "路径"> 加虚拟目录

<form action = "路径"> 加虚拟目录

req.getRequestDispatcher("路径") 不加虚拟目录

resp.sedRedirect("路径") 加虚拟目

Response设置响应数据功能介绍及重定向相关推荐

  1. Response设置响应数据、Response完成重定向(对比 forword)、路径问题、Response响应字符数据、Response响应字节数据

    文章目录 Response Response 设置响应数据功能介绍 Response 完成重定向 与请求转发(forword)对比 路径问题 Response 响应字符数据 Response 响应字节 ...

  2. Response设置响应数据,重定向,目录问题,字节流,字符流

    响应数据分为3部分: 1:响应行  HTTP/1.1 200  OK void  setStatus(int sc)  设置响应状态码 2响应头  Content-type :text/html vo ...

  3. response设置响应头

    通过response设置响应行 设置响应行的状态码 setStatus(int sc) package com.learn.line;import java.io.IOException; impor ...

  4. odoo13 订单模板设置_Odoo + Anodoo功能介绍13-SaaS公司如何定义在线销售的订阅产品...

    原标题:Odoo + Anodoo功能介绍13-SaaS公司如何定义在线销售的订阅产品 SaaS公司通过CRM销售自己的订阅产品时,首先需要在系统中维护好产品定义,这样才能实现在线营销和销售,在线分析 ...

  5. Yii设置响应数据的样式与内容

    1.默认简单的 Yii::$app->response->content = 'hello world!'; 2.设置内容与样式规定的 如果在发送给终端用户之前需要格式化,应设置 form ...

  6. 屏幕效果设置中CABC功能介绍

    shaorj 于 2014-7-1 16:13 发表在 [趣味杂谈] [复制链接] [只看楼主] [打印] [上一主题] [下一主题] CABC技术使手机背光省电技术,目前有两种实现方案,分别是:环境 ...

  7. typora插入代码设置_Typora基本功能介绍

    Typora是什么? 提起Typora,如果是使用过Markdown的人,应该就不太陌生,Typora 是一款支持实时预览的 Markdown 文本编辑器.它有 OS X.Windows.Linux ...

  8. VS中自用插件的设置的翻译或功能介绍系列

    本系列为了留存自用的部分插件的设置或功能介绍,以便后续想要更改某些设置或忘记某些特性时方便查找和回看. 本文不定期更新和增删. VS2017字体和颜色设置 自用的字体和颜色设置 PowerMode 敲 ...

  9. Fiddler抓包使用教程-基本功能介绍

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72932886 本文出自[赵彦军的博客] Fiddler 基本页面 会话列表功能介绍 ...

最新文章

  1. 【操作】鼠标hover效果——元素凸起并产生阴影
  2. xctf secret galaxy_三星SMARTTHINGS FIND正式发布 可帮助轻松查找GALAXY设备
  3. shader weaver_具有自定义汇编程序,Weaver和运行时的可插拔知识
  4. centOS 6 和centOS 7 防火墙指令
  5. python为什么是蟒蛇_Python 为什么推荐蛇形命名法?
  6. MYSQL-创建事件
  7. Android Studio support 26.0.0-alpha1 Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法
  8. 一个草根站长的创业故事之选择
  9. 【性能优化实战】日语java开发相关词汇
  10. 平安人寿御享福,新噪点新优势
  11. 基于轮廓系数来选择n_clusters(Kmeans聚类分析)
  12. 网吧用计算机性能配件清单,如何查看网吧电脑配置清单图文教程
  13. 1500个字给你讲透什么是分账系统
  14. 英语语法回顾3——名词和名词性从句
  15. 厉害了我的琴!钢琴教育竟然用上了AI+云计算?
  16. linux之mmc子系统
  17. web期末作业设计网页——_传统节日--端午节(9页)主题节日网页
  18. scalac: Token not found: /Users/shengquan.nian/Library/Caches/JetBrains/IntelliJIdea2021.1/compile-s
  19. 服务器错误500-内部服务器错误。您查找的资源存在问题,因而无法显示。
  20. firefox移动版实现自由安装插件的方法,tampermonkey统统都能安装。

热门文章

  1. android studio中的文本替换
  2. C++继承以及菱形继承
  3. git pull 时一直卡在Unpacking objects【待解决】
  4. Python黑马程序员学习路线
  5. 微信开发之使用java获取签名signature
  6. 学网页平面UI设计让你挑战高薪
  7. 解决虚拟机打不开Ubuntu的问题:
  8. linux 系统安全以及应用
  9. kafka设置起止时间消费消息
  10. 了解品牌名称 TM (™) 和 R(®) 符号之间的区别至关重要