Servlet开发-通过代码案例熟悉HttpServletRequest类

关于Servlet开发的流程推荐看servlet开发-通过Tomcat部署一个简单的webapp

Servlet开发与idea集成的插件安装推荐看idea集成tomcat(Smart Tomcate插件安装)

postman(第三方创建HTTP请求工具)的安装推荐看创建HTTP请求的几种方式

         HttpServletRequest类是Servlet开发常用的类之一

        HttpServletRequest类的方法:

代码及其注释

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;
import java.util.Enumeration;/*** Created with IntelliJ IDEA.* Description:* User: wuyulin* Date: 2023-09-22* Time: 12:19*/
//通过HttpServletRequest中的方法去获取并打印HTTP请求的信息
@WebServlet("/request")
public class HttpServletRequestExercise extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//由于要通过br来对返回给用户的数据换行,所以http响应数据报的类型应该是html类型,要显式设置一下resp.setContentType("text/html");//用StringBuilder对象来拼接Http请求的内容StringBuilder http_rep=new StringBuilder();//Http请求的请求头部分//拼接Http请求的方法http_rep.append(req.getMethod()+" ");//拼接Http请求的URIhttp_rep.append(req.getRequestURI());//拼接Http请求的URI的ContextPath部分http_rep.append(req.getContextPath());//拼接Http请求的URL中的查询字符串http_rep.append("?"+req.getQueryString());//拼接Http请求的版本号http_rep.append(req.getProtocol()+"<br>");//Http请求的Header部分//Header中就是一些键值对,大多数是统一规定的,少部分是程序员自己定义的//先获取到Header中所有的key值,放到一个枚举中Enumeration<String> header_key= req.getHeaderNames();//遍历枚举中的key值//判断枚举中是否还有元素,有的话就取出来,没有的话就停止循环while (header_key.hasMoreElements()){String key=header_key.nextElement();http_rep.append(key+"="+req.getHeader(key)+"<br>");}//把http_rep字符串中的数据传到resp响应对象中(传到了http响应报文的body中)resp.getWriter().write(http_rep.toString());}
}

        写好代码部署好webapp后,我们便可以通过postman工具向部署好的webapp发起一个请求,就能得到如下的效果

        我们可以看到,通过HttpServletRequest类中的方法得到了HTTP请求的信息

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

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

相关文章

LEO天线,全球市场总体规模,头部前八大厂商排名及市场份额

LEO天线全球市场总体规模 据QYResearch调研团队最新报告“全球LEO天线市场报告2023-2029”显示&#xff0c;预计2029年全球LEO天线市场规模将达到3545.3百万美元&#xff0c;未来几年年复合增长率CAGR为29.6%。 主要驱动因素: 近年来&#xff0c;全球航天工业的投资激增&#…

Archlinux Timeshift的系统备份与还原

服务器在滚挂或误删系统文件,timeshift系统备份与还原的情景: 安装 timeshif 1 yay -s timeshif 备份设置 选择快照类型 此处选择【RSYNC】 选择储存位置 每台设备安装分区不一样,大家安装实际情况选择,一般选择比较大的空间存储,并且最好是机械,这样不容易损坏 设置计…

PHP开发框架及特点

PHP有许多开发框架&#xff0c;每个框架都有其独特的特点和用途。以下是一些常见的PHP开发框架以及它们的特点&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.Laravel Laravel是一个流行的PHP框架…

前沿研究|16s+宏基因组binning揭示大型藻类附生微生物群落核心组成

发表期刊&#xff1a;Microbiome 发表时间&#xff1a;2023 影响因子&#xff1a;15.5 DOI: 10.1186/s40168-023-01559-1 研究背景 大型藻类附生微生物群落是新型酶类和化合物的丰富资源&#xff0c;在维持沿海系统的高生物生产力和生物多样性方面发挥着重要的作用。但迄今…

【kylin】【ubuntu】搭建本地源

文章目录 一、制作一个本地源仓库制作ubuntu本地仓库制作kylin本地源 二、制作内网源服务器ubuntu系统kylin系统 三、使用内网源ubuntukylin 一、制作一个本地源仓库 制作ubuntu本地仓库 首先需要构建一个本地仓库&#xff0c;用来存放软件包 mkdir -p /path/to/localname/pac…

HTTP 协商缓存 Last-Modified,If-Modified-Since

浏览器第一次跟服务器请求一个资源&#xff0c;服务器在返回这个资源的同时&#xff0c;在respone header加上Last-Modified属性&#xff08;表示这个资源在服务器上的最后修改时间&#xff09;&#xff1a; ----------------------------------------------------------------…

太实用了! 20分钟彻底理解【Pointpillars论文】,妥妥的!

PointPillars: Fast Encoders for Object Detection from Point Clouds PointPillars&#xff1a;快就对了 摘要&#xff08;可跳过&#xff09;&#xff1a; 这帮人提出了PointPillars&#xff0c;一种新颖的编码器&#xff0c;它利用PointNets来学习以垂直列组织的点云&am…

