【JavaEE】Servlet API 详解(HttpServletResponse类方法演示、实现自动刷新、实现自动重定向)

一、HttpServletResponse

HttpServletResponse表示一个HTTP响应

Servlet 中的 doXXX 方法的目的就是根据请求计算得到相应, 然后把响应的数据设置到 HttpServletResponse 对象中

然后 Tomcat 就会把这个 HttpServletResponse 对象按照 HTTP 协议的格式, 转成一个字符串, 并通过 Socket 写回给浏览器

1.1 HttpServletResponse核心方法

在这里插入图片描述

1.2 方法演示

@WebServlet("/status")
public class StatusServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setStatus(404);resp.setContentType("text/heml;charset=utf-8");resp.getWriter().write("返回404");}
}

在这里插入图片描述
使用Fiddler抓包得到的响应:

HTTP/1.1 404
Content-Type: text/heml;charset=utf-8
Content-Length: 9
Date: Wed, 15 Nov 2023 06:36:28 GMT返回404

1.3 通过header实现自动刷新

HTTP响应中设置Refresh:时间

@WebServlet("/refresh")
public class RefreshServlet extends HelloServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 每隔 1s 自动刷新一次.resp.setHeader("Refresh", "1");resp.getWriter().write("time=" + System.currentTimeMillis());}
}

在这里插入图片描述
响应:

HTTP/1.1 200
Refresh: 1
Content-Length: 18
Date: Wed, 15 Nov 2023 06:46:09 GMTtime=1700030769011

1.4 通过header实现自动重定向

@WebServlet("/redirect")
public class RedirectServlet extends HelloServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 用户访问这个路径的时候, 自动重定向到 搜狗主页 .resp.sendRedirect("https://www.sogou.com");}
}

在这里插入图片描述

HTTP/1.1 302
Location: https://www.sogou.com
Content-Length: 0
Date: Wed, 15 Nov 2023 06:54:19 GMT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/177826.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 语句、标识符、变量

语句 JavaScript程序的单位是行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句 var num 10; 语句以分号结尾,一个分号就表示一个语句结束。 标识符 标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名标识符…

微信昵称后面的“小耳朵”是干什么用的?

微信,一款我们日常使用频繁的社交软件,它的功能远不止于聊天、刷朋友圈、支付和刷视频。其实,微信的许多不常用功能可以解决我们的实际问题。 聊天时,我发现朋友微信昵称后面多了一个神秘的小耳朵图标,引发了我的好奇心…

按键精灵中的字符串常用的场景

在使用按键精灵编写脚本时,与字符串有关的场景有以下几种: 1. 用时间字符串记录脚本使用截止使用时间 Dim localTime "2023-11-12 00:15:14" Dim networkTime GetNetworkTime() TracePrint networkTime If networkTime > localTime The…

关系选择器

关系选择器&#xff0c;说明元素和元素之间需要存在关系了。 后代选择器 定义&#xff1a;选择所有被E元素包含的F元素&#xff0c;中间用空格隔开 语法&#xff1a;E F{ } 选择E元素下面所有的F元素 <ul><li>宝马</li><li>奔驰</li> </u…

Git的基本操作以及原理介绍

文章目录 基本操作创建git仓库配置name和email .git目录的结构git add & git commit.git目录结构的变化 git追踪管理的数据git的版本回退回退的原理回退的三种情况 版本库中文件的删除git分支管理分支的删除合并分支时的冲突分支的合并模式分支策略git stash不要在master分…

ARM 基础学习记录 / ARM 裸机编程

汇编程序调用 C 程序详情 在 C 程序和 ARM 汇编程序之间相互调用时必须遵守 ATPCS 规则&#xff0c;其是基于 ARM 指令集和 THUMB 指令集过程调用的规范&#xff0c;规定了调用函数如何传递参数&#xff0c;被调用函数如何获取参数&#xff0c;以何种方式传递函数返回值。 寄存…

Shadows实时阴影原理

文章目录 一、Shadows Mapping1.第一个Pass&#xff1a;从光源Light射出方向出发&#xff0c;记录到达像素&#xff08;片元&#xff09;最浅的距离2.第二个Pass:从眼睛&#xff08;摄像头&#xff09;看向方向出发&#xff0c;渲染场景得到像素&#xff08;片元&#xff09;&a…

【广州华锐互动】地震防灾减灾科普3D虚拟展厅:向公众普及地震安全知识

在面对自然灾害时&#xff0c;我们都需要有足够的知识和准备来保护自己和他人。这就是为什么地震安全知识的普及如此重要。然而&#xff0c;传统的教育方法可能无法满足所有人的需求&#xff0c;特别是在这个数字化的时代。为了解决这个问题&#xff0c;广州华锐互动制作开发了…

人工智能基础_机器学习035_多项式回归升维实战2_使用sklearn的PolynomialFeatures进行升维---人工智能工作笔记0075

我们再来做一个升维处理,这里我们不再自己去对数据进行比如,相乘操作,来给数据手动添加维度了, 这里我们用sklearn库提供的PolynomialFeatures来自动对数据进行升维. from sklearn.linear_model import LinearRegression # PolynowlalFeatures,多项式升维处理 from sklearn.…

音画欣赏|《纯洁的梦乡》

《纯洁的梦乡》 80x60cm 陈可之2021年绘 题龙阳县青草湖 【元】唐温如 西风吹老洞庭波&#xff0c;一夜湘君白发多。 醉后不知天在水&#xff0c;满船清梦压星河。 车遥遥篇 【宋】范成大 车遥遥&#xff0c;马憧憧。 君游东山东复东&#xff0c;安得奋飞逐西风。 愿我如星…

notpad++正则化,利用关键字符删除整行

首先&#xff0c;ctrlf,选中[替换]&#xff0c;勾选正则表达式&#xff08;可以勾选[匹配大小写]&#xff0c;不用勾选[匹配新行]&#xff09;。在[查找目标]框输入[^(.*)"car_no_clean"(.*)$\n]。在$后加上\n&#xff0c;可以将被替换的行直接删除&#xff0c;不加则…

如何做好测试用例设计

1、测试用例设计 1.1、确定测试范围 1、必须有完整的需求文档 2、需求已经组织评审和澄清 3、必须有完整的功能列表 1.2、用例设计原则 1、遵循“边界值”全覆盖原则 2、遵循”等价类划分场景“全覆盖原则 3、遵循”测试用例路径唯一“原则 当出现多个路径时&#xff0c;需要新…