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

news2024/11/17 13:21:22

一、HttpServletResponse

HttpServletResponse表示一个HTTP响应

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

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

1.1 HttpServletResponse核心方法

在这里插入图片描述

1.2 方法演示

@WebServlet("/status")
public class StatusServlet extends HttpServlet {
    @Override
    protected 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{
    @Override
    protected 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 GMT

time=1700030769011

1.4 通过header实现自动重定向

@WebServlet("/redirect")
public class RedirectServlet extends HelloServlet{
    @Override
    protected 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.coloradmin.cn/o/1211352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024CFA一级二级三级双机构网课资源

复习流程 我自己的复习流程是这样的,按照这个踏实去复习的话100%可以过: 第一轮学习(30-40天左右):把所有reading学习一遍,每天上午看新的reading,下午复习前一天上午学习的reading…

如何准备2024年的系统设计面试?

1 前言 如果你正在准备软件工程师或软件开发人员的面试,那么你可能知道由于其开放性质和广泛性,准备系统设计是多么困难,但同时你也不能忽略它。在软件工程界,如果你正在申请高级工程师/主管/架构师或更高级别的角色,系统设计是最受追捧的技能,也是整个过程中最重要的环节之一…

记一次线上问题引发的对 Mysql 锁机制分析 | 京东物流技术团队

背景 最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败 整体业务代码精简逻辑如下: Transaction p…

算法通关村——数组中第K大的数字

数组中第K大的数字 1、题目描述 ​ LeetCode215. 数组中的第K个最大元素。给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。 示例1: 输入&#…

五、nacos安装指南

Nacos安装指南 1.Windows安装 开发阶段采用单机安装即可。 1.1.下载安装包 在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: GitHub主页:https://github.com/alibaba/nacos GitHub的Release下载…

【Web 实战】记一次攻防实战

经典开局一个登录框 由于漏洞应该还未修复。对于数据和相关网址打个码见谅一下 常规思路(爆破) 常规操作进行一波 尝试弱口令然后开始爆破 对于此种有验证码的爆破,可以借用一个bp插件。 captcha-killer-modified-jdk14.jar 具体使用我就…

centos8 执行yum install ntpdate命令,报错未找到匹配的参数: ntpdate

1、执行 yum install ntpdate 报错 上次元数据过期检查:1:17:06 前,执行于 2023年11月15日 星期三 10时32分18秒。 未找到匹配的参数: ntpdate 错误:没有任何匹配: ntpdate 报错截图: 2、CentOS8系统中,原有的时间…

GPT 5也要来了?看看​OpenAI CEO Sam Altman最近的采访

OpenAI CEO Sam Altman 在接受金融时报采访中,透露了更多OpenAI的计划:他们正在寻求从微软获得更多资金支持,以构建真正的通用人工智能(AGI)。同时还透露了关于GPT 5的一些信息和公司AGI愿景目标!他认为&am…

使用order by 排序后的是10 6 7 8 9 而不是 6 7 8 9 10?

问题 sql order by 排序后的为什么 是10 6 7 8 9 而不是 6 7 8 9 10? 思路 在 SQL 中,ORDER BY 默认的排序方式是升序(从小到大)。所以,如果您简单地使用 ORDER BY 对某个列进行排序,它会将数字按照升序排列&#…

物流接单APP源码 货运APP源码 拉货搬家app源码 货运小程序uniapp+thinkphp

拉货搬家大货车货运物流运输货拉拉货跑腿司机接单物流货运 技术栈 : 后端php7.0版本 框架 thinkphp mysq5.6 前端 uniapp 用户列表 用户分组 实名认证 驾驶证认证 车主认证 搬家拉货 优惠营销 微信管理 评论管理

【仿真】ruckig在线轨迹生成器示例

该场景说明了使用 CoppeliaSim 中提供的 Ruckig 在线轨迹生成功能的各种方法: 1. 在线程脚本内使用单个阻塞函数(红色) 2. 在线程脚本中使用多个非阻塞函数(黄色) 3. 在非线程脚本中使用多个非阻塞函数(…

url找不到404的问题,url被拼接

今天遇到一个测试feign调用的功能,如图所示 先说结论 Controller换成RestController 将日志设置为debug模式 被DispatcherServlet FORWARD了 找到路径 对属性设置断点,看下是哪注进来的 我们再去找encodedPath 此处是undertow的源码,但是und…

实验室EM3电磁铁

锦正茂EM3电磁铁,可以通过更换电磁铁极头在一定范围内改善磁场的大小和磁场的均匀度 ,并且可以通过调整极头间距改变磁场的大小。主要用于磁滞现象研究、磁化系数测量、霍尔效应研究、磁光实验、磁场退火、核磁共振、电子顺磁共振、生物学研究、磁性测量…

ERP和MES对接都有什么方式

万界星空科技MES生产管理系统的应用比较广,在和ERP连接时,必须先掌握什么模块是和MES业务流程有关的。 通过详细介绍ERP和MES对接方式的不同特点、应用场景和操作方法,可帮助企业更好地实现信息集成,提升生产效率和质量&#xff…

excel中用NORM.INV函数计算正态累积分布的逆

NORM.INV函数返回正态累积分布的逆。它的形式为NORM.INV(probability,mean,standard_dev)。 正态累积分布函数和正态概率密度函数互为逆。 参数说明: probability:对应正态分布的累积分布值。例如该值等于0.9,表示累积概率之和是0.9Mean&am…

舞台演出控制软件:QLab Pro

QLab Pro是一款功能强大的现场多媒体控制器软件,专为Mac用户设计。它提供了一个直观简洁的用户界面,使得用户能轻松管理和组织所有的媒体资源。QLab Pro支持导入各种音频和视频文件,并具备强大的音频、视频处理和灯光控制功能,可以…

JAVA 中集合取交集

日常工作 经常需要取两个数据集的交集。对常用的List 和Set集合做了一个测试 public static void main(String[] args) {List<Integer> list1 Lists.newArrayList();List<Integer> list2 Lists.newArrayList();Set<Integer> set3 Sets.newHashSet();Set&l…

自定义windows右键菜单,软件卸载后 右键菜单残留 打开方式残留 解决方法

问题&#xff1a; 更改windows右键菜单软件卸载残留&#xff0c;其仍然出现在文件的打开方式列表&#xff0c;右键菜单中。 解决方法1&#xff1a;推荐使用registry workshop批量搜索删除注册表 绿色版&#xff1a; 蓝奏云&#xff1a;https://wwzd.lanzouw.com/iPJNp1em339…

简易搜索引擎SEWeibo

背景 有一组微博事件数据&#xff0c;之前做了一些数据分析与挖掘的工作。想着用C做一个简单的搜索引擎玩玩。 亮点&#xff1a; 搜索支持关系关键字作为搜索条件&#xff0c;以文本情感极性作为初筛条件&#xff0c;以TF-IDF为搜索排序依据以Reactor模式为基础&#xff0c;…

win10关闭讲述人、粘滞键功能的快捷键启动

简单记录下在win10关闭讲述人、粘滞键快速启动的快捷键&#xff0c;这两个功能对正常人没什么用。误触发很烦。 禁用讲述人 按windows键&#xff0c;输入“轻松使用设置”&#xff0c;点“讲述人”&#xff0c;如下图取消讲述人开关和快捷键的勾选。 禁用粘滞键 按windows…