【WSN】无线传感器网络模拟器研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码实现 &#x1f4a5;1 概述 我们进行了一项关于无线传感器网络&#xff08;WSN&#xff09;模拟器的研究&#xff0c;旨在提供更好的协议应用和实时更新的能力。 首先&am…

华为---STP协议简介(一)

生成树协议简介 什么是生成树协议 STP&#xff08;Spanning Tree Protocol&#xff09;是一种由交换机运行的、用来解决交换网络中环路问题的数据链路层协议。为提高网络可靠性&#xff0c;交换网络中通常会使用冗余链路&#xff0c;但是冗余链路会给交换网络带来环路风险&…

网工内推 | H3C售前工程师,上市公司,13薪,有带薪年假、年终奖

01 长虹佳华 招聘岗位&#xff1a;高级售前工程师&#xff08;H3C&#xff09; 职责描述&#xff1a; 1. 负责公司签约代理的网络安全产品在区域的项目售前技术支持工作&#xff0c;包括项目售前交流、方案编写、招投标、产品测试等相关支持工作&#xff1b; 2. 与厂商产品部门…

nodejs在pdf中绘制表格

需求 之前我已经了解过如何在pdf模板中填写字段了 nodejs根据pdf模板填入中文数据并生成新的pdf文件https://blog.csdn.net/ArmadaDK/article/details/132456324 但是当我具体使用的时候&#xff0c;我发现我的模板里面有表格&#xff0c;表格的长度是不固定的&#xff0c;所…

Python入门自学进阶-Web框架——42、Web框架了解-bottle、flask

WEB框架的三大组件&#xff1a;路由系统、控制器&#xff08;含模板渲染&#xff09;、数据库操作 微型框架&#xff1a;依赖第三方写的socket&#xff0c;WSGI&#xff0c; 本身功能少 安装&#xff1a; pip install bottle pip install flask 安装flask&#xff0c;同时安…

conan入门(二十七):因profile [env]字段废弃导致的boost/1.81.0 在aarch64-linux-gnu下交叉编译失败

今天在尝试用conan 1.60.0使用aarch64-linux-gnu编译器交叉编译boost/1.81.0时报错了&#xff1a; conan install boost/1.81.0 -pr:h aarch64-linux-gnu.jinja -pr:b default --build boost输出如下&#xff1a; Configuration (profile_host): [settings] archarmv8 arch_b…

SQL做流水号

SELECT REPLICATE(0, 3 - LEN(3)) 3 AS 流水号 SELECT REPLICATE(0, 5 - LEN(3)) 3 AS 流水号 SELECT REPLICATE(0, 8 - LEN(3)) 3 AS 流水号

Java中String转换为double类型

这次的java作业是写一个数字转换的小项目&#xff0c;其中从输入框中获取的是String类型&#xff0c;但是要进行数字操作&#xff0c;此时要用到很多操作String类型数据的方法了。 从javafx输入框中获取到String类型后&#xff0c;首先是要判断是否能转换为数字或者小数形式&a…

实验三十三、三端稳压器 LM7805 稳压性能的研究

一、题目 LM7805 输出电压、电压调整率、电流调整率以及输出纹波电压的研究。 二、仿真电路 电路如图1所示。集成稳压芯片采用 LM7805CT。 三、仿真内容 &#xff08;1&#xff09;测量图1&#xff08;a&#xff09;LM7805CT 的电压调整率&#xff0c;测量条件为 I O 50…

嵌入式Linux应用开发-基础知识-第十七章异常与中断的概念及处理流程

嵌入式Linux应用开发-基础知识-第十七章异常与中断的概念及处理流程 第十七章 异常与中断的概念及处理流程17.1 中断的引入17.1.1 妈妈怎么知道孩子醒了17.1.2 嵌入系统中也有类似的情况 17.2 中断的处理流程17.3 异常向量表17.4 参考资料 第十七章 异常与中断的概念及处理流程…

【C语言】快速排序

文章目录 一、hoare版本二、挖坑法三、前后指针法四、非递归快排五、快速排序优化1、三数取中选key值2、小区间优化 六、代码测试 一、hoare版本 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff0c;其基本思想为&#xff1a;任取待排序元素序列中的某元素…

今天刷到一条有用的抖音---网站文档copy的解禁

有的时候在网上查找一些资料&#xff0c;发现些有用的东西的时候&#xff0c;兴高采烈的复制一下&#xff0c;然后网站弹出一个菜单让你付钱~~如下图&#xff1a; 此时&#xff0c;可以在该网页上&#xff0c;按F12&#xff0c;召唤出调试窗口&#xff0c;在事件监听器中&#…

美国零售电商平台Target,值得入驻吗?如何入驻?

Target 是美国最大的零售商之一&#xff0c;在品牌出海为大势所趋的背景下&#xff0c;它在北美电商中的地位节节攀升。Target 商店在众多垂直领域提供各种价格实惠的自有品牌&#xff0c;吸引越来越多的跨境商家入驻&#xff0c;如美妆、家居、鞋服、日用百货等&#xff0c;随…